【问题标题】:broken pipe error when adding footer-html parameter to PDFKit (wkhtmltopdf)将 footer-html 参数添加到 PDFKit (wkhtmltopdf) 时出现管道损坏错误
【发布时间】:2013-01-14 22:30:12
【问题描述】:

我正在尝试使用以下代码为我在 RoR 3.2.11 中使用 PDFKit 创建的 PDF 添加页脚:

template = File.read "#{Rails.root}/app/views/layouts/portfolio.haml"
@ci = self
pdf_html = Haml::Engine.new(template).render self

template_footer = File.read "#{Rails.root}/app/views/layouts/portfolio_footer.haml"
@ci = self
pdf_footer_html = Haml::Engine.new(template_footer).render self

pdfkit_instance = PDFKit.new(pdf_html, :orientation => 'Landscape', 'footer-html' => pdf_footer_html)

send_data(pdf.to_pdf, :filename => "generated.pdf", :type => 'application/pdf')

不幸的是,这导致了“Broken Pipe”错误:

pdfkit (0.5.2) lib/pdfkit/pdfkit.rb:65:in `write'
pdfkit (0.5.2) lib/pdfkit/pdfkit.rb:65:in `puts'
pdfkit (0.5.2) lib/pdfkit/pdfkit.rb:65:in `block in to_pdf'
pdfkit (0.5.2) lib/pdfkit/pdfkit.rb:64:in `popen'
pdfkit (0.5.2) lib/pdfkit/pdfkit.rb:64:in `to_pdf'
app/controllers/admin/collection_items_controller.rb:9:in `test_generate_pdf'

当我生成没有页脚的 PDF 时,它是成功的。如果我使用页脚 html 作为主要的 html 源,它也会成功。使用像“footer-right”这样的纯文本选项之一也可以,但显然我想使用 html 选项。这种行为在本地和部署到 Heroku 时都是一致的。

【问题讨论】:

    标签: ruby-on-rails ruby heroku pdfkit


    【解决方案1】:

    试试这条线

    pdfkit_instance = PDFKit.new(pdf_html, :orientation => 'Landscape', :footer_html => pdf_footer_html)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-21
      • 2014-04-28
      • 2011-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-13
      • 1970-01-01
      相关资源
      最近更新 更多