Search
Write a publication
Pull to refresh

Apache FOP 0.95 в Windows XP — настройка русского текста

Порядок установки —


1. Скачать бинарный Apache FOP


xmlgraphics.apache.org/fop/download.html#binary

Например, с этого зеркала — www.sai.msu.su/apache/xmlgraphics/fop/binaries

Сохранить в папку, например, в C:\FOP
** далее папки указаны относительно каталога, в котором лежит FOP
** например, /build означает C:\FOP\build

2. Настройка русского текста:


Необходимо сгенерировать метрики шрифтов — для каждого русского .ttf-шрифта, который вы собираетесь использовать, нужно сгенерировать .xml-файл при помощи утилиты, входящей в состав FOP.

** Для старых версий можно скачать готовые метрики, но FOP 0.95 требует их обновить.

** Пример команды для генерации метрики из справки к FOP не работает — выдаётся ошибка, чтобы всё работало нужно указать дополнительные библиотеки.

2.1. Создаём .bat для генерации метрики


Чтобы сгенерировать метрику создаём .bat-файл следующего содержания (например, для шрифта Arial.ttf):

java -cp build\fop.jar;lib\avalon-framework.jar;lib\xml-apis.jar;lib\xercesImpl.jar;lib\xalan.jar;lib\commons-logging-1.0.4.jar;lib\commons-io-1.3.1.jar;lib\xmlgraphics-commons-1.3.1.jar org.apache.fop.fonts.apps.TTFReader C:\WINDOWS\FONTS\Arial.ttf Arial.xml

Помещаем этот .bat-файл в каталог с FOP, запускаем, результат — в этом же каталоге создаётся .xml-файл с метрикой шрифта (в примере — Arial.xml).

2.2. Копируем метрики в отдельную папку


Копируем сгенерированные .xml-метрики в отдельную папку, например, создаём /font-metrics

2.3. Подключаем метрики


Для каждого шрифта, который мы хотим использовать, в конфигурационном файле /conf/fop.xconf добавляем строку (на примере Arial.ttf):

<font-triplet name=«Arial» style=«normal» weight=«normal»/>


2.4. Подключаем конфигурационный файл


Подключаем конфигурационный файл — правим последнюю строку в fop.bat:
"%JAVACMD%" %JAVAOPTS% %LOGCHOICE% %LOGLEVEL% -cp "%LOCALCLASSPATH%" org.apache.fop.cli.Main %FOP_CMD_LINE_ARGS% -c C:\FOP\conf\fop.xconf

3. (необязательно) Добавляем возможность импорта из нескольких PDF


*** это чтобы можно было собирать из нескольких pdf один при помощи <fo:external-graphic src="….pdf"/>

3.1. Скачать библиотеку, которая позволяет импортировать PDF-ки


www.jeremias-maerki.ch/download/fop/pdf-images
Скачанные библиотеки скопировать, например, в папку /build

3.2. Скачать библиотеку, которая позволяет импортировать PDF-ки


Подключить скачанные библиотеки — добавить в FOP.BAT строки
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LOCAL_FOP_HOME%build\fop-pdf-images-1.3.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LOCAL_FOP_HOME%build\PDFBox-0.7.4-dev.jar

Всё, можно пользоваться FOP.

*** Проверьте, что.fo-файлы, которые вы передаёте FOP, используют кодировку windows-1251:
<?xml version=«1.0» encoding=«windows-1251»?>

********************************************************************
PS. В сети информации по настройке FOP для windows не нашёл, потратил несколько (много :) ) часов на «танцы с бубном».
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.