【问题标题】:SVG To Multipage PDFSVG 转多页 PDF
【发布时间】: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


【解决方案1】:

不,不是。 FOP 使用 XSL FO 标准。您可以定义页面几何形状、将内容保持在一起的规则以及将内容块流入其中。它不是将每个页面创建为 PDF 并加入它们。它仅使用 Batik 将 SVG 转换为 PDF 对象以包含在 PDF 输出中。所以蜡染只是创建一个“块”区域......虽然是矢量格式的图像......它只是用于流入页面几何图形的块之一。

【讨论】:

  • 好吧,所以我终于创建了带有外部图形作为 SVG 的 XSL-FO 并将它们转换为 PDF。请在问题编辑中找到示例 XSL-FO。另外感谢您的帮助。
猜你喜欢
  • 2018-08-27
  • 2016-10-26
  • 1970-01-01
  • 2010-10-27
  • 2018-08-16
  • 1970-01-01
  • 2019-07-18
  • 2017-02-22
  • 2018-06-23
相关资源
最近更新 更多