I'm trying to create PDF file with image content using FOP. I tried many version of batik libraries, but I always receive the stacktrace below. The image src looks similar to this: "data:image/jpeg;base64, DATA" (DATA is the Base64 encoded image content).
The code looks like this:
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);
Please, help me.
Best regards, Lorand
java.lang.NoSuchMethodError: org.apache.batik.dom.svg.SAXSVGDocumentFactory.createSVGDocument(Ljava/lang/String;Ljava/io/InputStream;)Lorg/w3c/dom/svg/SVGDocument; at org.apache.fop.image.loader.batik.PreloaderSVG$Loader.getImage(PreloaderSVG.java:127) at org.apache.fop.image.loader.batik.PreloaderSVG$Loader.access$200(PreloaderSVG.java:106) at 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) at org.apache.fop.fo.flow.ExternalGraphic.bind(ExternalGraphic.java:81) at org.apache.fop.fo.FObj.processNode(FObj.java:124) at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:280) at 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) at Converter.template$dot$1() at Converter.applyTemplates() at Converter.template$dot$0() at Converter.applyTemplates() at Converter.applyTemplates() at Converter.transform() at ...