On 9/8/2012 5:22 PM, Müller, Wolfgang wrote:
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
<mailto: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-unsubscr...@xmlgraphics.apache.org
<mailto:fop-users-unsubscr...@xmlgraphics.apache.org>
For additional commands, e-mail:
fop-users-h...@xmlgraphics.apache.org
<mailto:fop-users-h...@xmlgraphics.apache.org>
Hi, Wolfgang-
If FOP is building the font cache, I believe you should see a file named
fop-fonts.cache in the home directory.
-Terence Bandoian
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org