代码之家  ›  专栏  ›  技术社区  ›  muichkine

Rails电子邮件至pdf

  •  0
  • muichkine  · 技术社区  · 9 年前

    我正在尝试使用 wicked_pdf rails4应用程序中的gem。

    这种手术可能吗?我试过了

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

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

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

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

    2 回复  |  直到 9 年前
        1
  •  1
  •   rii    9 年前

    来自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
  •  0
  •   muichkine    9 年前

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

    如果您已经有一个字符串或html文本,只需调用

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

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