我有一个普通的Rails布局,这是我的普通网站。
我想在此页面上使用一个按钮将此页面转换/转换为 一个PDF文件。
我想用这个宝石来做: https://github.com/mileszs/wicked_pdf
我将gem 'wicked_pdf'
添加到我的Gemfile中,但现在我该如何转换实际页面?
答案 0 :(得分:7)
以下是我使用wicked_pdf
所做的事情:
# Gemfile
gem 'wicked_pdf'
gem 'wkhtmltopdf-binary' # if you need the binary too
然后运行
$ bundle install
$ (bundle exec) rails g wicked_pdf # generates the initializer
然后,您可以在config/initializers/wicked_pdf.rb
中配置全局设置,如github上的邪恶自述文件中所述。
Rails 4已经知道pdf mime类型,但在旧版本中,您可能需要将pdf
注册为mime类型:
# config/initializers/mime_types.rb
Mime::Type.register "application/pdf", :pdf
在您的控制器中
respond_to do |format|
format.html
format.pdf do
render pdf: "your-filename"
end
end
然后,您将app/views/<your-view>/<controller-action>.pdf.erb
下的视图与您想要的内容放在一起。
要通过链接引用此内容,您可以执行以下操作:
= link_to "Get PDF", your_path(format: :pdf)
这会解决您的问题吗?
答案 1 :(得分:4)
请点击以下链接。它是一个细节教程,这将使您的生活更轻松:
http://dchua.com/2014/10/30/generate-pdfs-with-html-templates-in-rails/
如果您不想单独使用pdf视图并希望使用相同的html视图,请使用
template: invoices/show.html.erb
而不是
template: invoices/show.pdf.erb