表をpdf形式で表示したい。
私たちは使用しています
format.html
format.json{render json: @user}
html、json形式の生成など
同様に
- ページを pdf としてレンダリングしたい。
レールで可能な場合、どのような手順がありますか???
表をpdf形式で表示したい。
私たちは使用しています
format.html
format.json{render json: @user}
html、json形式の生成など
同様に
レールで可能な場合、どのような手順がありますか???
Respond_to ブロックで使用する PDF タイプを登録する
# config/mime_types.rb
Mime::Type.register "application/pdf", :pdf
コントローラで PDF 形式のリクエストに応答する
respond_to do |format|
format.html
format.json{render json: @user}
format.pdf do
# ...
# here your PDF generating code
# ...
send_data(your_generated_pdf, filename: 'your_filename.pdf', type: 'application/pdf')
end
end
PDF を生成するには、 wkthmltopdf、 Prawn などでpdfkitを使用できます。使用方法については、それぞれのドキュメントを参照してください。
Rails 5 以降:
gem 'responders'
Rails 5 の変更ログに次のように追加します。
もう一つはエビです。
より堅牢で、複雑な状況をサポートしているようです。したがって、これを選択して、洗練されたものを操作できます。こちらからhttps://prawnpdf.org/manual.pdfを入手してください。APIドキュメント:https ://prawnpdf.org/api-docs/2.3.0/
それを指摘してくれたGlennに感謝します。
これが役立つと思います[ https://github.com/mileszs/wicked_pdf ]
format.pdf
ルートがパーツをサポートしている限り、いつでも like を使用できます.:format
。それを使用して、pdfのリクエストをキャプチャします。次に、を使用してpdfをレンダリングしますwicked_pdf
。
基本的な使用法は以下のように表示されています
def controller_action
... ... ...
... ... ...
format.pdf do
render :pdf => "file_name"
end
end
使用法を理解するのに役立つ別の記事を次に示します。
最後に と で完了prawn
ですprawn-rails
。詳細はこちら。
システムを準備するには
# Add this to your Gemfile
gem 'prawn'
gem 'prawn_rails'
# run
bundle install
URL http://localhost:3000/regions
ie を押してindex
ofを押すRegionsController
と、ページが pdf 形式で表示されます。
Region
単一の属性を持つモデルがありますname
。テーブルに 2 つのエントリがありregions
ます。
[
#<Region id: 1, name: "Region 1", ... >,
#<Region id: 2, name: "Region 2", ... >
]
私のコントローラーの方法:
def index
@regions = Region.all # Should return two region objects :)
respond_to do |format|
format.html # index.html.erb
format.json { render json: @regions }
format.pdf # <---------- This will handle the pdf response
end
end
でビューファイルを作成しましたviews/regions/index.pdf.prawn
。とにかく、ビューファイル名の形式は:action.pdf.prawn
であり、ビューファイルには含まれています
prawn_document() do |pdf|
@regions.each {|r| pdf.text r.name}
end
これは、リージョンの名前を出力するだけです。
それでおしまい。あなたのページはpdf形式です。Prawn
とによって提供される他のすべてのオプションを試してみてPrawn-Rails
ください。ここでいくつか見つけることができます - http://prawn-rails-demo.heroku.com/
Rails 3でさまざまなpdf生成ツールを使用する方法をガイドする一連のブログを書くことを考えています.
問題が解決するかどうかお知らせください。
テンプレートを使用する必要がある場合は、combine_pdf gemを単独で (テーブルやテキスト ボックスなどの小さな編集機能を備えています)、またはPrawnなどの前述のソリューションと組み合わせていつでも使用できます。