天地有情

[FOP] Apache FOP --- TeX 以外の組版・レイアウトシステム ~初歩の初歩~

Apache FOP --- TeX 以外の組版・レイアウトシステム ~初歩の初歩~

§1 はじめに

Apache FOP(Formatting Objects Processor)とは,XMLの自動組版を実現するソフトウェアです.
自動組版の処理としては XSL-FO の仕様を実装しており,すべて Java で出来たソフトウェアです.

Apache FOP を利用すれば XSL-FO 文書から PDF 文書を生成するだけでなく,XSTL を使ってXML文書から PDF 文書を
生成することも可能です.

今回は .foファイルから .pdfファイルを生成することを重点に置きます.
なお,Apache FOP ではデフォルトの設定のままでは 日本語フォント を利用することができません.
ユーザ用の fop.xconf ファイル作成することにより,True Typeフォントを簡単に利用できます.

今回は,後述の sample.xconf を作成しました.このファイルの中で
     <auto-detect />
という記述がありますが,c:\windows\fonts の中の True Type フォントを自動的に検索して適用してくれます.
まずは自身の環境で利用できる True Type フォント(.ttf や .ttc という拡張子)を確認してください.

1.1 ダウンロード

DownLoad side(http://www.apache.org/dyn/closer.cgi/xmlgraphics/commons)から
適当なmirror siteを選び,xmlgraphics-commons-2.1-bin.zipを入手します.

当方では,ftp.kddilabs.jp(ftp://ftp.kddilabs.jp/infosystems/apache/xmlgraphics/commons)
を選びダウンロードしました.

1.2 インストール

入手した xmlgraphics-commons-2.0-bin.zip を解凍し,任意のディレクトリに配置します.

当方では,ディレクトリ d:/fop-2.0 を作成し,ここにすべてのファイルを格納しました.
DeskTop上で作業を行うため,path=...,...,d:\fop-2.0; も設定しました.(必須ではない)

1.3 注意

Java がインストールされていることが前提です.当方では java version "1.8.0_45" となっていました.


§2 主な機能

Apache FOP の主な機能としては,XSL-FOに準拠したXML文書を組版して,プリンタに出力したり,PDFファイル形式へ
出力したりすることができます.サポートされている出力形式は次の通りです.

■ Apache FOP 出力フォーマット

•PDF (Portable Document Format)
•PS (Adobe Postscript)
•PCL (Printer Control Language)
•AFP (MO:DCA)
•SVG (Scalable Vector Graphics)
•XML (area tree representation)
•Print
•AWT/Java2D
•MIF
•RTF (Rich Text Format)
•TXT (text)

§3 使用方法

Apache FOP は基本的に コマンドライン から利用します.コマンドラインで使用できるコマンドは次の通りです.

(1)FO文書を変換しPDFとして出力する場合は,以下のように指定します.

    fop [-c foo.xconf] foo.fo foo.pdf

(2)XML文書とXSLによってFOを生成し,それをPDFとして出力する場合は,以下のように指定します.

    fop -xml foo.xml -xsl foo.xsl -pdf foo.pdf

今回は(1)の方法についての説明です.

§4 簡単なサンプル

日本国憲法前文の一部を英文と和文で構成し表示させます.

(1)フォントの選択
   英文のフォントは "Helvetica" を指定していますが,他に "Times Roman" , "Courier" の指定が可能です.
   和文のフォントは "IPAexゴシック" を指定していますが,前述のように c:/windows/fonts に存在する True type
   なら,どれでも利用できます.

(2)用紙サイズは A4サイズ (29.7cm x 21cm)を指定しています.

■ ソースファイル

   File Name = sample.fo  ;  encoding = utf-8

fop02.png
fop03.png
fop04.png


■ Configuration ファイル

   File Name = sample.xconf  ;  encoding = utf-8

fop05A.png



§5 コンパイル

sample.xconf と sample.fo を カレントディレクトリ (ここでは Desktop)に置いて,以下を実行します.

   C:\Users\xxx\Desktop> fop -c sample.xconf sample.fo sample.pdf

§6 結果

fop01.png


(EOF)

スポンサーサイト
  1. 2015/06/09(火) 08:11:20|
  2. FOP