ジョブ管理アプリケーションで、顧客への A4 ページの領収書を作成したいと考えています。
したがって、何らかの方法でJob
モデルの詳細を単一の A4 PDF ページに印刷する必要があります。
この目的のためにRailsに組み込まれているツールはありますか?
いいえの場合、最善の方法は何ですか?
ジョブ管理アプリケーションで、顧客への A4 ページの領収書を作成したいと考えています。
したがって、何らかの方法でJob
モデルの詳細を単一の A4 PDF ページに印刷する必要があります。
この目的のためにRailsに組み込まれているツールはありますか?
いいえの場合、最善の方法は何ですか?
PDF 生成に役立つprawnというgemがあります。これをいくつかのアイデアに使用するチュートリアルを次に示します。
http://railstips.org/blog/archives/2008/10/13/how-to-generate-pdfs-in-rails-with-prawn/
基本的に 2 つのオプションがあります: (PDF の作成には gem が必要です - Rails のデフォルトの PDF 作成はありません)。
Prawnを使用して純粋な PDF を作成します。すべての書式設定は Prawn API を使用して行う必要があります
領収書の HTML バージョンを作成し、PDF に変換します。これを行うための優れた gem の 1 つがPDFkitです。これは、Web キットを利用したブラウザー エンジンを使用します。
どちらもうまく機能します.1ページのドキュメントの場合、私は通常PDFkitを使用してHTMLを変換し、多くのページを持つ大きなドキュメントの場合は、ファイルサイズが小さくなり、複数のページをより適切に処理できるため、Prawnを使用します.
私の提案は、HTML レシートを作成して画面に表示し、ユーザーにPDFkitを使用して PDF バージョンを保存するオプションを提供することです。
編集:Windowsのインストール。(テストされていません - Windows と私は別れました。)
wkhtmltopdf の Windows インストーラーをダウンロードします: win-wkhtmltopdf
config/intializers/pdfkit_config.rb などの初期化ファイルを作成します。
pdfkit_config.rb で、ローカル マシン上の wkhtmltopdf への絶対パスを設定します。
PDFKit.configure do |config|
if RAILS_ENV == 'development'
config.wkhtmltopdf = 'D:\path\to\your\wkhtmltopdf' #this bit i'm not sure about
else
config.wkhtmltopdf = "#{RAILS_ROOT}/lib/wkhtmltopdf"
end
end
実稼働環境の ENV の場合、実際にはレポに wkhtmltopdf のコピー、もちろん UNIX バージョンを含めることができます。(git addする前にchmod +xすることを忘れないでください)