实战 iTextSharp
iTextSharp 是用来生成 PDF 的一个组件,在 1998 年夏天的时候,Bruno Lowagie ,iText 的创作者,参与了学校的一个项目,当时使用 HTML 来生成报告,但是,使用 HTML 打印的效果很不理想。最后,他发现,使用 PDF 可以完美解决打印问题,为了能够在各个系统中使用,iText 组件库诞生了。
最初的 iText 主要是支持 Java 語言。之後針對Microsoft .NET C Sharp做了一個版本,也就是我們今天要介紹的 iTextSharp。
目前,iTextSharp 的版本是 5.1.2,下载地址:http://sourceforge.net/projects/itextsharp/files/
其中主要包含了核心组件:itextsharp.dll
但是,直接使用它并不能处理中文,你还要下载两个组件。
在下载页面中,注意图中标注的 extras 文件夹。
点击之后,可以看到如下的下载:
注意把标注的两个压缩包下载下来,这是使用中文的关键。解开两个压缩之后可以看到下面的两个文件。
iTextAsianCmaps.dll
iTextAsian.dll
在创建的项目中,将这三个程序集都添加到项目的引用中。
// 必须先加入资源 BaseFont.AddToResourceSearch( "iTextAsian.dll" ); BaseFont.AddToResourceSearch( "iTextAsianCmaps.dll" ); //"UniGB-UCS2-H" "UniGB-UCS2-V"是简体中文,分别表示横向字 和 纵向字 //"STSong-Light"是字体名称 BaseFont bf = BaseFont.CreateFont( "STSong-Light" , "UniGB-UCS2-H" , BaseFont.EMBEDDED); // 也可以使用 TTF 字体 BaseFont bf0 = BaseFont.CreateFont( "C:/WINDOWS/Fonts/SIMYOU.TTF" , BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); // 创建 PDF 文档 iTextSharp.text.Document document = new iTextSharp.text.Document(); // 创建写入器实例,PDF 文件将会保存到这里 iTextSharp.text.pdf.PdfWriter.GetInstance(document, new System.IO.FileStream( "Demo.pdf" , System.IO.FileMode.Create) ); // 打开文档 document.Open(); iTextSharp.text.Font font = new iTextSharp.text.Font(bf); //写入一个段落, Paragraph document.Add( new Paragraph( "你好, PDF !" , font)); document.Close(); |
现在,你应该已经得到一个 PDF 文档了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步