8
6

More than 5 years have passed since last update.

PDFのドキュメントを作るのはやめよう、asciidoctor-pdfをやめた理由

Last updated at Posted at 2018-06-04

前回、脱Word、脱Markdown、asciidocでドキュメント作成する際のアレコレでasciidocをHTMLとPDFに変換する方法を紹介した。

  • asciidoctor・・・asciidocファイルをHTMLファイルに変換するruby製ツール
  • asciidoctor-pdf・・・asciidocファイルをPDFファイルに変換するruby製ツール

当初はドキュメントをHTMLとPDF両方のフォーマットで公開していた。
asciidoctor-pdfを使ったPDF変換はあまりにも面倒なので、メンテするのを止めた。
その理由を記載する。

理由1. 文字の色が変えられない

markdownと違って、asciidocでは文字色は変えられるが、asciidoctor-pdfのバグか、文字の色が変えられない。

理由2. レイアウトが崩れる

長い表の場合などレイアウトが崩れる。

image.png

理由3. HTML/PDF両方確認するのが面倒

理由1, 2などにより、HTMLとPDFでは全く同じ結果にならないので、両方確認する必要があり、すごい面倒。

理由4. GIFが使えない

ドキュメントで分かりにくい箇所はアニメーションGIFを使っているが、
PDFでアニメーションGIFが使えない。

image:animation.gif[アニメーションgifは表示されない]

↓ PDF変換

image.png

理由5. HTMLとPDFの分岐ロジックを書くのが面倒

「理由4. GIFが使えない」とかでHTMLとPDFの差異がある場合、asciidocで以下のように分岐処理を書かないといけない。

ifeval::["{backend}" != "pdf"]
image:animation.gif[]
endif::[]

理由6. 別文書へのリンクが切れる

文書内でも文書外でも別の場所へ飛ぶときにリンクを貼ることはPDFでも可能。

image.png

文書内リンクは意識する必要はないが、文書外のリンクは当然、そのファイルもダウンロードなどしておかないといけないし、相対パスもパスはちゃんとあっていないといけない。

でもぱっと見、リンクが文書内か文書外か、リンク先がちゃんとあるか、判別不能

理由7. PDF変換が長い

adocファイルからPDFに変換する場合、HTMLと比べて10倍時間がかかる
asciidocファイルをGithubで管理。プルリクエストがmasterにマージされたタイミングでJenkinsでhtml/pdf変換をかけているが、30ファイルくらいあるとジョブが20分以上かかる

最後の理由. 頑張ってもみんなPDFを見ない

いつでも最新のHTMLと、最新かどうかわからないPDF、当たり前だが普通の人はみんなHTMLを見る。PDFで見る人はいない。

PDFにしたいと思われるケースとして、以下がある。

  • ネットワークに繋がらない場所で見たい、ネットワーク障害発生
    • そんなレアケースのために頑張る?
  • ファイルとして渡したい
    • ゼロではないが、HTMLをAWS S3にアップロードして、静的サイトで公開したほうがラクでは?(セキュリティが気になるならIP制限とかかければ?)

が、そこまでして頑張る気も起きず、「PDF止めます」と宣言しても、特に反対もなく、PDFをやめました。

8
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6