【问题标题】:Rails : How to save the pdf file generated using wicked pdfRails:如何保存使用 wicked pdf 生成的 pdf 文件
【发布时间】:2011-02-15 04:03:50
【问题描述】:

我正在使用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

提前致谢

【问题讨论】:

    标签: ruby-on-rails-3 pdf-generation wicked-pdf


    【解决方案1】:

    您可能已经想通了,但我现在正在学习 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”的文件夹中。希望有帮助。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 好吧,我明白了。但是如何在渲染之前存储 html?
      • 我可以使用ERB模块在后台渲染部分并将其保存为html吗?
      • 您只需告诉该脚本要访问哪个页面(因此您将为其提供页面的 html 版本),它会保存 html 的 PDF。因此,一旦您“安装”该脚本,您将提供类似“wkhtmltopdf google.com /Desktop/google.pdf”的内容,它将 google.com 转换为 PDF 并将其保存在 /Desktop
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-13
      相关资源
      最近更新 更多