这是看了一下的文章而进行的一个总结,因为最近也在想如何通过程序来生成PDF文件。
Reponse有个这样的属性ContentType,获取或设置输出流的 HTTP MIME 类型。通常我们输出的默认形式都是HTML文本格式(text/html),不过如果希望输出的文件类型是javascript类型、CSS样式单类型、JPEG图片类型、Excel类型、Word类型等,都可以进行相应的设置。当然,PDF类型也是可以设置的。
所以当希望输出的文件格式是PDF的时候,可以通过以下的程序设置。
HttpContext.Current.Response.ContentType = "application/pdf"; // Or any other MIME type
HttpContext.Current.Response.AddHeader("content-disposition", "filename=somefilename.pdf");
如果希望输出的文件是以下载的形式展现,那么应该如下
HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=somefilename.pdf");
这篇文章还提到了几个可以参考的PDF生成的控件。
· TallPDF.NET(not free)
· FOP (open source)
· Report.NET (open source)
· NPDF (open source)
MIME介绍,常用的类型如下
Mime-Typ
| Dateiendung(en)
| Bedeutung
|
application/msexcel | *.xls *.xla | Microsoft Excel Dateien |
application/mshelp | *.hlp *.chm | Microsoft Windows Hilfe Dateien |
application/mspowerpoint | *.ppt *.ppz *.pps *.pot | Microsoft Powerpoint Dateien |
application/msword | *.doc *.dot | Microsoft Word Dateien |
application/pdf | | Adobe PDF-Dateien |
application/postscript | *.ai *.eps *.ps | Adobe Postscript-Dateien |
application/rtf | *.rtf | Microsoft RTF-Dateien |
application/x-httpd-php | *.php *.phtml | PHP-Dateien |
application/x-javascript | *.js | serverseitige JavaScript-Dateien |
application/x-shockwave-flash | *.swf *.cab | Flash Shockwave-Dateien |
application/zip | *.zip | ZIP-Archivdateien |
audio/basic | *.au *.snd | Sound-Dateien |
audio/x-midi | *.mid *.midi | MIDI-Dateien |
audio/x-mpeg | *.mp2 | MPEG-Dateien |
audio/x-wav | *.wav | Wav-Dateien |
image/gif | *.gif | GIF-Dateien |
image/jpeg | *.jpeg *.jpg *.jpe | JPEG-Dateien |
image/x-windowdump | *.xwd | X-Windows Dump |
text/css | *.css | CSS Stylesheet-Dateien |
text/html | *.htm *.html *.shtml | -Dateien |
text/javascript | *.js | JavaScript-Dateien |
text/plain | *.txt | reine Textdateien |
video/mpeg | *.mpeg *.mpg *.mpe | MPEG-Dateien |
video/quicktime | *.qt *.mov | Quicktime-Dateien |
video/vnd.vivo | *viv *.vivo | Vivo-Dateien |
原文: http://www.donews.net/lealting/services/trackbacks/30509.aspx
作者:Doer