我尝试使用FOP创建包含图像内容的PDF文件。我尝试了很多版本的蜡染库,但我总是收到下面的堆栈跟踪。图像src看起来类似于:" data:image / jpeg; base64,DATA" (DATA是Base64编码的图像内容)。
代码如下所示:
Document xslDoc = getConverterXsl();
FopFactory fopFactory = null;
fopFactory = FopFactory.newInstance();
FOUserAgent foUserAgent = fopFactory.newFOUserAgent();
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, pdfOutputStream);
Result res = new SAXResult(fop.getDefaultHandler());
doXslTransform(xslDoc, fopDoc, res);
请帮助我。
祝你好运, 罗兰
java.lang.NoSuchMethodError:org.apache.batik.dom.svg.SAXSVGDocumentFactory.createSVGDocument(Ljava / lang / String; Ljava / io / InputStream;)Lorg / w3c / dom / svg / SVGDocument; 在org.apache.fop.image.loader.batik.PreloaderSVG $ Loader.getImage(PreloaderSVG.java:127) 在org.apache.fop.image.loader.batik.PreloaderSVG $ Loader.access $ 200(PreloaderSVG.java:106) 在org.apache.fop.image.loader.batik.PreloaderSVG.preloadImage(PreloaderSVG.java:74) at org.apache.xmlgraphics.image.loader.ImageManager.preloadImage(ImageManager.java:175) at org.apache.xmlgraphics.image.loader.cache.ImageCache.needImageInfo(ImageCache.java:128) at org.apache.xmlgraphics.image.loader.ImageManager.getImageInfo(ImageManager.java:122) 在org.apache.fop.fo.flow.ExternalGraphic.bind(ExternalGraphic.java:81) 在org.apache.fop.fo.FObj.processNode(FObj.java:124) 在org.apache.fop.fo.FOTreeBuilder $ MainFOHandler.startElement(FOTreeBuilder.java:280) 在org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:175) at com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.closeStartTag(Unknown Source) at com.sun.org.apache.xml.internal.serializer.ToSAXHandler.flushPending(Unknown Source) at com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.endElement(Unknown Source) at com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.endElement(Unknown Source) 在Converter.template $ dot $ 1() 在Converter.applyTemplates() 在Converter.template $ dot $ 0() 在Converter.applyTemplates() 在Converter.applyTemplates() 在Converter.transform() 在......
答案 0 :(得分:0)
我下载了蜡染库的源代码和所有引用的jar.Finally它使用上面相同的代码生成PDF格式的图像。这似乎是JAR文件中的冲突。