D-3. DocBook 形式から PDF を作成する
手順としては、以下のようになります。
-
DocBook (.xml) + XSL (.xsl) → [xsltproc] → FO (.fo) → [FOP] → PDF (.pdf)
以下のような XSL (.xsl) ファイルを作成します。
docbook-pdf.xsl:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0"> <xsl:import href="c:/cygwin/usr/share/docbook-xsl/fo/docbook.xsl"/> <xsl:param name="chunker.output.encoding" select="'Shift_JIS'"/> <xsl:param name="fop.extensions" select="1"/> <xsl:param name="paper.type" select="'A4'"/> <xsl:param name="ulink.show" select="0"/> <xsl:param name="draft.mode" select="'no'"/> <xsl:param name="section.autolabel" select="1"/> <xsl:param name="section.label.includes.component.label" select="1"/> <xsl:param name="hyphenate">false</xsl:param> <xsl:param name="title.font.family" select="'MS-Gothic'"/> <xsl:param name="body.font.family" select="'MS-Mincho'"/> <xsl:param name="sans.font.family" select="'MS-Gothic'"/> <xsl:param name="monospace.font.family" select="'MS-Mincho'"/> </xsl:stylesheet>
フォントを xsl:param name="要素.font.family" select="'フォント名'"/ として指定しています。このフォント名は FOP のユーザー・コンフィグレーション・ファイルで定義したフォント名を指定します。フォント名指定を誤ると、FOP がフォントを見つけられず、作成される PDF では、該当箇所が "#" と表示されてしまいます。
DocBook 形式ファイルから FO ファイルを作成します。
$ xsltproc -o helloworld.fo ./docbook-pdf.xsl helloworld.xml Making portrait pages on A4 paper (210mmx297mm)
または…
$ xsltproc ./docbook-pdf.xsl helloworld.xml helloworld.fo Making portrait pages on A4 paper (210mmx297mm)
以下のように実行します。
$ fop helloworld.fo helloworld.pdf [INFO] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser [INFO] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser [INFO] FOP 0.20.5 [INFO] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser [INFO] building formatting object tree [INFO] setting up fonts [INFO] [1] [INFO] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser [INFO] [2] [INFO] [3] [INFO] [4] [INFO] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser [INFO] [1] [INFO] Parsing of document complete, stopping renderer
1 ページ目: 表紙が作成されている。左側のしおりも DocBook の階層に沿って作成されている。
2 ページ目: 目次が作成されている。
3 ページ目: 実際の文章部分。
新着記事
-
#1724. 店名は変われど味は変わらず。横浜中華街・富泰楼麺房のとりそば ― 澄んだスープに鶏油と葱だけのシンプル極上ラーメン:
2026-01-20 横浜中華街・広東路の富泰楼麺房(ふうたいろうめんぼう)にてランチ。もとは揚州麺房だった店だが、2024年7月1日に店名を変更して富泰楼麺房になった。オーナーは変わったが、料理人はそのままで、料理の味も変わっていない。横浜中華街は店の入れ替わ...
-
#1723. 大ぶり海老天が2本。横浜元町「そば処 木の芽」海老天丼 ― 蕎麦屋の仕事が光る:
2026-01-19 横浜・元町のそば処 木の芽にてランチ。海老天丼をオーダー。蕎麦屋の丼ものの「花」と言えば、やはり天丼、なかでも海老天丼。今日は暖簾をくぐる前からそれ以外の選択肢が思い浮かばなかった。運ばれてきた丼には、大ぶりの海老天が堂々と2本。衣は軽く、...
-
#1722. 春菊+柚子胡椒が決め手の本丸亭・横浜元町店の本丸塩らー麺 ― 代官坂で味わう極上塩ラーメンランチ:
2026-01-17 横浜・元町・代官坂のラーメン店本丸亭(ほんまるてい)横浜元町店にてランチ。本丸塩らー麺をオーダー。トッピングは、ガッツリ系のチャーシューに雲呑、そして春菊。標準で春菊が入っているのも特徴だが、さらに春菊を追加してもらう。春菊がラーメンに入る...
-
#1721. 黒ホッピーで独酌!東北人家の閃椒土豆絲&干鍋筋头巴脑 ― 横浜中華街で味わう中国東北料理の辛旨キレ味:
2026-01-16 横浜中華街・広東道の東北人家(とうほくじんか)新館にて、晩餐という名の独酌。東北人家は、中国東北地方の料理(東北菜)の店。中華街では珍しくホッピーが置いてあり、本日も黒ホッピーのセットでスタート。オーダーは閃椒土豆絲(ジャガイモ細切りの唐辛...
-
#1720. 横浜・馬車道の老舗トンカツ「勝烈庵」で昼ビール&ロースかつ定食 ― 休日に背筋が伸びる名店でひとり贅沢ランチ:
2026-01-16 休暇をとって、午前中に所用を済ます。そのまま、横浜の街を少し散歩して、横浜・馬車道の勝烈庵(かつれつあん)馬車道総本店にてランチ。勝烈庵といえば、横浜のトンカツの老舗。やや高級店の落ち着いた雰囲気があり、背筋が伸びる一方で、不思議と居心地が...
merita.jp