📅  最后修改于: 2023-12-03 15:35:41.412000             🧑  作者: Mango
如果你的应用程序需要生成PDF文件,就不得不提到Wicked PDF Rails。Wicked PDF Rails是一个基于WebKit的PDF生成器,开发者可以使用简单的HTML和CSS代码来创建可下载、可打印的PDF文件。
在Gemfile中添加以下代码:
gem 'wicked_pdf'
运行:
bundle install
在config/initializers/mime_types.rb文件中添加以下代码:
Mime::Type.register "application/pdf", :pdf
在需要将html页面转换为pdf文件的controller的action中添加以下代码:
def show
respond_to do |format|
format.html
format.pdf do
render pdf: "show",
layout: 'pdf.html.erb',
template: "controller/show.html.erb",
locals: { :@variable => variable }
end
end
end
以上代码中的 'layout' 指定PDF文件的布局,'template'指定要转换的html页面,'locals'则表示向html页面传递变量。最终生成的PDF文件名为"show.pdf"。
Wicked PDF Rails支持所有的HTML和CSS。在需要转换为PDF的HTML文档中使用CSS样式,就能形成想要的PDF格式。
除此之外,还可以在config/wicked_pdf.rb文件中设置全局默认的pdf样式:
WickedPdf.config = {
:exe_path => '/usr/local/bin/wkhtmltopdf',
:wkhtmltopdf => '/usr/local/bin/wkhtmltopdf',
:layout => "pdf.html.erb",
:margin => {:top=> 2},
:headers => {
:font_size => 9
},
:footer => {
:left => "Left text",
:right => "Right text",
:center => "Center text",
:font_size => 9
}
}
Wicked PDF Rails在使用中可能会遇到一些问题,比如中文乱码,图片不显示等。这时可以参考官方文档:https://github.com/mileszs/wicked_pdf/blob/master/README.md
Wicked PDF Rails是生成PDF的一个好选择,它简单易用,并且具有自定义样式等功能,同时提供了丰富的文档和资料供开发者参考。如果你需要在应用程序中生成PDF文件,Wicked PDF Rails是你一个很好的选择。