Для печати документов в формате PDF, необходимо выполнить предварительную настройку внешнего XSL-FO (XSL formatting objects) процессора. В данной статье описана настройка Apache FOP

Процесс настройки состоит из пяти шагов:

  1. Указание параметров вызова FO-процессора.
  2. Загрузка шрифта.
  3. Регистрация используемого шрифта. 
  4. Перезапуск BILLmanager. 

Параметры вызова FO-процессора

Параметры вызова FO-процессора указываются в конфигурационном файле BILLmanager - '/usr/local/mgr5/etc/billmgr.conf'. В него необходимо добавить следующую строку:

billmgr.conf

XSLFOProc fop -c /etc/fop.conf.d/userconfig.xml -xml __xml__ -xsl __xsl__ -pdf __pdf__
CODE

Параметры, помещенные в двойные знаки подчеркивания, ("__xml__", "__xsl__" и "__pdf__") автоматически будут заменяться на директории соответствующих файлов. 

Например, имеется следующая команда на выполнение:

/bin/sh -c fop\ -c\ /etc/fop.conf.d/userconfig.xml\ -xml\ tmp/xml.fTqNMx\ -xsl\ skins/common/xsl/report.pdf.xsl\ -pdf\ tmp/pdf.mXEPYN
CODE

В строке значения "tmp/xml.fTqNMx" и "tmp/pdf.mXEPYN" были подставлены автоматически, вместо "__xml__" и "__pdf__" соответственно. 

Загрузка шрифта

Файл шрифта необходимо загрузить на сервер, в директорию '/etc/fop.conf.d/fonts/'. 

После размещения файла, требуется сгенерировать файл метрики:

/etc/fop.conf.d/fonts/'

fop-ttfreader /etc/fop.conf.d/fonts/arial.ttf /etc/fop.conf.d/fonts/arial.xml
CODE

Обратите внимание!

Шрифт Arial используется для примера. Не обязательно загружать именно этот шрифт.

Регистрация шрифта

Для регистрации шрифтов используется конфигурационный файл FOP: '/etc/fop.conf.d/userconfig.xml'. Если такой файл отсутствует, то необходимо создать его вручную. 

Содержание конфигурационного файла FOP, в котором зарегистрирован шрифт Arial:

userconfig.xml'

<?xml version="1.0"?>
  <fop>
    <renderers>
      <renderer mime="application/pdf">
        <fonts>
          <font metrics-url="/etc/fop.conf.d/fonts/arial.xml" kerning="yes" embed-url="/etc/fop.conf.d/fonts/arial.ttf">
            <font-triplet name="Arial" style="normal" weight="normal"/>
            <font-triplet name="ArialMT" style="normal" weight="normal"/>
          </font>
        </fonts>
      </renderer>
    </renderers>
  </fop>
XML

Перезапуск BILLmanager

Для перезапуска BILLmanager используется команда:

/usr/local/mgr5/sbin/mgrctl -m billmgr exit
DELPHI