Apache FOP(アパッチ・エフオーピー)は、XMLベースの
組版言語であるXSL-FO(
Extensible Stylesheet Language Formatting Objects)の処理系として開発されたオープンソース
ソフトウェアです。
Apache XML Graphicsプロジェクトによって開発されており、その名称「FOP」は、Formatting Objects Processorの
頭字語に由来します。
Apache FOPは、Apache
ライセンスの下で提供されており、
プログラミング言語Javaで
実装されています。この
ソフトウェアの主な機能は、XSL-FOに準拠したXML文書を様々な形式のファイルに変換したり、
コンピュータの画面やプリンタに直接出力することです。これにより、XMLデータを印刷物やデジタルドキュメントとして利用するための柔軟な変換処理が可能となります。
バージョン0.94では、
ソースコードが以前の安定版である0.20.5から大幅に書き直され、性能と安定性が向上しています。また、Apache FOPの配布物には、XSLT(
Extensible Stylesheet Language Transformations)処理系であるApache Xalanが同梱されており、XSLTによる変換処理も容易に行えます。
XSL-FO埋め込み画像形式
Apache FOPは、`
`要素を使用することで、様々な形式の画像ファイルをXSL-FO文書に埋め込んで処理することができます。対応している主な画像形式は以下の通りです。
SVG(Scalable Vector Graphics)
ビットマップ(BMP)
PostScript(EPS形式を含む)
JPEG
いくつかのTIFF形式
これにより、文書に画像を含めたリッチな表現が可能になります。
出力形式
Apache FOPは、XSL-FO文書を様々な出力形式に変換することができます。主要な出力形式とその特徴は以下の通りです。
PDF: 最も良好な出力結果が得られる形式で、印刷や電子文書での利用に最適です。
プリンタへの直接出力: プリンタに直接出力することで、印刷プレビューなどを確認することができます。
コンピュータ画面への直接出力 (Java2D/AWT): JavaのAWT(Abstract Window Toolkit)を利用して、画面に直接表示します。
PostScript: PostScript形式で出力することで、高度な印刷処理や他のアプリケーションでの利用が可能です。
PCL (Printer Command Language): PCL形式で出力することで、PCL対応のプリンタで印刷できます。
AFP (Advanced Function Presentation): AFP形式は、大量の文書処理に適した形式です。
RTF (Rich Text Format): RTF形式で出力することで、ワープロソフトなどで編集可能な形式に変換できます。
テキストファイル: テキスト形式で出力することで、内容をテキストエディタなどで確認できます。
XML (Area Tree XML): Area Tree XML形式で出力することで、内部処理の内容を確認できます。
TIFF: TIFF形式で出力することで、画像形式での保存が可能です。
PNG: PNG形式で出力することで、ウェブ上などで使いやすい画像形式での保存が可能です。
MIF (Maker Interchange Format): MIF形式で出力することで、Adobe FrameMakerなどとの連携が可能です。
SVG: SVG形式で出力することで、ベクター画像形式での保存が可能です。
関連項目
XSL Formatting Objects (XSL-FO) : XSL-FOに関する詳細な情報。
Extensible Stylesheet Language (XSL) : XSLの基本的な情報。
XSL Formatter : アンテナハウスが開発・販売している商用のXSL-FO処理系。
外部リンク
Apache FOP プロジェクト : Apache FOPの公式サイト。
* XMLツールのコレクション (ドイツ語) : ドイツ語のXMLツールコレクション内のApache FOPのページ。