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

时间:2017-06-29 22:05:17

标签: java xml pdf xslt apache-fop

有人可以建议我如何使用多个Apache fo对象创建一个pdf吗?

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

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

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

1 个答案:

答案 0 :(得分:0)

一个FO文件,您可以根据需要包含尽可能多的fo:page-sequence个元素或者需要,每个元素的master-reference属性都指向一个页面母版。

因此,您可以使用

创建一个FO文件
  • 具有相同页面布局的多个fo:page-sequence元素(想想书中的不同章节)
  • 多个fo:page-sequence每个不同布局
  • 以前案例的组合

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