Пакет FOP (Formatting Objects Processor) содержит форматировщик печати, управляемый форматированными объектами XSL (XSL-FO). Это приложение Java, которе читает дерево форматированного объекта и выводит результирующие страницы на указанный вывод. Текущие поддерживаемые выходные форматы включают PDF, PCL, PostScript, SVG, XML, print, AWT, MIF и ASCII текст. Изначально вывод производится в PDF.
Адрес (HTTP): http://www.apache.org/dist/xml/fop/fop-0.20.5-src.tar.gz
Адрес (FTP): ftp://apache.mirrors.pair.com/xml/fop/source/fop-0.20.5-src.tar.gz
Контрольная сумма: 1a31eb1357e5d4b8d32d4cb3edae2da2
Размер: 7.8 MB
Требуемое дисковое пространство: 45.3 MB
Расчетное время сборки: 0.25 SBU
Компоненты Java Advanced Imaging (JAI) API: http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22& PartDetailId=jai-1_1_2_01-oth-JPR&SiteId=JSC&TransactionId=noreg
Контрольная сумма: f2be3619a8d002eff3874355e96327eb
Размер: 2.6 MB
Выберите файл “Linux JDK Install” после принятия условий лицензии.
libxslt-1.1.12, JIMI SDK, Batik и Forrest (используется только для пересборки документации)
Перед началом сборки убедитесь, что $JAVA_HOME установлена корректно. Допонительно, сборка будет выпадать, если у вас версия JDK старше, чем 1.4.2_x.
Некоторые версии tar будут отображать сообщение, похожее на “tar: A lone zero block at 33476” при распаковке тарбола исходников. Вы можете спокойно проигнорировать это сообщение.
Установим компоненты JAI запуском следующих команд под пользователем root, находясь в корне дерева исходников FOP:
chmod 755 ../jai-1_1_2_01-lib-linux-i586-jdk.bin &&
FOP_BUILD_DIR=$(pwd) &&
cd $JAVA_HOME &&
yes | $FOP_BUILD_DIR/../jai-1_1_2_01-lib-linux-i586-jdk.bin &&
cd $FOP_BUILD_DIR
Установим FOP запуском следующих команд:
./build.sh &&
sed -i -e "s/build/lib/" fop.sh
А теперь, как пользователь root:
install -v -d -m755 \
/opt/fop-0.20.5/{bin,lib,docs/{general,lib,site}} &&
install -v -m755 fop.sh /opt/fop-0.20.5/bin &&
install -v -m644 build/fop.jar lib/avalon-framework-cvs-20020806.jar \
/opt/fop-0.20.5/lib &&
install -v -m644 docs/* /opt/fop-0.20.5/docs &&
install -v -m644 CHANGES LICENSE README ReleaseЗамечаниеs.html STATUS \
/opt/fop-0.20.5/docs/general &&
install -v -m644 lib/{avalon.LICENSE.txt,readme} \
/opt/fop-0.20.5/docs/lib &&
cp -v -R build/site/* /opt/fop-0.20.5/docs/site &&
ln -svf fop-0.20.5 /opt/fop
Вам понадобится установить одну дополнительную библиотеку классов Java для обработки объектов SVG. Эта библиотека является частью пакета Batik, а так же включена в пакет FOP. Если у вас установлен Batik, то убедитесь, что библиотека batik.jar включена в вашу переменную окружения $CLASSPATH. Альтернативно, создайте символическую ссылку из /opt/fop-0.20.5/lib/batik.jar, указывающую на полный путь к установленному файлу batik.jar, поэтому скрипт fop.sh будет автоматически его находить.
Если у вас пакет Batik не установлен, то выполните следующие команды как пользователь root:
install -v -m644 lib/batik.jar /opt/fop-0.20.5/lib &&
install -v -m644 lib/batik.LICENSE.txt \
/opt/fop-0.20.5/docs/lib
Компоненты FOP, необходимые для обработки файлов FO, созданных механизмом преобразования XSL (известного как процессор XSLT), установлены. Механизм преобразования XSL (xsltproc) включен в пакет libxslt-1.1.12 в BLFS. Пакет FOP включает компоненты Xalan-Java для выполнения преобразований XSL. Если у вас установлен пакет Xalan-Java, то пропустите следующий раздел.
Если вы хотите установить компоненты Xalan-Java, предоставляемые пакетом FOP, то выполните следующие команды как пользователь root:
sed -i -e "s/build/lib/" xalan.sh &&
install -v -m755 xalan.sh /opt/fop-0.20.5/bin &&
install -v -m644 lib/xml-apis.jar \
lib/xercesImpl-2.2.1.jar \
lib/xalan-2.4.1.jar \
/opt/fop-0.20.5/lib &&
install -v -m644 lib/{xml-apis,xerces,xalan}.LICENSE.txt \
lib/xml-apis.README.txt \
/opt/fop-0.20.5/docs/lib
yes | $FOP_BUILD_DIR/../jai-...-jdk.bin: Эта команда устанавливает компоненты JAI в структуру файлов JDK. Команда yes позволяет пропустить прокрутку четырех страниц лицензии и автоматически отвечает “yes” на запрос. $FOP_BUILD_DIR используется в качестве точки ссылки на начальный бинарик и в качестве способа возвращения в дерево исходников FOP.
sed -i -e "s/build/lib/" ...: Эти команды изменяют установленные скрипты оболочки, поэтому положение установленного файла fop.jar определяется правильно.
install -v ...; cp -v ...: В пакете FOP нет скрипта установки. Эти команды установят пакет.
ln -svf fop-0.20.5 /opt/fop: Это создает удобную ссылку, поскольку $FOP_HOME не должна измененяться при каждом изменении версии пакета.
Использование FOP для обработки некоторых больших FO файлов (включая FO, полученные из исходников BLFS XML), может привести к ошибкам памяти. Если вы не добавите параметр в команду java, используемую в скрипте fop.sh, то вы можете получить сообщение, похожее на показанное ниже:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
Для исключения похожих ошибок вам надо поместить дополнительный параметр в команде java, используемой в скрипте fop.sh. Это может быть выполнено созданием ~/.foprc (который происходит из скрипта fop.sh) и добавлением параметра в переменную окружения FOP_OPTS.
Скрипт fop.sh ищет переменную окружения FOP_HOME для определения положения библиотеки классов FOP. Вы можете создать эту переменную, используя файл ~/.foprc. Создадим файл ~/.foprc при помощи следующих команд:
cat > ~/.foprc << "EOF"
FOP_OPTS="-Xmx[RAM_Installed]m"
FOP_HOME="/opt/fop"
EOF
Замените [RAM_Installed] на объем установленной в вашем компьютере памяти. Например FOP_OPTS="-Xmx768m". Для большей информации об использовании памяти для FOP смотрите http://xml.apache.org/fop/running.html#memory.
Для включения скрипта fop.sh в ваш PATH обновите ваш личный или общесистемный profile на следующее:
PATH=$PATH:/opt/fop/bin
Последнее обновление 2005-02-16 14:46:41 -0700