产品比较 iTextSharp 读取 PDF 替代方案(开发人员教程) Curtis Chau 已更新:七月 28, 2025 Download IronPDF NuGet 下载 DLL 下载 Windows 安装程序 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article PDF(便携式文档格式)是一种广泛用于一致且安全地共享文档的文件格式。 在C#中读取和操作这样的文件是各种应用程序的常见需求,例如文档管理系统、报告工具等。 在本文中,我们将比较两个用于在C#中读取PDF文件的流行库:IronPDF和iTextSharp(最新的.NET库iText)。 IronPDF is a comprehensive C# library from Iron Software的全面C#库,提供了许多功能用于处理PDF文件。 它允许开发人员无缝地创建、编辑和操作PDF文档。 IronPDF以其简单和易用性著称,使其成为需要快速将PDF功能集成到应用程序中的开发人员的绝佳选择。 iTextSharp是另一个用于在C#中处理PDF文件的流行库。 它已经存在了一段时间,并在行业中被广泛使用。 iText提供了一组丰富的功能用于创建和操作PDF文档。 它以其灵活性和可扩展性著称,使其适用于复杂的PDF相关任务。 如何使用IronPDF与iTextSharp读取C#中的PDF 在Visual Studio中创建一个新的C#项目,以比较使用IronPDF与iTextSharp读取PDF文件。 将IronPDF和iTextSharp库安装到项目中。 使用IronPDF读取PDF文件。 使用iTextSharp读取PDF文件。 前提条件 Visual Studio: 确保您已安装Visual Studio或其他C#开发环境。 NuGet包管理器: 确保您可以使用NuGet管理项目中的包。 步骤1: 在Visual Studio中创建一个新的C#项目以比较使用IronPDF与iTextSharp读取PDF文件 首先设置一个C#控制台应用程序。 打开Visual Studio并选择创建新项目。 选择控制台应用程序类型。 提供如下所示的项目名称。 选择项目所需的.NET版本。 完成后,Visual Studio将生成一个新项目。 步骤2: 将IronPDF和iTextSharp库安装到项目中 iTextSharp可以从NuGet 包管理器中的iText包管理器安装。 最新版本作为iText包提供。 或者从Visual Studio包管理器如下所示。 在包管理器中搜索iText并点击安装。 IronPDF can be installed from the NuGet 包管理器中的IronPDF如下所示。 或者从Visual Studio包管理器如下所示。 在包管理器中搜索IronPDF: C# PDF库然后点击安装。 步骤3: 使用IronPDF从PDF文件中读取文本 将下面的代码添加到Program.cs文件中,并提供一个包含指定内容的示例PDF文档。 using IronPdf; // Begin the comparison of IronPDF and iTextSharp for reading PDFs in C# Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#"); // Read PDF using IronPDF ReadUsingIronPDF.Read(); public class ReadUsingIronPDF { public static void Read() { // Specify the path to the PDF document string filename = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf"; // Create a PDF Reader instance to read the PDF var pdfReader = PdfDocument.FromFile(filename); // Extract all text from the PDF var allText = pdfReader.ExtractAllText(); Console.WriteLine("------------------Text From PDF-----------------"); Console.WriteLine(allText); Console.WriteLine("------------------Text From PDF-----------------"); // Extract all images from the PDF var allImages = pdfReader.ExtractAllImages(); Console.WriteLine("------------------Image Count From PDF-----------------"); Console.WriteLine($"Total Images = {allImages.Count()}"); Console.WriteLine("------------------Image Count From PDF-----------------"); // Iterate through each page to extract text from them Console.WriteLine("------------------One Page Text From PDF-----------------"); var pageCount = pdfReader.PageCount; for (int page = 0; page < pageCount; page++) { string text = pdfReader.ExtractTextFromPage(page); Console.WriteLine(text); } } } using IronPdf; // Begin the comparison of IronPDF and iTextSharp for reading PDFs in C# Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#"); // Read PDF using IronPDF ReadUsingIronPDF.Read(); public class ReadUsingIronPDF { public static void Read() { // Specify the path to the PDF document string filename = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf"; // Create a PDF Reader instance to read the PDF var pdfReader = PdfDocument.FromFile(filename); // Extract all text from the PDF var allText = pdfReader.ExtractAllText(); Console.WriteLine("------------------Text From PDF-----------------"); Console.WriteLine(allText); Console.WriteLine("------------------Text From PDF-----------------"); // Extract all images from the PDF var allImages = pdfReader.ExtractAllImages(); Console.WriteLine("------------------Image Count From PDF-----------------"); Console.WriteLine($"Total Images = {allImages.Count()}"); Console.WriteLine("------------------Image Count From PDF-----------------"); // Iterate through each page to extract text from them Console.WriteLine("------------------One Page Text From PDF-----------------"); var pageCount = pdfReader.PageCount; for (int page = 0; page < pageCount; page++) { string text = pdfReader.ExtractTextFromPage(page); Console.WriteLine(text); } } } Imports IronPdf ' Begin the comparison of IronPDF and iTextSharp for reading PDFs in C# Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#") ' Read PDF using IronPDF ReadUsingIronPDF.Read() 'INSTANT VB TODO TASK: Local functions are not converted by Instant VB: 'public class ReadUsingIronPDF '{ ' public static void Read() ' { ' ' Specify the path to the PDF document ' string filename = "C:\code\articles\ITextSharp\ITextSharpIronPdfDemo\Example.pdf"; ' ' ' Create a PDF Reader instance to read the PDF ' var pdfReader = PdfDocument.FromFile(filename); ' ' ' Extract all text from the PDF ' var allText = pdfReader.ExtractAllText(); ' Console.WriteLine("------------------Text From PDF-----------------"); ' Console.WriteLine(allText); ' Console.WriteLine("------------------Text From PDF-----------------"); ' ' ' Extract all images from the PDF ' var allImages = pdfReader.ExtractAllImages(); ' Console.WriteLine("------------------Image Count From PDF-----------------"); ' Console.WriteLine(string.Format("Total Images = {0}", allImages.Count())); ' Console.WriteLine("------------------Image Count From PDF-----------------"); ' ' ' Iterate through each page to extract text from them ' Console.WriteLine("------------------One Page Text From PDF-----------------"); ' var pageCount = pdfReader.PageCount; ' for (int page = 0; page < pageCount; page++) ' { ' string text = pdfReader.ExtractTextFromPage(page); ' Console.WriteLine(text); ' } ' } '} $vbLabelText $csharpLabel 代码解释 创建一个Word文档: 起初,创建一个包含所需文本内容的Word文档,并将其保存为名为Example.pdf的PDF文档。 PDFReader 实例: 代码使用PDF文件路径创建一个PdfDocument对象以提取文本和图像。 提取文本和图像: 使用ExtractAllText方法获取文档中的所有文本,而ExtractAllImages提取图像。 按页提取文本: 使用ExtractTextFromPage方法提取每页的文本。 输出 步骤3: 使用iTextSharp从PDF文件中读取文本 现在为了比较从iTextSharp读取的文本,将下面的代码添加到同一个Program.cs文件中。为简单起见,我们没有将类分成不同的文件。 using IronPdf; using iText.Kernel.Pdf; using iText.Kernel.Pdf.Canvas.Parser.Listener; using iText.Kernel.Pdf.Canvas.Parser; // Begin the comparison of IronPDF and iTextSharp for reading PDFs in C# Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#"); // Call method to read PDF using iTextSharp library ReadUsingITextSharp.Read(); public class ReadUsingITextSharp { public static void Read() { // Specify the path to the PDF document string pdfFile = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf"; // Create a PDF Reader instance PdfReader pdfReader = new PdfReader(pdfFile); // Initialize a new PDF Document iText.Kernel.Pdf.PdfDocument pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfReader); // Use a text extraction strategy to extract plain text from the PDF LocationTextExtractionStrategy strategy = new LocationTextExtractionStrategy(); string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy); // Display the extracted text Console.WriteLine(pdfText); } } using IronPdf; using iText.Kernel.Pdf; using iText.Kernel.Pdf.Canvas.Parser.Listener; using iText.Kernel.Pdf.Canvas.Parser; // Begin the comparison of IronPDF and iTextSharp for reading PDFs in C# Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#"); // Call method to read PDF using iTextSharp library ReadUsingITextSharp.Read(); public class ReadUsingITextSharp { public static void Read() { // Specify the path to the PDF document string pdfFile = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf"; // Create a PDF Reader instance PdfReader pdfReader = new PdfReader(pdfFile); // Initialize a new PDF Document iText.Kernel.Pdf.PdfDocument pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfReader); // Use a text extraction strategy to extract plain text from the PDF LocationTextExtractionStrategy strategy = new LocationTextExtractionStrategy(); string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy); // Display the extracted text Console.WriteLine(pdfText); } } Imports IronPdf Imports iText.Kernel.Pdf Imports iText.Kernel.Pdf.Canvas.Parser.Listener Imports iText.Kernel.Pdf.Canvas.Parser ' Begin the comparison of IronPDF and iTextSharp for reading PDFs in C# Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#") ' Call method to read PDF using iTextSharp library ReadUsingITextSharp.Read() 'INSTANT VB TODO TASK: Local functions are not converted by Instant VB: 'public class ReadUsingITextSharp '{ ' public static void Read() ' { ' ' Specify the path to the PDF document ' string pdfFile = "C:\code\articles\ITextSharp\ITextSharpIronPdfDemo\Example.pdf"; ' ' ' Create a PDF Reader instance ' PdfReader pdfReader = New PdfReader(pdfFile); ' ' ' Initialize a new PDF Document ' iText.Kernel.Pdf.PdfDocument pdfDocument = New iText.Kernel.Pdf.PdfDocument(pdfReader); ' ' ' Use a text extraction strategy to extract plain text from the PDF ' LocationTextExtractionStrategy strategy = New LocationTextExtractionStrategy(); ' string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy); ' ' ' Display the extracted text ' Console.WriteLine(pdfText); ' } '} $vbLabelText $csharpLabel 输出 iTextSharp限制 学习曲线: iTextSharp对初学者来说有较陡的学习曲线。 许可: iTextSharp的许可模式可能不适合所有项目,尤其是那些有预算限制的项目。 IronPDF的好处 易用性: IronPDF因其简单明了的API而闻名,使开发人员易于上手。 文档渲染: IronPDF提供准确的PDF文档渲染,确保提取的文本忠于原版。 许可(提供免费试用) 将您的IronPDF许可密钥插入到appsettings.json文件中。 "IronPdf.LicenseKey": "your license key" 要获取试用许可,请提供您的电子邮件。 结论 在IronPDF和iTextSharp之间的选择取决于项目的具体要求。 如果您需要一个简单易用的库来处理常见的PDF操作,IronPDF可能是更好的选择。在做决定时需考虑应用程序的复杂性、预算和学习曲线等因素。 IronPDF旨在无缝地将PDF生成集成到您的应用程序中,轻松处理格式化文档到PDF的转换。 这个多功能工具允许您使用.NET将网络表单、本地HTML页面和其他网络内容转换为PDF。 用户可以方便地下载、发送邮件或将文档存储在云中。 无论您需要生成发票、报价单、报告、合同或其他专业文档,IronPDF的PDF 生成能力都能满足您的需求。 通过IronPDF直观而高效的PDF生成功能提升您的应用程序。 [{i:(iText和iTextSharp是其各自所有者的注册商标。 本网站并未与iText或iTextSharp存在关联、获得其认可或赞助。所有产品名称、标识和品牌均为其各自所有者的财产。 比较仅供参考,反映的是撰写时的公开信息。] 常见问题解答 如何在 C# 中读取 PDF 文件? 您可以使用 IronPDF 库通过创建 PdfDocument 实例并使用 ExtractAllText 和 ExtractAllImages 等方法从 PDF 中提取内容。 选择 C# 的 PDF 库时应该考虑什么? 选择库时,考虑诸如易用性、许可、学习曲线和特定项目需求等因素,例如用于 C# 中的 PDF 操作的 IronPDF 和 iTextSharp。 如何在我的 C# 项目中安装 PDF 库? 您可以通过在 Visual Studio 的 NuGet 包管理器中搜索 'IronPDF: C# PDF Library' 并点击 'Install' 按钮来安装 IronPDF。 使用IronPDF进行PDF操作的优势是什么? IronPDF 提供了易用性、简洁的 API 和准确的文档呈现,使其成为需要快速集成 PDF 功能的开发人员的理想选择。 使用 IronPDF 和 iTextSharp 的复杂程度有差异吗? 是的,IronPDF 以其简单著称,而 iTextSharp 提供更多的灵活性和可扩展性,这可能需要更陡峭的学习曲线。 IronPDF 可以将 HTML 内容转换为 PDF 吗? 是的,IronPDF 可以无缝地将 HTML 内容(例如网页表单和页面)转换为 PDF 文档,便于下载和通过电子邮件发送 PDF。 使用 iTextSharp 进行 PDF 任务的一些限制是什么? iTextSharp 可能会带来更陡峭的学习曲线,其许可模式可能不适合所有项目预算,尤其是当您需要一个简单的解决方案时。 IronPDF 如何增强应用程序功能? IronPDF 可以将 PDF 生成和操作功能集成到应用程序中,允许将网页内容转换为 PDF 并处理发票和报告等专业文档。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已发布十一月 13, 2025 比较 C# HTML 到 PDF 开源与 IronPDF 比较开源 HTML 到 PDF 库与 IronPDF for C#。发现哪个解决方案为您的 .NET 项目提供最佳的 PDF 生成能力。 阅读更多 已发布十月 27, 2025 哪种 ASP.NET Core PDF 库性价比最高? 发现适合ASP.NET Core应用程序的最佳PDF库。比较IronPDF的Chrome引擎与Aspose和Syncfusion的替代品。 阅读更多 已发布十月 27, 2025 如何使用 Aspose C# 与 IronPDF 创作 PDF 通过此逐步指南,学习如何使用 Aspose C# 与 IronPDF 创建 PDF,专为开发人员设计。 阅读更多 如何在C#中使用iTextSharp读取PDF文档:PDFsharp与iTextSharp(C# PDF库...
已发布十一月 13, 2025 比较 C# HTML 到 PDF 开源与 IronPDF 比较开源 HTML 到 PDF 库与 IronPDF for C#。发现哪个解决方案为您的 .NET 项目提供最佳的 PDF 生成能力。 阅读更多
已发布十月 27, 2025 哪种 ASP.NET Core PDF 库性价比最高? 发现适合ASP.NET Core应用程序的最佳PDF库。比较IronPDF的Chrome引擎与Aspose和Syncfusion的替代品。 阅读更多
已发布十月 27, 2025 如何使用 Aspose C# 与 IronPDF 创作 PDF 通过此逐步指南,学习如何使用 Aspose C# 与 IronPDF 创建 PDF,专为开发人员设计。 阅读更多