Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Beyond Linux From Scratch. Version 2011-12-30
Назад 47. PostScript Вперед

Пакет FOP-1.0

Знакомимся с пакетом FOP

В пакете FOP (Formatting Objects Processor — процессор форматирования объектов) находится программа форматирования, используемая при печати, управление которой осуществляется механизмом форматирования объектов XSL (XSL-FO). Это приложение на языке Java, которое читает дерево форматирования объектов и выводит формируемые страницы в указанный выходной поток. В настоящее время поддерживаются следующие выходные форматы - PDF, PCL, PostScript, SVG, XML (древовидное представление области), print, AWT, MIF и текст ASCI. Основной цель пакета — вывод в формат PDF.

Известно, что пакет правильно собирается и работает на платформе LFS-SVN-20101029.

Информация о пакете

Дополнительные загрузки

Требуемые пакеты

Зависимости пакета FOP

Обязательные

Xorg-7.6, Apache Ant-1.8.1 и компоненты API для Java Advanced Imaging (JAI)

Необязательные

JIMI SDK, XMLUnit, JAI Image I/O Tools, JEuclid, PMD (требует Jaxen) и Forrest (пакет Forrest используется только для пересборки документации)

Замечания для пользователей: http://wiki.linuxfromscratch.org/blfs/wiki/fop

Установка пакета FOP

Важно

Вы должны запустить установку этого пакета из окна X; используйте сервер Xorg с поддержкой GL, поскольку в противном случае не пройдут некоторые тесты JUnit. Предпочтительно запустить окно X из консоли.

Перед тем, как начинать сборку, убедитесь, что правильно установлено значение $JAVA_HOME. Чтобы собрать Jimi SDK и/или классы расширений XMLUnit, обеспечьте, чтобы в переменной среды окружения CLASSPATH был указан путь к соответствующим файлам .jar.

Установка паттернов сохранения объектов OFFO

Прежде, чем начать сборку, распакуйте архив tar с исходными кодами FOP и файл zip с паттернами сохранения объектов в один и тот же директорий, а затем перейдите в корневой директорий дерева исходных кодов FOP. Скопируйте паттерны сохранения объектов XML в дерево исходных кодов FOP с помощью следующих команд:

cp ../offo-hyphenation/hyph/* hyph &&
rm -rf ../offo-hyphenation

Установка JAI

Совет

Команда $FOP_PKG_DIR/jai-1_1_3-lib-linux-i586-jdk.bin, указанная ниже, устанавливает компоненты JAI в дерево JDK. Прежде, чем установка будет продолжена, вам нужно будет просмотреть, а затем принять (путем нажатия на кнопку y) лицензионное соглашение. Вам нужно это учитывать в случае, если вы для сборки используете скрипты (автоматизируете сборку). В разделе "Автоматические процедуры сборки" в главе 2 имеется информация об автоматизации команд сборки. В конце этого раздела обсуждается конкретная информация об автоматизации инсталляции этого вида.

В роли пользователя root перейдите в корень дерева с исходными кодами FOP и установите компоненты JAI с помощью следующих команд:

FOP_PKG_DIR=$(pwd)/.. &&
pushd $JAVA_HOME &&
sh $FOP_PKG_DIR/jai-1_1_3-lib-linux-i586-jdk.bin &&
popd

Установка компонентов FOP

Если пакет Forrest не установлен, то удалите на него ссылки, имеющиеся в файле build.xml:

sed -i -e "s/all,javadocs,docs/all,javadocs/" \
       -e '\#${dist.bin.result.dir}/docs#,\#<copy>#d' build.xml

Откомпилируйте пакет FOP с помощью следующих команд:

ant dist

На шаге, описанном выше, выполняется регрессионные юнит тесты.

Теперь в роли пользователя root выполните:

install -v -d -m755      /opt/fop-1.0 &&
mv -v dist-bin/fop-1.0/* /opt/fop-1.0 &&
ln -v -sf fop-1.0 /opt/fop

Пояснение команд

FOP_PKG_DIR=$(pwd)/..: Здесь предполагается, что пакеты с исходными кодами располагаются на один уровень выше текущего рабочего директория. По умолчанию это всегда так, но расположение пакетов может быть другим вследствие личного предпочтения. Если потребуется, измените этот параметр так, чтобы он соответствовал тому месту, где можно найти архив FOP.

sh $FOP_PKG_DIR/jai-1_1_3-lib-linux-i586-jdk.bin: Эта команда устанавливает компоненты JAI в структуру файлов JDK. Переменная $FOP_PKG_DIR используется для указания места, куда будут устанавливаться исполняемые модули, собранные из исходного кода.

ant dist: Эта команда читает задание dist из файла build.xml, собирает пакет и запускает регрессионные юнит тесты. Также создается документация Java API и директорий, где будут располагаться только что созданные двоичные файлы. Этот директорий используется для установки пакета FOP на его постоянное место.

ln -v -sf fop-1.0 /opt/fop: Этот параметр необязателен — он создает удобную символическую ссылку с тем, чтобы не нужно было менять значение переменной $FOP_HOME каждый раз, когда будет меняться версия пакета.

Конфигурирование пакета FOP

Конфигурационные файлы

~/.foprc

Подробнее о конфигурировании

Использование пакета FOP для обработки некоторых больших файловых объектов FO (в том числе и FO, создаваемых по файлам XML из BLFS) может привести к ошибкам памяти. Если вы не добавите параметр для команды java, используемой в скрипте fop, вы можете получать сообщения, похожие на то, что показано ниже:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 

Чтобы избежать ошибок, похожих на эту, вам нужно передать дополнительный параметр для команды java, используемой в скрипте fop. Это можно сделать с помощью создания файла ~/.foprc (который будет использоваться скриптом fop) и добавления параметра к переменной окружения FOP_OPTS.

Скрипт fop ищет переменную среды окружения 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 в ваш путь, обновите ваш персональный или общесистемный профиль следующим образом:

PATH=$PATH:/opt/fop

Описание пакета

Установленные программы: fop

Установленные библиотеки: fop.jar и многочисленные классы библиотек поддержки, находящиеся в директории /opt/fop/{build,lib}; компоненты JAI, в том числе libmlib_jai.so, jai_codec.jar, jai_core.jar и mlibwrapper_jai.jar

Установленные директории: /opt/fop-1.0

Краткое описание

fop

скрипт-обвертка для команды java, который создает среду FOP и передает необходимые параметры

fop.jar

содержит все классы Java пакета FOP

Перевод сделан с варианта оригинала, датированного 2010-11-12 14:13:51 +0000


Предыдущий раздел: Оглавление Следующий раздел:
Пакет ePDFView-0.1.7   Пакет paps-0.6.8