ホームRailsの覚書Vue.jsの覚書MenuSidebarPrevNextSearchwicked_pdfを利用してRailsのアプリにPDFのダウンロード機能を追加するはじめにPDFを生成するgemには色々と選択肢があるかと存じます。その中でも比較的使いやすいのが、wicked_pdfというgemです。内部ではwkhtmltopdf-binaryが動いているので、正確にはwicked_pdfとwkhtmltopdf-binaryの組み合わせ、となるのでしょうか。二つのgemをインストールします。wkhtmltopdf-binaryこれでwicked_pdfをコントローラーから呼び出す支度が整いました。ルーティングはコントローラと併せて適宜設定して下さい。PDFファイルの文面の作成は上記の通り、erbファイルで行います。app/views以下にshow.html.erbやshow.json.erbなどと同様に、show.pdf.erbファイルを作成しましょう。HTMLタグとヘルパーを利用してレイアウトを記述します。CSSやJS、各種画像を利用したい場合は、Railsの*_link_tagの代わりに、wicked_pdfが提供する以下のヘルパーメソッドを呼び出す必要があります。これはwkhtmltopdf_binaryがRailsの環境外で動いている為、だそうです。(参考:https://github.com/mileszs/wicked_pdf#usage-conditions—important)wicked_pdf_javascript_include_tagwicked_pdf_stylesheet_link_tagwicked_pdf_image_tagちなみに書面の作成には、HTMLのviewsと同様にlayoutsが利用可能です。‘pdf’といった形で指定しているので、app/views/layouts/pdf.pdf.erbというファイルを用意することになります。yield以下、書面の具体的なレイアウトについては、画面を作成する際と同様なので割愛します。@postの値を利用して、テーブルを組んだり何をしたり、これと言って特別なことをせずとも、書面の作成を進めることができるかと存じます。こちらのgemにはPDFの生成に差し当たって、大量のオプションが存在しております。細かいところまで操作することが可能となっており、初見では眺めているだけでも楽しい気分になれます。(参考:https://github.com/mileszs/wicked_pdf#advanced-usage-with-all-available-options)wicked_pdfはコードのメンテナンスが頻繁に行われており、スターの数も十分なgemです。他にも選択肢は色々あるかと存じますが、PDFの生成に関しては当面、こちらのgemを利用していけば問題ないように感じております。