如何使用XSL-FO将外部pdf/txt文件嵌入到另一个文件中?

cod*_*joe 5 pdf xslt pdf-generation xsl-fo

是否可以使用XSL-FO/XSLT将外部PDF或TEXT文档嵌入到主PDF中?

我有xslt样式表来生成PDF文档.但是,输入XML包含内联的TEXT或Base64编码的PDF文档.所以我在我的样式表的HTML版本中我提取TEXT或PDF并将其转储到磁盘上.然后在xslt我有这个:

<xsl:when test='(n1:text/@mediaType="application/pdf") or (n1:text/@representation="B64")'>
    <IFRAME name='documentFrame' id='documentFrame' WIDTH='100%' HEIGHT='65%' src='{$DOC_URI}'/>
</xsl:when>
Run Code Online (Sandbox Code Playgroud)

对于HTML转换,它工作得很好.是否有可能在PDF中实现相同的结果(嵌入文档)?我有一个用于pdf生成的XSLT,但是在完成相同的结果方面却没有成功.

我已经尝试过像这样的Apache FOP附加组件(PDF Image Support):

 <fox:external-document src="my-doc.pdf"/>
Run Code Online (Sandbox Code Playgroud)

显然它只适用于图像.

任何提示?

谢谢

cod*_*joe 7

所以我发现使用我之前的解决方案是可能的,我只是做得不对.在这里查看: FOP扩展

此外,这是一个如何使用它的示例:

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions">
    <fo:layout-master-set>
        <fo:simple-page-master master-name="A4">
            <fo:region-body/>
        </fo:simple-page-master>
    </fo:layout-master-set>
    <fo:page-sequence master-reference="A4">
        <fo:flow flow-name="xsl-region-body">
            <fo:block-container>
                <fo:block>Hello W3Schools</fo:block>    
                <fo:block>
                </fo:block>
            </fo:block-container>
        </fo:flow>
    </fo:page-sequence>

    <fox:external-document content-type="pdf" src="../example_file/test.pdf"/>
</fo:root>
Run Code Online (Sandbox Code Playgroud)