Включить изображение в файл AFP, созданный с помощью Apache FOP, используя сегмент страницы или наложение страницы - PullRequest
0 голосов
/ 09 января 2019

Я пытался сгенерировать AFP-файл с логотипом нашей компании . Этот документ необходимо отправить стороннему поставщику. Я использую apache fop для создания файла AFP из XML. Я попытался поместить изображение в качестве ресурса и использовать включаемый объект ( IOB ) для разрешения ресурса изображения во время печати. Но оказывается, что наш поставщик не понимает изображения формата IOB. И поэтому они предложили мне использовать IPS ( включить сегмент страницы ) или IPO ( включить наложение страницы ).

Теперь я долго пытался создать сегмент страницы, но не смог этого добиться. Тег IPS отображается с помощью тега <afp:include-page-segment>, но фактический сегмент страницы, на который должен ссылаться IPS, не отображается. Я искал много раз, но не нашел / не понял, какой тег может создать сегмент страницы, на который затем может ссылаться IPS (например, IOB , который ссылается на некоторый объект ресурса).

Вот фрагмент моего кода.

<fo:simple-page-master margin-bottom="36pt" margin-left="34pt" margin-right="34pt" margin-top="24pt"
                       master-name="section1-first-page" page-height="11in" page-width="8.5in">
  <afp:include-page-segment name="our-logo" src="../resources/our_logo.png" afp:resource-file="our_logo.png"/>
  <fo:region-body/>
  <fo:region-before extent="11in" region-name="header"/>
  <fo:region-after display-align="after" extent="11in" region-name="first-page-footer"/>
</fo:simple-page-master>

После этого в теле я ссылаюсь на сегмент с тем же именем "our-logo", как показано ниже.

<fo:block border-style="solid" border-width="2pt" border-color="red">
    <fo:external-graphic src="../resources/our_logo.png" content-height="scale-down-to-fit" height="21pt" width="123pt" scaling="non-uniform"/>
  </fo:block>
...