【发布时间】:2015-09-12 01:44:09
【问题描述】:
我正在尝试将 SVG 转换为多页 PDF 文档。我使用 Apache Batik 进行转换,但其中没有提供 multi page pdf。在做了一些研究之后,我了解了 docbook 并且效果很好。它使用 ANT 脚本 进行转换。
我想知道 docbook 如何处理多页 PDF,因为 docbook 使用 Apache FOP,它使用 Apache Batik 进行 SVG 到 PDF 的转换。
它是否会创建单个 PDF 文件并最终将它们组合成单个 PDF? 如果它和上面一样,那么我自己将使用 Apache Batik 创建单个 PDF,并使用 PDFBox 组合它们。
谢谢。
使用带有 SVG 的 XSL-FO 作为外部图形或嵌入 SVG 的解决方案
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master page-height="2339px" page-width="1654px" master-name="PageMaster">
<fo:region-body margin="0mm 0mm 0mm 0mm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="PageMaster">
<fo:flow flow-name="xsl-region-body">
<fo:block>
<fo:external-graphic src="url(new sample.svg)" width="100%" height="100%" content-width="100%" content-height="100%"/>
</fo:block>
</fo:flow>
</fo:page-sequence>
<fo:page-sequence master-reference="PageMaster">
<fo:flow flow-name="xsl-region-body">
<fo:block>
<fo:external-graphic src="url(new sample2.svg)" width="100%" height="100%" content-width="100%" content-height="100%"/>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
【问题讨论】:
-
我们也在使用 Batik 库从 svg 文件创建 pdf 文档。单页导出是此库用于导出 PDF 的限制,当前页面大小只是增加以容纳更多数据。基本上我的文本太长了,我希望它在 PDF 文档的多个页面中显示。由于您已经使用 docbook 实现了这一点,请您指导我们如何在我们的应用程序中实现这一点。提前感谢您的帮助。
标签: java svg apache-fop docbook batik