我正在使用WickedPdf
respond_to do |format|
format.html
format.pdf do
render :pdf => "file_name"
end
end
这很好用。用户可以下载生成的pdf。但我需要将生成的pdf存储在服务器中以用于其他目的,如邮件等 我该如何保存这个生成的pdf?
我尝试了以下但不知道如何将html传递给wickedpdf wicked_pdf doesn't work -- Ruby on Rails
提前致谢
答案 0 :(得分:9)
你可能已经想到了这一点,但我现在正在学习WickedPdf并且刚学会了如何在respond_to块中直接保存在你的控制器中。这个https://github.com/mileszs/wicked_pdf的Git页面上有很好的文档。这是我在控制器中为show动作提供的内容:
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
这最终会将其保存到我的根中名为“pdfs”的文件夹中,作为username.pdf。希望有所帮助。
答案 1 :(得分:1)
据我所知,您无法直接从respond_to块保存文件,您需要某种实际访问该页面并使用 .pdf 扩展名的脚本并保存。
我推荐wkhtmltopdf,因为我经常使用它,它很好地呈现PDF。这将允许您将PDF保存到文件系统。