【问题标题】:Rails email to pdfRails 电子邮件到 pdf
【发布时间】:2016-02-04 15:42:36
【问题描述】:

我正在尝试使用 rails 4 应用程序中的 wicked_pdf gem 将电子邮件呈现为 pdf 文件。

这样的操作可能吗?我试过了

ApplicationController.new.render_to_string :text => email.body, :format => :pdf, :template => 'wicked_pdf/template', :layout => 'wicked_pdf'

但这会产生一个空字符串。请注意,即使不应该使用模板,我也创建了它们,因为它们需要渲染才能工作。

email.body 可以用任意字符串替换得到相同的结果。

两个文件都是空的,只有一个<%= yield %>

【问题讨论】:

  • 电子邮件从哪里进入?
  • 嘿,马克斯,为了清楚起见,我编辑了帖子

标签: ruby-on-rails pdf wicked-pdf


【解决方案1】:

来自 Wicked PDF 文档:

wkhtmltopdf 二进制文件在 Rails 应用程序之外运行;因此,您的正常布局将不起作用。如果您计划使用任何 CSS、Javascript 或图像文件,则必须修改布局以便提供对这些文件的绝对引用。

这就是我通常渲染邪恶 PDF 文件的方式。

    pdf = WickedPdf.new.pdf_from_string(
      ActionController::Base.new().render_to_string(:template => YourTemplate, :locals => {:something => @something})
    ) 

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    我从 rii 的回答中推断出正确的解决方案:

    如果您已经有一个字符串或 html 文本,您可以通过简单地调用将其呈现为 pdf

    pdf = WickedPdf.new.pdf_from_string(email.body)
    

    无需调用任何渲染。所以你不需要任何模板或任何东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 2011-08-11
      相关资源
      最近更新 更多