如何使用XSL-FO生成另一个PDF文件时合并PDF文件?

问题描述 投票:0回答:1

我正在使用XSL-FO生成PDF文件,我有一个场景,我需要将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> 
java xslt pdf-generation xsl-fo apache-fop
1个回答
0
投票

首先,扩展元素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 Images Plugin引用PDF文件作为fo:external-graphicfox:external-document的来源。

© www.soinside.com 2019 - 2024. All rights reserved.