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  

これにより、ルート内の「pdfs」というフォルダーにusername.pdfとして保存されます。お役に立てば幸いです。

于 2011-04-24T06:51:22.427 に答える
1

私が知っている限り、respond_toブロックからファイルを直接保存することはできませんが、実際にそのページに.pdf拡張子を付けてアクセスし、保存する何らかのスクリプトが必要になります。

私はwkhtmltopdfをお勧めします。これは、頻繁に使用し、PDFを非常によくレンダリングするためです。これにより、PDFをファイルシステムに保存できます。

于 2011-02-15T04:13:25.610 に答える