« 2007年11月29日 | メイン | 2007年12月01日 »

2007年11月30日

PDFのページ境界とXSL-FOの設定方法

今日の会議で、営業担当の報告を聞いていましたら、お客さんから「XSL FormatterでPDFを出力する際に、トンボの外側に情報を出すことができるかどうか。」という質問を受けて戸惑っていたようです。

そこで、ちょっと調べて整理してみました。

○PDF ReferenceではPDFのページ境界について、次のような項目が設定できることになっています。
※PDF Reference 1.7 pp.962-966

(1)メディアボックス:ページを印刷する用紙の物理的領域
(2)クロップボックス:ページの内容の範囲領域、通常はメディアボックスと同じ
(3)ブリードボックス:書籍・雑誌などの出版物を仕上げるときの絶ち落とし分を含む領域
(4)トリムボックス:書籍・雑誌などの出版物の仕上げページ領域

これを図示しますと、次のようになります。
20071130.PNG

XSL-FOではページをfo:simple-page-masterで指定します。ページのサイズはそのpage-width属性で幅を、page-height属性の値で高さを指定します。fo:simple-page-masterは、PDF上ではトリムボックスの大きさとして指定することになります。XSL-FOの仕様では、クロップボックス、ブリードボックスに相当する領域の設定方法はありません。

アンテナハウスのXSL Formatterでは、独自拡張により、PDFのクロップボックス、ブリードボックスを指定することができます。いずれも、fo:simple-page-masterの属性として次のように指定します。

クロップボックス:axf:crop-offset, axf:crop-offset-top, axf:crop-offset-bottom, axf:crop-offset-left, axf:crop-offset-right属性の値で、トリムボックスの外側へのはみ出し距離を指定します。
ブリードボックス:axf:bleed, axf:bleed-top, axf:bleed-bottom, axf:bleed-left, axf:bleed-right属性の値で、トリムボックスの外側へのはみ出し距離を指定します。

また、トンボを指定することができます。
トリムボックスの外側には、グラフィックスをSVGで指定できます。SVG形式であれば、テキストや、任意の画像を指定することもできます。SVGでカラーチャートを出すこともできます。

次に、サンプルのFOとPDFがありますので、ご参照ください。

ファイルをダウンロード(FOファイル)
ファイルをダウンロード(PDF)

投票をお願いいたします

投稿者 koba : 08:00 | コメント (0) | トラックバック