iTextSharp 简介:它是什么以及为什么需要它
\n\niTextSharp 是一个强大的库,用于在 .NET 平台(C#、VB.NET、F#)上生成和处理 PDF 文档。它是流行的 Java 库 iText 的移植版本,为开发者提供了对 PDF 文件创建、修改和读取的完全控制。
\n\niTextSharp 的主要功能:
\n- \n
- 从头创建 PDF 文档 \n
- 添加文本、图像、表格、列表
- 处理字体(包括西里尔字母和 Unicode)
- 插入超链接、书签、元数据
- 加密和密码保护
- 合并和拆分 PDF 文件
- 添加水印和页眉页脚
- 处理表单(AcroForms)
该库广泛应用于企业应用程序中,用于生成报告、发票、运单、证书和其他文档。iTextSharp 支持 .NET Framework 2.0+ 和 .NET Core(通过 iTextSharp.LGPLv2.Core)。
\n\n安装 iTextSharp
\n\n要在 .NET 项目中安装 iTextSharp,请使用 NuGet Package Manager。该库有多个版本:
\n\n- \n
- iTextSharp(旧版本 5.x,LGPL)——免费但有局限性
- iTextSharp.LGPLv2.Core——适用于 .NET Core / .NET 5+ 的分支
- iText7 (iText.LGPLv2.Core)——适用于 .NET 的 iText 7 新版本
通过 Package Manager Console 安装:
\nInstall-Package iTextSharp.LGPLv2.Core -Version 1.7.0\n\n通过 .NET CLI 安装:
\ndotnet add package iTextSharp.LGPLv2.Core --version 1.7.0\n\n通过 Visual Studio NuGet UI 安装:
\n- \n
- 右键单击项目 → "Manage NuGet Packages"
- 搜索:"iTextSharp.LGPLv2.Core"
- 选择版本并点击 "Install"
重要提示:要使用西里尔字母和其他非标准字体,需要额外配置(请参阅“提示”部分)。
\n\n快速入门:创建第一个 PDF 文档
\n\n让我们看一个创建包含 "Hello, World!" 文本的 PDF 文件的最小示例:
\n\nusing System.IO;\nusing iTextSharp.text;\nusing iTextSharp.text.pdf;\n\nclass Program\n{\n static void Main()\n {\n // 创建文档\n Document doc = new Document();\n \n // 创建写入文件的流\n using (FileStream fs = new FileStream("HelloWorld.pdf", FileMode.Create))\n {\n // 获取 PdfWriter 实例\n PdfWriter writer = PdfWriter.GetInstance(doc, fs);\n \n // 打开文档\n doc.Open();\n \n // 添加包含文本的段落\n doc.Add(new Paragraph("Hello, World!"));\n \n // 关闭文档\n doc.Close();\n }\n \n Console.WriteLine("PDF 创建成功!");\n }\n}\n\n此代码将在可执行文件所在的文件夹中创建 HelloWorld.pdf 文件。请注意顺序:创建 Document → 打开 → 添加内容 → 关闭。
iTextSharp 的主要方法和函数
\n\n让我们看看该库的 10 个关键方法/类,并附有详细说明和示例。
\n\n1. Document(类)
\n功能:表示 PDF 文档本身。管理页面、边距和方向。
\n构造函数参数:
\n- \n
Rectangle pageSize——页面大小(例如 PageSize.A4)float marginLeft, marginRight, marginTop, marginBottom——边距
示例:
\n// 创建横向 A4 文档并自定义边距\nDocument doc = new Document(PageSize.