見出し画像

【Asciidoc】PDFに変換する ー 何を使って変換するか? ー

今回からPDFに変換するという話題を取り上げていこうと思います。
今後の記事は基本「Asciidoctor-PDF」を利用して行おうと考えています。
しかし、「PDF」にする方法は他にも沢山あります。
幾つか紹介しますので試してみて自分が最良と思うものを模索してみてください。(それは最高の楽しみ勉強になります。)

  • 「Asciidoctor-PDF」を利用する

  • 「CSS」を利用する

  • 「wkhtmltopdf」を利用する

  • 「fop」を利用する

「Asciidoctor-PDF」を利用する
今後、記事にしていくので詳細は割愛。
最近はこれがスタンダードになりつつあるような気がする。
内部処理「Prawn」の「SVG」内フォント解釈を調整するのが少し大変・・・

「CSS」を利用する
「Vivliostyle」に代表される「CSS」を組版に利用するというアイデアです。
 「Asciidoc」 ⇒ 「HTML」+「CSS」 ⇒ 印刷(PDF)出力
のパターンがよく見られます。
この他に「Gutenberg」等も上手く使えば面白いと思います。

「wkhtmltopdf」を利用する
一時、「Atom」や「VScode」で主流になっていた方法ですが、現在「wkhtmltopdf」の更新が止まっている状態です。非推奨としているところも多いです。代替えのライブラリを探している方もいるようですが、中々苦戦しているようです。
基本的な考え方は名前通り「Wk、html、to、PDF」

「fop」を利用する
「Asciidoc」で出版まで行おうと考えた人たちが初期に採った方法が
 「Asciidoc」 ⇒ 「Docbook」 + 「fop」 ⇒ PDF出力
でした。「AsciidocFX」に実装されてます。(以前は既定値でしたが今は「Asciidocter PDF」が規定値になっていますが、設定で「FOP」を選択できます)
初期テンプレートの完成度は高く、殆ど変更しなくても自分は満足してしまいました(オライリーの本とほぼ一緒!)。「Prawn」を利用していないので逆に「SVG」が文字化けしない。。。
問題は「fop」の情報が少なく、本文の日本語文字化け解消が大変だった。
情報が少ないのでテンプレートの改造等で苦労します。
好きな処理なので詳しく纏めたいのですが、勉強不足で日本語対応などの変更点が正しいか自身が持てません。(小手先仕事なら初期設定ファイルにハードコーディングして対応できます。)

さて、今回はこのあたりまで・・・・・・
次回は、実際にPDFの作成を行ってみようと思います。
…ではまた。

当Noteは下記の「AsciiDoc Language Documentation」の文法に従っています。

「Asciidoctor PDF」他、紹介した物のページリンクを以下に。


いいなと思ったら応援しよう!