PDFKit 使用 Rails 5

PDFKit usage Rails 5

我已经在 Windows 10 上安装了 PDFKit 和 wkhtmltopdf 以便与 Rails 5 一起使用。

但我找不到任何有关如何将 html.erb 文件呈现为 PDF 的相关示例。

我看了一下这个:pdfkit Usage 它可以将任何网站保存为 PDF。

我有一个 <div> 想要呈现为 PDF。

我建议您使用 Wicked_pdf gem 在 rails 上生成快速简单的 pdf。 Herewicked pdfpdfkit 的一些示例。

答案:

1) 添加 gem 'pdfkit gem 'wkhtmltopdf-binary' 到 Gemfile。

2) 运行 bundle install

3) 安装 wkhtmltopdf,然后 运行 which wkhtmltopdf 然后将此路径粘贴到 config/initializers/pdfkit.rb

`# config/initializers/pdfkit.rb
     PDFKit.configure do |config|
      config.wkhtmltopdf = '/home/harri/.rbenv/shims/wkhtmltopdf'
      config.default_options = {
        :page_size => 'A4',
        :encoding      => 'UTF-8',
        :print_media_type => true
      }
      config.default_options[:load_error_handling] = 'ignore'

# 仅当您的外部主机名在服务器上不可用时才使用。 config.root_url = "http://localhost" config.verbose = 假 结束`

4) 在你的控制器中:

`html = render_to_string(:action => "edit", :layout => false)
      kit = PDFKit.new(html)
      kit.stylesheets << "#{Rails.root}/app/assets/stylesheets/pdf.css"
      #kit.to_file("#{Rails.root}/public/system/daoe/daoe" + @daoe.id.to_s+'.pdf')
send_data(kit.to_pdf, :filename => 'report.pdf', :type => 'application/pdf', :disposition => 'inline'`        

如果要保存 PDF,请使用 kit.to_file,如果要呈现 PDF 整页,请使用 send_data。