Я успешно использую Apache FOP для создания PDF-файла с помощью задачи Ant. У меня также есть код Java (веб-служба с использованием Axis2), который успешно работает и создает PDF-файлы, но я использую Ant Task, так как он намного быстрее правильно тестирует мою таблицу стилей.
Теперь, когда у меня работает PDF, я попытался выполнить второе требование проекта, над которым я работаю, — создать TIFF. Та же таблица стилей, тот же исходный документ, но на выходе — TIFF.
Задача ANT выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<project name="FOPAnt" default="generate-pdf-from-transform" basedir=".">
<property name="fop.home" value="D:\Dev\Java\libraries\fop-1.0-bin\fop-1.0"/>
<taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop">
<classpath>
<fileset dir="${fop.home}/lib">
<include name="*.jar"/>
</fileset>
<fileset dir="${fop.home}/build">
<include name="*.jar"/>
</fileset>
</classpath>
</taskdef>
Когда я запускаю это, я получаю следующую ошибку:
BUILD FAILED
D:\Dev\Java\FopConverter\workspace\FOPAnt\build.xml:30: java.lang.Error: TIFFImageEncoder4
Я гуглил и искал эту ошибку, и кажется, что есть требование включить инструменты JAI ImageIO в путь к классу.
Я нашел повторяющуюся ссылку: https://issues.apache.org/bugzilla/show_bug.cgi?id=49681
Я заметил, что файл jai_imageio.jar уже находится в моей папке ${fop.home}/build
. Я немного новичок в Java, поэтому поправьте меня, если я ошибаюсь, но мне кажется, что JAR уже включен в путь к классам в моем вышеприведенном сценарии ANT?
Я попытался использовать веб-сервис - добавил jai_imageio.jar в путь сборки, и он переходит в WEB-INF/lib
- получая ту же ошибку. Пробовали использовать разные цветовые конфигурации, как предложено в этой ветке ошибок, но безуспешно.
Реально борюсь с этим. Это расстраивает, так как генерация PDF работала хорошо. Поразите немного кирпичной стены с этим.
РЕДАКТИРОВАТЬ: после дополнительных исследований я должен указать, что я использую Windows 7 x64. Я переустановлю JRE x86 (попробую JRE 7).