首页 > 解决方案 > 如何修复错误:无法生成 PDF

问题描述

我正在我的项目中配置 wicked-pdf,但我无法使其工作,即使查看文档、旧问题也是如此。

该项目是 ruby​​ 2.6.2、rails 6.0.0.rc1、wicked_pdf 1.4、wkhtmltopdf-binary 0.12.3 和 docker。这些是我来自 controller.rb 的代码

report = WickedPdf.new.pdf_from_string('some html here')

wicked_pdf.rb

WickedPdf.config = {
exe_path: Gem.bin_path('wkhtmltopdf-binary', 'wkhtmltopdf')}

标签: ruby-on-railswicked-pdf

解决方案


我没有使用与您完全相同的版本...

该方法不是最佳方法,并且会使跟踪问题变得更加困难,我建议尝试不同的方法:

respond_to do |f|
  f.pdf do
    pdf = render_to_string :pdf => "checklist",:encoding => "UTF-8", :layout => 'pdf.html.haml', :template => '/checklists/show.haml'
    send_data(pdf,
              :filename =>  "checklist.pdf",
              :disposition => 'attachment',
              :type => "application/pdf")  
  end
end

它运行良好,允许您在视图文件中制作 pdf 模板,让生活更轻松。

尝试将格式代码添加到您的表演操作或您为其创建的新操作。这将允许 Rails 为您提供更严格的错误,至少因为您还可以先在浏览器中查看 html 以确认代码没有错误。


推荐阅读