在 java 中使用 apache fop 使用多个 FO 对象生成一个 PDF

Generate one PDF using multiple FO objects using apache fop in java

谁能建议我如何使用多个 Apache fo 对象创建一个 pdf?

我们知道 Apache fop 使用 FO(格式化对象)生成 pdf。 FO 是通过应用 xsl 从 xml 创建的。

我的要求是,我将生成多页 pdf 文件。每个页面模板都会不同,所以我需要多个 xml 和 xsl 文件来制作一个 pdf。我想合并它们并创建一个 FO,但一些 PDF 大小会达到 2000 页,这导致 OutOfMemoryError

我浏览了 Apache FOP 参考示例文件以使用多个 fop 创建一个 pdf,但我找不到一个。

一个 FO 文件,您可以包含任意数量的 fo:page-sequence 元素 或需要,每个元素都有其 master-reference 属性 指向给页面管理员。

因此,您可以拥有一个 FO 文件

  • 几个 fo:page-sequence 元素具有 相同的 页面布局(想想一本书中的不同章节)
  • 几个fo:page-sequence每个都有一个不同布局
  • 前面案例的组合

此外,FOP 独立处理每个页面的内容fo:page-sequence,因此使用许多较小的页面序列而不是一个巨大的页面序列(如果可能的话)也有助于避免内存不足错误。