Как объединить файл PDF при создании другого файла PDF с помощью XSL-FO? - PullRequest
0 голосов
/ 19 февраля 2019

Я генерирую PDF-файл, используя XSL-FO, и у меня есть сценарий, в котором мне нужно объединить PDF-файл с тем, который я генерирую с помощью XSL-FO. Возможно ли достичь этого с помощью XSL-FO?

Это то, что я сейчас пробовал в моем XSL-файле

   <xsl:template match="body">
    <xsl:for-each select="paragraph">
     <fo:block space-after="1.4em">
    <xsl:apply-templates select="d:htmlparse(., '', true())/node()"/>
        </fo:block>
    </xsl:for-each>
      <fox:external-document xmlns:fox="http://xmlgraphics.apache.org/fop/1.0/extensions"  content-type="pdf" src='./tobedssssconv.pdf'/>
    </xsl:template> 

1 Ответ

0 голосов
/ 19 февраля 2019

Прежде всего, элемент расширения fox:external-document должен находиться на том же уровне fo:page-sequence элементов, а не внутри fo:flow с другими объектами уровня блока (вы, вероятно, получаетенекоторая ошибка проверки при обработке вашего файла).

<fo:page-sequence>
    <!-- .... -->
</fo:page-sequence>

<fox:external-document .... />

<fo:page-sequence>
    <!-- .... -->
</fo:page-sequence>

Таким образом, у вас будут сгенерированные страницы для первого fo:page-sequence, затем страницы из «включенного» PDF, затем страницы для второго fo:page-sequence.

В противном случае, если вы хотите вставить что-то между fo:block элементами, вы можете использовать fo:external-graphic (внутри fo:block или другого элемента уровня блока).

В любом случае,вам нужен плагин изображений PDF для ссылки на файлы PDF в качестве источника для fo:external-graphic или fox:external-document.

...