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>
>
>

Reply via email to