Rails电子邮件至pdf

问题描述:

我试图使用rails 4应用程序中的wicked_pdf gem将PDF格式的电子邮件呈现给PDF文件。Rails电子邮件至pdf

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

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

但是,这会产生一个空字符串。请注意,即使不应使用模板,我也会根据渲染的需要创建它们。

email.body可以被任何字符串替换为相同的结果。

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

+0

电子邮件来自哪里? –

+0

Hey max,为了清晰起见,我编辑了帖子 – muichkine

我推断从RII的答案正确的解决方案:

如果你已经有一个字符串或HTML文本时,可以呈现为一个PDF文件通过简单地调用

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

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

从邪恶的PDF文档:

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

这是我通常如何渲染恶意的PDF文件。

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

希望有所帮助。