XSL以PDF格式呈现PDF

时间:2019-02-26 11:00:28

标签: apache pdf xslt apache-fop

我遇到了将本地.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无法转换为org.apache.fop.fo.pagination.Root

所以我希望我不能在那里使用fox:external-document,但这恰恰是我需要PDF的地方。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

好吧,我想我很幸运地自己找到了所需的解决方案! 我只是将jar文件从HERE添加到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>

希望这将对遭受相同问题困扰的所有人有所帮助:)