从java代码访问版本0.20.5中的FOPs Area Tree

时间:2015-07-23 09:31:46

标签: tree area apache-fop

是否可以从Java代码访问版本0.20.5中的FOPs Area Tree?

1 个答案:

答案 0 :(得分:0)

(披露:我是FOP开发人员,但现在非常不活跃)

查看FOP 0.20.5发布中的嵌入示例(我手边没有源代码),看起来类org.apache.fop.apps.Driver有一个.setRenderer()方法;要创建 PDF ,这个方法就像这样调用:

driver.setRenderer(Driver.RENDER_PDF);

我想Driver类也有区域树输出的常量。

但是,FOP 0.20.5 真的,因此我建议使用更新的版本(2.0已于2015年6月发布)。

使用FOP 2.0 ,如embedding documentation page所示,您可以使用org.apache.fop.apps.FopFactory获取所需输出类型的org.apache.fop.apps.Fop实例,这种情况:

Fop fop = fopFactory.newFop(MimeConstants.MIME_FOP_AREA_TREE, out);

区域树输出(无论FOP版本如何)是一个XML文件,因此您可以使用解析器获取区域几何属性的Document对象和外观

最新版本的FOP( 0.20.5)允许use the area tree XML as input获取(例如)PDF输出文件:

  1. 使用FOP从源文件
  2. 创建区域树XML
  3. 使用您自己的代码修改区域树XML
  4. 再次使用FOP从修改的区域树XML
  5. 创建最终输出