
功能介绍
Apache FOP(格式化对象处理器)是一个使用XSL格式化对象(XSL-FO)和输出独立的打印格式化驱动。
它是一个Java应用程序,读取格式化(FO)树并呈现结果页面到一个特殊输出。
目前支持的输出格式包括PDF、PS、PCL、AFP、XML(区域树展示 area tree representation)、Print、AWT和PNG,并在较小的范围内支持RTF和TXT。主要输出目标是PDF。
Apache FOP项目是Apache软件基金会的一部分,Apache软件基金会的开源项目拥有广泛的社区用户和开发者。

FOP的最新版本为2.0。
在FOP Compliance中,每一个对象和属性的规范支持是详尽的。下载选项包括一个预编译的版本、源代码和一些示例文件来让你开始学习。
提供的包括XSL-FO介绍链接和一些其他有用的参考。帮助的检查列表能够引导你最大限度的使用FOP。
FOP以作为Apache的XML图形项目的一部分自豪。
演示

此图片是两页真实文档的展示。左侧的XML数据被格式化成右侧的两页。这个文档包含出现在每一页、外部图形、第一页脚注以及跨两页的表格静态区域。
FOP使用标准的XSL-FO文件格式作为输入,当请求输出的时候渲染排列内容输出到页上。
使用XSL-FO作为输入一个很大的优点是,XSL-FO本身就是一个XML文件。这意味着它可以方便地从各种来源创建文件。
最常见的方式是使用XSLT转换语义XML到XSL-FO。
目标
Apache FOP项目的目标是提供XSL-FOD到PDF格式转换,兼容从2006年12月5号起W3C的一致性要求,并且实现2001年11月从Adobe系统可移植文档格式规范(版本1.4)。
兼容XML1.0和1.1建议、XSLT1.0和2.0建议和XML命名空间建议。其他有关文件,例如XPath和XLink Working Drafts(XLink工作草案),作为必要的参考。
FOP项目将尝试使用不断发展的最新版本规范。