2014-11-13 5 views
0

Я пытаюсь создать PDF-файлы из XML-данных. Я использую Apache FOP 1.1 для Java в Windows. Приложение отлично работает в Eclipse, но когда я пытаюсь запустить его из экспортированных изображений .jar, они не помещаются в PDF-файл. Я попытался запустить его в cdm, чтобы просмотреть журнал выполнения. Вот исключение:No imagePreloader found - XML ​​to PDF using FOP

GRAVE: Image not available. URI: out/iberdrola.png. Reason: org.apache.xmlgraphics. 
    image.loader.ImageException: The file format is not supported. No ImagePreloader 
    found for out/iberdrola.png (No context info available) org.apache.xmlgraphics. 
    image.loader.ImageException: The file format is not supported. 
    No ImagePreloader found for out/iberdrola.png 
at org.apache.xmlgraphics.image.loader.ImageManager.preloadImage(ImageManager.java:180) 

Я объяснить, что даже если это исключение, программа работает до конца и PDF визуализируется, но без изображения.

Я попытался по-разному решить проблему, но не успел. Большая часть информации, которую я искал, касается сервлетов, но я не программирую сервлета. Кстати, здесь я даю вам два разных решения, которые работали с некоторыми другими. Они связаны, но я понимаю, что процедура отличается. Я не знаю, как их попробовать, может ли кто-нибудь объяснить мне это лучше? Даже если они объясняются, должен быть какой-то шаг, который мне не хватает.

http://apache-fop.1065347.n5.nabble.com/FOP-1-0-images-fail-to-render-td7348.html

Apache FOP in a Java Applet - No ImagePreloader found for data

Я также открыта для любого другого решения этой проблемы.

Спасибо за консультацию! Имейте хороший код!

ответ

0

Я, наконец, вышел с решением. Я не знаю точно, какие из двух шагов я сделал, это тот, который все решил, но вот он.

Во-первых, я сменил библиотеки проекта. Я понял, что fop_1.1.jar, который я использовал, не был официальным, предоставленным Apache. Поэтому я пошел на официальный сайт, и я загрузил двоичную версию. Я добавил в свой путь сборки библиотеку fop и остальные зависимые библиотеки в папке «lib».

Затем я увеличил версию компиляции Java. Я использовал версию 1.4, и многие из используемых библиотек требовали 1.5 или выше. Так как я понял, что большинство компьютеров в настоящее время используют 1.7 или выше, я установил его в 1.7.

Я не могу сказать вам, какое из двух решений совершило это чудо, но для дальнейших проектов я проверю до этого, что я использую правильные библиотеки и что я должен проверить минимальную версию компиляции.

Имейте славный код!

+0

Я использую fop-1.1.jar и java 1.8. Я столкнулся с той же проблемой. Вы сделали что-нибудь еще, чтобы решить проблему, потому что у меня такая же проблема – wearybands