📜  wicked pdf rails 开始新页面 - Html (1)

📅  最后修改于: 2023-12-03 15:35:41.412000             🧑  作者: Mango

Wicked PDF Rails: 生成PDF的神器

如果你的应用程序需要生成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是你一个很好的选择。