読者です 読者をやめる 読者になる 読者になる

Rails Webook

自社のECを開発している会社で働いています。Rails情報やサービスを成長させる方法を書いていきます

Ruby/RailsでPDF作成Gemのまとめ

まとめ Rails gem PDF Generation

Rubyもしくは、RailsでPDFを作成するGemとしてThe Ruby Toolbox - PDF Generationで確認すると、有名どころとしては、

  • Prawn(プローン)
  • PDFKit (+ wkhtmltopdf)
  • Wicked PDF (+ wkhtmltopdf)
  • ThinReports(Ruty Toolboxにないけど)

です。

まとめ

それぞれRails上で使ってみて、比較してみました。

Gem名特徴所感
Prawn(プローン) コードのみでPDFを作成する。 二重線などは少し作り込みが必要。コードでガリガリPDFを作成するので自由度は高いが時間がかかる。
PDFKit (+ wkhtmltopdf) HTMLをPDFに変換する。HTMLからPDFへの変換はwkhtmltopdfが行い、PDFKitはwkhtmltopdfのラッパー。 wkhtmltopdfがバグなどがあり角丸がつかないなど現状では完全にHTMLをPDFにできない。しかし、Railsで使う場合HTMLは既にあるはずなので簡単に使える。
Wicked PDF (+ wkhtmltopdf) PDFKitと同様。HTMLをPDFに変換する。HTMLからPDFへの変換はwkhtmltopdfが行い、Wicked PDFはwkhtmltopdfのラッパー。 PDFKitと同様
ThinReports 日本製でThinReportsEditorという専用ツールを使って画面操作でPDFを作成し、PDF上の動的データをプログラムしていく。内部的にPrawnを使っている。 画面でPDFを作るので親しみやすい。しかし、操作感があまりよくなく時間がかかることと、ドキュメントやサンプル不足でPDF上の動的データをプログラムしていくことが難しい。

結論

  • PDFの品質をあまり気にしない場合は、PDFKitWicked PDF で手軽に作成
  • PDFの品質を気にするならば、PrawnThinReports で時間がかかりながらも作成

使い方

次のような注文表をPDFで作成してみました。興味がある方は確認してみてください。
f:id:nipe880324:20140906214909p:plain:w480

以上、分からない箇所や間違いがあればコメントを下さい。