java – 使用FOP生成SVG不起作用

在一台服务器上,在我的Windows笔记本电脑上,使用此方法生成PDF工作正常:

http://www.databasesandlife.com/svg-to-pdf/

但在另一台服务器上我收到此错误:

org.apache.batik.transcoder.TranscoderException: Error while setting up PDFDocumentGraphics2D
Enclosed Exception:
Error while setting up fonts
    at org.apache.fop.svg.PDFTranscoder.transcode(PDFTranscoder.java:189)
    at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(Unknown Source)
    at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(Unknown Source)
    at org.apache.batik.apps.rasterizer.SVGConverter.transcode(Unknown Source)
    at org.apache.batik.apps.rasterizer.SVGConverter.execute(Unknown Source)

我一直在谷歌搜索并搜索了几个小时,但无济于事.我能做什么?

我尝试安装以下软件包,但它们没有帮助:

sudo apt-get install gsfonts gsfonts-x11 gsfonts-other batik \
    libbatik-java libxmlgraphics-commons-java  \
    libxmlgraphics-commons-java fop sun-java6-fonts

我的情况是:

> Debian 6.0.3
> Sun Java版“1.6.0_26”
> JARs:avalon-framework-4.2.0.jar batik-all-1.7.jar commons-io-1.3.1.jar commons-logging-1.0.4.jar fop-0.95.jar log4j-1.2.15.jar xml -apis-ext.jar xmlgraphics-commons-1.3.1.jar

解决方法:

真诚地,从Debian软件包中在jetty结构中创建这样的临时文件并不是一个好主意.如果有更新,您可能会遇到麻烦.这样的缓存目录应该位于/ var中,例如/ var / tmp.

根据documentation,FOP应该在发生故障时使用临时目录.可能你的发现值得一个错误报告.

在修复之前,您应该设置cache-file option使用use-cache禁用缓存是另一种方式,但可能会影响性能.

上一篇:vue cli3 的一些不同导致router显示的问题


下一篇:如何使用蜡染获取SVG图像的图像大小(宽度/高度)