rails:2786
From: 山崎雄介 <y-yamasaki@s...>
Date: Fri, 27 Jun 2008 18:07:05 +0900
Subject: [rails:2786] send_fileでPDFをダウンロードさせる方法
山崎(ゆ)です。
PDFファイルを生成してダウンロードさせるプログラムを書いています。
PDFの生成はgemのhpdfで行っています。
最後にsend_fileすると、ブラウザでは一応ダウンロードすることはできるのですが、フ
ァイルタイプを認識していないのか、PDFとして開いてくれません。たとえばFirefoxではhtm拡張子が付加されてテキストデータとして表示されます。
どうしたらブラウザにPDFとして認識してもらえるのでしょうか?
サーバはWindows(webrick/mongrel)とCentOSで試して同じ結果でした。
クライアントはWindows(IE7/Firefox)です。
よろしくお願いします。
[環境]
WindowsXP
ruby 1.8.6-p111, rails(2.0.2)
mongrel(1.1.5)
CentOS5.1
ruby 1.8.6-p111, rails(2.0.2)
Apache/2.2.3 + mod-fcgid
[コントローラの抜粋]
#===================================================
class EventController < ApplicationController
def event_report
# PDFオブジェクト生成
pdf = HPDFDoc.new
pdf.use_jp_fonts
pdf.use_jp_encodings
page = pdf.add_page
page.set_size(HPDFDoc::HPDF_PAGE_SIZE_A4, HPDFDoc::HPDF_PAGE_PORTRAIT)
@events = Event.find(:all)
# ------
# PDFの内容を書く(略)
# ------
# PDFをテンポラリに落としてから送る
filename = "event_report.pdf"
dirname = File.join(RAILS_ROOT, 'tmp', 'pdf')
fullpath = File.join(dirname, fullpath)
pdf.save_to_file(fullpath)
send_file fullpath, :filename=>filename, :type=>'application/pdf'
end
end
_______________________
Yusuke Yamasaki <y-yamasaki@s...>
--
ML: rails@r...
使い方: http://QuickML.com/
-> 2786 2008-06-27 11:07 [y-yamasaki@s... ] send_fileでPDFをダウンロードさせる方法 2787 2008-06-27 11:13 ┗[kimoto@o... ] 2788 2008-06-27 11:24 ┗[y-yamasaki@s... ] 2789 2008-06-27 11:40 ┣[kimoto@o... ] 2790 2008-06-27 13:06 ┃┗[y-yamasaki@s... ] 2791 2008-06-27 17:39 ┗[t-makino@w... ] 2792 2008-06-28 09:35 ┗[y-yamasaki@s... ] 2793 2008-06-28 12:17 ┗[y-yamasaki@s... ] 2795 2008-07-01 07:37 ┗[y-yamasaki@s... ]