【问题标题】:Generate PDF file from Rails view从 Rails 视图生成 PDF 文件
【发布时间】:2015-08-31 01:47:48
【问题描述】:

我在 SO 上看到了很多问题,详细说明了如何使用 prawn 在浏览器中显示 PDF,但我想创建一个 PDF 文件用作电子邮件中的附件。

目前,我正在使用 Rails ActionMailer 向我们的商家发送 HTML 格式的发票。我们被要求生成发票的 PDF 格式并将其作为附件发送,以便他们保留文件以供内部记录使用。

我希望能够使用我用来发送电子邮件的相同 erb 模板(这是关键部分),而是输出 PDF。这可以使用虾(或其他任何东西)吗?

【问题讨论】:

  • Wicked PDF 将从 Web 视图 (erb) 生成 PDF 文件,而不是像 Prawn 那样单独编写脚本。这就是你要找的东西吗?

标签: ruby-on-rails pdf prawn


【解决方案1】:

我最终决定使用 wicked_pdf,正如我对问题的评论中所建议的那样。我可以这样使用它

mail subject: "Order #{order.id}" do |format|
  format.text
    format.html do
      attachments["receipt #{Time.now}.pdf"] = WickedPdf.new.pdf_from_string(
        render_to_string pdf: 'receipt', template: 'order_mailer/order_receipt.html.erb'
      )
      render 'order_receipt'
    end
  end
end

这仍然会以 HTML 和文本形式呈现电子邮件,但还会将 PDF 附加到使用与邮件程序相同模板的电子邮件中

【讨论】:

    猜你喜欢
    • 2016-11-04
    • 1970-01-01
    • 1970-01-01
    • 2010-09-30
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    • 2015-07-18
    • 1970-01-01
    相关资源
    最近更新 更多