XSL 在 PDF 中呈现 PDF

XSL rendering a PDF in PDF

我遇到了将本地 .pdf 放入我渲染的 PDF 中的问题。 我目前有一个图片模板,可以轻松地将图像加载到我的 PDF 中。

<!-- Picture -->
    <xsl:template match="picture">
        <fo:block text-align="left">
            <fo:external-graphic src="url('file:///C:/Images/testImage.jpeg')" content-height="5cm" />
        </fo:block>
    </xsl:template>

我想知道是否有可能以相同的方式为 PDF 完成此操作。 目前我尝试使用

失败

xmlns:fox="http://xmlgraphics.apache.org/fop/extensions"

所以我所做的看起来像这样:

<!-- Chart which is saved as PDF-->
    <xsl:template match="chart">
        <fo:block text-align="left">
            <fox:external-document content-type="pdf" src="url('file:///C:/Pdfs/ExampleChart.pdf')"/>
        </fo:block>
    </xsl:template>

我正在使用 FOP 2.3,我得到的错误是

org.apache.fop.fo.flow.Block cannot be cast to org.apache.fop.fo.pagination.Root

所以我期望的是我不能在那里使用 fox:external-文档,但这正是我需要 PDF 的地方。

感谢您的帮助!!!

好的,我想我很幸运地找到了我自己寻找的解决方案! 我刚刚将来自 HERE 的 jar 文件添加到 FOP 文件夹的 lib 目录中。然后我就可以像这样嵌入 PDF:

<!-- Chart -->
<xsl:template match="chart">
    <fo:block text-align="left">
        <fo:external-graphic src="url('file:///C:/Pdfs/ExampleChart.pdf')"/>
    </fo:block>
</xsl:template>

希望这对遇到同样问题的人有所帮助:)