是否可以使用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>
对于HTML转换,它完美运行。是否有可能在PDF中实现相同的结果(嵌入文档)?我有一个用于生成pdf的XSLT,但是却没有成功完成相同的结果。
我已经尝试过类似Apache FOP的附加组件(PDF Image Support):
<fox:external-document src="my-doc.pdf"/>
显然它只适用于图像。
任何提示?
谢谢
答案 0 :(得分:7)
所以我发现使用我之前的解决方案是可能的,我只是做得不对。看看这里: FOP Extension
此外,这是一个如何使用它的例子:
<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>
答案 1 :(得分:1)
<fo:block-container absolute-position="absolute">
<fo:block>
<fo:external-graphic src="src/main/resources/externalpdf/test.pdf"/>
<fo:block-container absolute-position="absolute" left="0pt" top="100pt" right="200pt" bottom="270pt">
<fo:block font-weight="bold" font-size="15pt" border="{$border}" text-align="center" line-height="18pt" font-style="italic">
Hello
</fo:block>
</fo:block-container>
</fo:block>
</fo:block-container>
将其嵌入到同一页面并用一些文字覆盖