1.使用.NET檔案流技術;
若通過.NET的檔案流技術產生PDF檔案,必須對PDF檔案的文法很清楚,例如BT表示實體內容開始;ET表示實體內容結束;TD表示換行等等。我們可以從Adobe的官方網站上下載PDF的文法說明文檔,但文檔幾乎有1000頁。如果熟悉好文法以後再編程,花費的時間肯定很長,而且產生的PDF文檔不一定能滿足要求。有關C# 代碼參見附件。
有關PDF檔案的文法詳見:
http://partners.adobe.com/public/developer/en/pdf/PDFReference.pdf
2.使用第三方控制項
I.開原始檔控制
① ASP.NET FO PDF at SourceForge.net - generates XSL-FO from DataTable to render PDF
② iTextSharp at SourceForge.net
1.Examples and Tutorial: http://itextsharp.sourceforge.net/
2.Also see this article: Create PDF on the fly with .NET and iTextSharp by Valerio Fornito, DoPostBack.com
③ PDFCreator at GotDotNet - design PDF document visually using Visual Studio IDE
④ Report.NET at SourceForge.net
II.商業控制項
① ABCpdf .NET by WebSupergoo - free license also available
② Apoc XSL-FO by Chive Software - generates PDF using XSL-FO
③ Aspose.Pdf by Aspose
④ DynamicPDF by ceTe Software
⑤ PDF4NET by O2 Solutions
⑥ PDFLib by PDFLib GmbH
⑦ TallPDF.NET by TallComponents - able to create PDF documents either programmatically using an object model or from XML.
Tutorial: Create and manipulate PDF documents - 100% .NET by Frank Rem (CodeProject.com)
⑧ XMLPDF by Visual Programming - converts XML to PDF
從成本考慮,使用開原始檔控制是一個不錯的選擇。在我所作的項目中,就採用了iTextSharp組件,產生的PDF檔案能夠滿足項目要求。有關iTextSharp的DLL、原始碼和編碼執行個體都可以從http://itextsharp.sourceforge.net/獲得。
3.使用Acrobat Distiller
可以在C# 或者指令檔(.js 或 .vbs)中直接調用Acrobat Distiller對象,從而產生PDF檔案。但是從著作權考慮,則需購買Adobe Acrobat Professional。
代碼可參考以下網址:
http://dev.yesky.com/msdn/123/2101623.shtml
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1400135