我尝试使用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 %>
。
答案 0 :(得分: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})
)
希望有所帮助。
答案 1 :(得分:0)
我从rii的回答中推断出正确的解决方案:
如果您已经有字符串或html文本,只需调用
即可将其呈现为pdfpdf = WickedPdf.new.pdf_from_string(email.body)
无需调用任何渲染。所以你不需要任何模板或任何东西。