fo: проблема с внешней графикой

Я пытаюсь создать файл PDF с содержимым изображения, используя FOP. Я пробовал много версий библиотек батика, но всегда получаю трассировку стека ниже. Источник изображения выглядит примерно так: «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) по адресу org.apache.xmlgraphics.image.loader.ImageManager.preloadImage(ImageManager.java:175) по адресу org.apache. xmlgraphics.image.loader.cache.ImageCache.needImageInfo(ImageCache.java:128) в 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) в com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.closeStartTag(неизвестный источник) в com.sun.org.apache. xml.internal.serializer.ToS AXHandler.flushPending(неизвестный источник) в com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.endElement(неизвестный источник) в com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.endElement(неизвестный источник ) в Converter.template$dot$1() в Converter.applyTemplates() в Converter.template$dot$0() в Converter.applyTemplates() в Converter.applyTemplates() в Converter.transform() в ...


person mlorika    schedule 13.05.2014    source источник


Ответы (1)


Я загрузил исходный код библиотеки батик и все ссылки на jar. Наконец, он сгенерировал изображения в формате PDF с тем же кодом, что и выше. Кажется, это был конфликт в файлах JAR.

person mlorika    schedule 13.05.2014