2011-06-14 62 views
0

我使用蝦寶石生成PDF文件返回給客戶端的文件保存到項目的根如何生成使用蝦寶石

PDF,

pdf.render_file(「csv.pdf」)

而是我想在保存到root之前打開pdf,然後將其保存到任何位置

怎麼去?

感謝

+1

「open」是什麼意思?客戶使用pdf程序打開? – pduersteler 2011-06-14 08:29:04

+0

是的PDF應該打開客戶端,然後保存到所需的位置 – lamrin 2011-06-14 08:36:42

回答

4

嘗試在控制器:

respond_to do |format| 
    format.pdf do 
    `send_data your_pdf.render, :filename=>"default_filename.pdf", :type=>"application/pdf"` 
    end 
end 

其中your_pdf是你與蝦創建的對象。

+0

我使用此代碼,但它需要到空白頁面pdftable =蝦:: Document.new pdftable.table([[「Name」,「Login」]] ]) respond_to do | format | format.pdf做 SEND_DATA pdftable.render,:文件名=> 「default_filename.pdf」:類型=> 「應用/ PDF」 結束 結束 – lamrin 2011-06-14 09:14:07

+0

您可以檢查日誌,看看是否有任何錯誤顯示?如果是這樣,你可以在這裏發佈嗎?你使用的是哪種版本的蝦? – Sorrow 2011-06-14 09:24:17

+0

只是這個代碼的作品'send_data pdftable.render,:filename =>「default_filename.pdf」,:type =>「application/pdf」'跳過其餘的。我在初始化程序中添加了mimetype以使其工作。 – lamrin 2011-06-14 09:47:53

0

您也可以使用inline => false選項來用戶prawnto。