Dear Sergiu, dear Terence, I am running grails in my home, so that is unfortunately not the problem. I tried to set the home, which did not have any impact :-(.
I am running the following code with log level trace for all classes org and all classes com println "----START SHOWING JAVA-VISIBLE FONTS" def l = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts(); for(def i:l){ println "FONT ${i}"; } println "----START RUNNING TEST TRANSCODER" InputStream ins= new java.io.ByteArrayInputStream(svg.getBytes()); TranscoderInput transcoderInput = new TranscoderInput(ins); TranscoderOutput transcoderOutput = new TranscoderOutput(new ByteArrayOutputStream());// yes, i throw away the PDF transcoder.transcode(transcoderInput,transcoderOutput); println "----FINISH RUNNING TEST TRANSCODER" The output I get is: ----START SHOWING JAVA-VISIBLE FONTS FONT java.awt.Font[family=Serif,name=Serif,style=plain,size=1] FONT java.awt.Font[family=SansSerif,name=SansSerif,style=plain,size=1] [and much much more lines like that, effectively all my installed fonts] then ----START RUNNING TEST TRANSCODER 2012-09-09 00:12:22,386 [pool-5-thread-1] TRACE pdf.PDFObject - Assigning org.apache.fop.pdf.PDFPages@5196d617 object number 1 2012-09-09 00:12:22,388 [pool-5-thread-1] TRACE pdf.PDFObject - Assigning org.apache.fop.pdf.PDFRoot@40462f41 object number 2 2012-09-09 00:12:22,389 [pool-5-thread-1] TRACE pdf.PDFObject - Assigning org.apache.fop.pdf.PDFResources@4f1e7ad object number 3 2012-09-09 00:12:22,390 [pool-5-thread-1] TRACE pdf.PDFObject - Assigning org.apache.fop.pdf.PDFInfo@70f99830 object number 4 2012-09-09 00:12:22,413 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.fop.image.loader.batik.PreloaderWMF with priority 1000 2012-09-09 00:12:22,413 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.fop.image.loader.batik.PreloaderSVG with priority 1000 2012-09-09 00:12:22,413 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.PreloaderTIFF with priority 1000 2012-09-09 00:12:22,413 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.PreloaderGIF with priority 1000 2012-09-09 00:12:22,413 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.PreloaderJPEG with priority 1000 2012-09-09 00:12:22,413 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.PreloaderBMP with priority 1000 2012-09-09 00:12:22,413 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.PreloaderEMF with priority 1000 2012-09-09 00:12:22,414 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.PreloaderEPS with priority 1000 2012-09-09 00:12:22,414 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.imageio.PreloaderImageIO with priority 2000 2012-09-09 00:12:22,419 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.fop.image.loader.batik.ImageLoaderFactorySVG: MIME = image/svg+xml, Flavor = text/xml;DOM;namespace=http://www.w3.org/2000/svg 2012-09-09 00:12:22,419 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.fop.image.loader.batik.ImageLoaderFactoryWMF: MIME = image/x-wmf, Flavor = WMFRecordStore 2012-09-09 00:12:22,428 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/jpeg, Flavor = RenderedImage 2012-09-09 00:12:22,428 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/jpeg, Flavor = BufferedImage 2012-09-09 00:12:22,428 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/png, Flavor = RenderedImage 2012-09-09 00:12:22,428 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/png, Flavor = BufferedImage 2012-09-09 00:12:22,428 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/x-png, Flavor = RenderedImage 2012-09-09 00:12:22,428 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/x-png, Flavor = BufferedImage 2012-09-09 00:12:22,428 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/vnd.wap.wbmp, Flavor = RenderedImage 2012-09-09 00:12:22,428 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/vnd.wap.wbmp, Flavor = BufferedImage 2012-09-09 00:12:22,429 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/bmp, Flavor = RenderedImage 2012-09-09 00:12:22,429 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/bmp, Flavor = BufferedImage 2012-09-09 00:12:22,429 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/gif, Flavor = RenderedImage 2012-09-09 00:12:22,429 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderFactoryImageIO: MIME = image/gif, Flavor = BufferedImage 2012-09-09 00:12:22,429 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/png, Flavor = image/png;Raw 2012-09-09 00:12:22,429 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/jpeg, Flavor = image/jpeg;Raw 2012-09-09 00:12:22,429 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/tiff, Flavor = image/tiff;Raw 2012-09-09 00:12:22,429 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRaw: MIME = image/x-emf, Flavor = image/x-emf;Raw 2012-09-09 00:12:22,429 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryRawCCITTFax: MIME = image/tiff, Flavor = RawCCITTFax 2012-09-09 00:12:22,429 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryEPS: MIME = application/postscript, Flavor = application/postscript;Raw 2012-09-09 00:12:22,429 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryInternalTIFF: MIME = image/tiff, Flavor = RenderedImage 2012-09-09 00:12:22,429 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered org.apache.xmlgraphics.image.loader.impl.ImageLoaderFactoryPNG: MIME = image/png, Flavor = RenderedImage 2012-09-09 00:12:22,433 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered: org.apache.fop.image.loader.batik.ImageConverterSVG2G2D 2012-09-09 00:12:22,433 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered: org.apache.fop.image.loader.batik.ImageConverterG2D2SVG 2012-09-09 00:12:22,433 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered: org.apache.fop.image.loader.batik.ImageConverterWMF2G2D 2012-09-09 00:12:22,433 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterBuffered2Rendered 2012-09-09 00:12:22,433 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterG2D2Bitmap 2012-09-09 00:12:22,433 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterBitmap2G2D 2012-09-09 00:12:22,433 [pool-5-thread-1] DEBUG spi.ImageImplRegistry - Registered: org.apache.xmlgraphics.image.loader.impl.ImageConverterRendered2PNG 2012-09-09 00:12:22,448 [pool-5-thread-1] DEBUG fonts.DefaultFontConfigurator - Starting font configuration... 2012-09-09 00:12:22,449 [pool-5-thread-1] DEBUG fonts.DefaultFontConfigurator - Finished font configuration in 1ms 2012-09-09 00:12:22,472 [pool-5-thread-1] DEBUG fonts.FontInfo - Registering: any,normal,400 under F5 2012-09-09 00:12:22,472 [pool-5-thread-1] DEBUG fonts.FontInfo - Registering: any,italic,400 under F6 2012-09-09 00:12:22,472 [pool-5-thread-1] DEBUG fonts.FontInfo - Registering: any,oblique,400 under F6 2012-09-09 00:12:22,472 [pool-5-thread-1] DEBUG fonts.FontInfo - Registering: any,normal,700 under F7 2012-09-09 00:12:22,472 [pool-5-thread-1] DEBUG fonts.FontInfo - Registering: any,italic,700 under F8 [...] These are the PDF default fonts, AFAICS. In any case I am noting that I do not see any cache building in the trace log. Any more suggestions? Many thanks for your help so far :-) Cheers, Wolfgang On Sat, Sep 8, 2012 at 5:42 PM, Terence M. Bandoian <tere...@tmbsw.com>wrote: > On 9/8/2012 9:08 AM, Sergiu Dumitriu wrote: > >> On 09/08/2012 04:10 AM, Müller, Wolfgang wrote: >> >>> Hi all, >>> I want to generate some PDF from SVG via fop/batik from inside a web >>> application. I am using the Grails framework, BTW. Grails runs its >>> webapps inside a tomcat. >>> >>> Exec summary: Something works as a script, does not work in the tomcat, >>> need idea where things could go wrong. PDF gets generated both times, >>> but no custom fonts when using webapp. >>> >>> Long version: I took some of the sample code, wrote a small Groovy >>> script that creates a transformer (no, i.e. default configuration), >>> feeds it with the proper input/output streams and creates the output. >>> Fonts are correct in the file generated. I also get plenty of output >>> that shows that fop is configuring its fonts from the fonts on my >>> machine. Great stuff. >>> >>> It also generates a .fop directory in my home and puts font caches in >>> there. >>> >>> Great. >>> >>> Webapp: Now, for testing, I put a subset of the code into the >>> bootstrapping code of the webapp. It creates a transcoder and >>> transcodes an example svg string. It does a default font configuration, >>> but completely ignores the fonts on my machine and also does not create >>> anywhere a .fop directory. >>> >> >> Depending on how your tomcat is configured, one problem that I've >> encountered in the past is that on some Linux distributions Tomcat runs as >> the "tomcat" user, and that user doesn't have a home folder where it can >> write. FOP tries to create a .fop directory in the home folder of the >> current user, and since that's not possible, it fails to register fonts. >> >> Just to check if this is what's happening in your case, you could >> configure tomcat to run as the root user. However, for security reasons >> don't just leave it running as root, switch back to the tomcat user and try >> configure a writable home directory for it. >> >> Another possible cause is that you didn't specify an absolute path to the >> custom fonts, and FOP looks for them starting from a different directory. >> >> From the documentation I did not really understand what happens. Also >>> setting log level to trace does not help. >>> >>> Any suggestions? I would also be thankful for points of documentation >>> where I could learn more. I thought "fontconfig" would be the place, but >>> I don't see my problem represented there. >>> >>> Cheers, >>> Wolfgang >>> >> >> >> > Hi, Wolfgang- > > You might also try defining user.home as a system property of the Tomcat > JVM (e.g. -Duser.home=c:\fop) and checking to ensure the Tomcat user has > write access to that directory. > > -Terence Bandoian > > > > ------------------------------**------------------------------**--------- > To unsubscribe, e-mail: > fop-users-unsubscribe@**xmlgraphics.apache.org<fop-users-unsubscr...@xmlgraphics.apache.org> > For additional commands, e-mail: > fop-users-help@xmlgraphics.**apache.org<fop-users-h...@xmlgraphics.apache.org> > >