4

我正在使用WickedPdf

respond_to do |format|
  format.html
  format.pdf do
    render :pdf => "file_name"
  end
end  

这工作正常。用户可以下载生成的 pdf 。但我需要将生成的 pdf 存储在服务器中以用于其他目的,例如邮寄等我如何保存生成的 pdf?

我尝试了以下但不知道如何将 html 传递给 wickedpdf wicked_pdf 不起作用——Ruby on Rails

提前致谢

4

2 回答 2

9

您可能已经想通了,但我现在正在学习 WickedPdf,并且刚刚学习了如何直接保存在您的控制器中的 respond_to 块中。这个https://github.com/mileszs/wicked_pdf在 Git 页面上有很好的文档。这是我的控制器中用于显示操作的内容:

  def show
@user = User.find(params[:id])
respond_to do |format|
  format.html # show.html.erb
  format.pdf do
    render :pdf => "#{@user.name}",
    :save_to_file => Rails.root.join('pdfs', "#{@user.name}.pdf")
  end
end
end  

这最终将它作为 username.pdf 保存到我的根目录中名为“pdfs”的文件夹中。希望有帮助。

于 2011-04-24T06:51:22.427 回答
1

据我所知,您无法直接从 respond_to 块保存文件,您需要某种脚本来实际访问带有.pdf扩展名的页面并保存它。

我推荐wkhtmltopdf,因为我经常使用它,它可以很好地呈现 PDF。这将允许您将 PDF 保存到文件系统。

于 2011-02-15T04:13:25.610 回答