在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
在当今的数字时代、 便携式文档格式(PDF) 由于其平台独立性和格式一致性,PDF 文件已成为文档交换的标准。对于使用 C# 的开发人员来说,iTextSharp 库是与 PDF 文件无缝交互的强大库。在本文中,我们将学习使用 iTextSharp 的基本步骤,并提供全面的指南,帮助你发掘这个多功能库的潜力。
1.打开或创建 Visual Studio 项目。
2.安装 iTextSharp 库。
3.添加必要的命名空间
4.选择要读取的 PDF 文件。
5.创建 PDF 阅读器实例。
6.创建 PDF 文档实例。
7.循环浏览文档的每一页,提取文本。
8.在控制台打印提取的文本。
iText 7iTextSharp 的前身是 iTextSharp,它是一个功能强大、用途广泛的 Java 和 .NET 库,可用于创建、处理和提取 PDF 文档中的内容。它提供了一套全面的功能,包括文本和图像处理、表格填充、数字签名和水印。无论是生成发票、报告还是交互式表单,iText 7 都能让开发人员高效地处理 PDF 文档。
让我们讨论一些用 C# 阅读 PDF 文件的示例。要开始学习,您需要在项目中添加 iTextSharp 库
使用 Visual Studio 打开 C# 项目。在顶部菜单中,转到 "查看",然后选择 "包管理器控制台"。这将在 Visual Studio 窗口底部打开 "软件包管理器控制台"。
在 "软件包管理器控制台 "中,确保 "默认项目 "下拉菜单设置为要安装 iTextSharp 软件包的项目。
运行以下命令安装 iTextSharp 库:
Install-Package itext7
该命令从 NuGet 软件包库中获取最新版本的 iTextSharp,并将其安装到你的项目中。等待安装过程完成。软件包管理器控制台将显示有关安装进度的信息。
我将使用以下 PDF 文档作为本示例的输入。
在开始之前,请添加以下命名空间:
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using System.Text;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using System.Text;
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser
Imports System.Text
以下代码将读取上述 PDF 文件,提取内容,并将提取的内容打印到控制台。
public static void Main(string [] args)
{
StringBuilder text = new StringBuilder();
string fileName = @"D:/What_is_pdf.pdf";
if (File.Exists(fileName))
{
using (PdfReader pdfReader = new PdfReader(fileName))
{
using (PdfDocument pdfDocument = new PdfDocument(pdfReader))
{
for (int page = 1; page <= pdfDocument.GetNumberOfPages(); page++)
{
string currentText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page));
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
text.Append(currentText);
}
}
}
}
Console.WriteLine(text.ToString());
}
public static void Main(string [] args)
{
StringBuilder text = new StringBuilder();
string fileName = @"D:/What_is_pdf.pdf";
if (File.Exists(fileName))
{
using (PdfReader pdfReader = new PdfReader(fileName))
{
using (PdfDocument pdfDocument = new PdfDocument(pdfReader))
{
for (int page = 1; page <= pdfDocument.GetNumberOfPages(); page++)
{
string currentText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page));
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
text.Append(currentText);
}
}
}
}
Console.WriteLine(text.ToString());
}
Public Shared Sub Main(ByVal args() As String)
Dim text As New StringBuilder()
Dim fileName As String = "D:/What_is_pdf.pdf"
If File.Exists(fileName) Then
Using pdfReader As New PdfReader(fileName)
Using pdfDocument As New PdfDocument(pdfReader)
Dim page As Integer = 1
Do While page <= pdfDocument.GetNumberOfPages()
Dim currentText As String = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page))
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)))
text.Append(currentText)
page += 1
Loop
End Using
End Using
End If
Console.WriteLine(text.ToString())
End Sub
上述源代码读取 PDF 文件,提取每一页的文本,将其转换为 UTF-8,然后将整个文本内容打印到控制台。这是一个如何使用 C# 中的 iTextSharp 库从 PDF 文件中提取文本的基本示例。
代码首先声明了一个名为text的StringBuilder,用于积累从 PDF 中提取的文本。代码还定义了一个字符串变量 fileName,其中包含文件位置的路径。在本例中,PDF 文件位于 "D:/What_is_pdf.pdf"。
如果 (文件存在(文件名))** 条件检查指定文件是否存在。如果文件存在,则执行后面的代码块。
在if块中,它使用PdfReader对象打开 PDF 文件。然后,使用 PdfReader 创建一个 PdfDocument 文件实例。for 循环遍历 PDF 文档的每一页。
对于每个 PDF 页面,它会使用类 PdfTextExtractor 的 GetTextFromPage 提取文本内容(pdfDocument.GetPage(页码)) 方法。提取的文本最初使用默认编码。
然后使用 Encoding.UTF8.GetString 将文本从默认编码转换为 UTF-8 编码。(ASCIIEncoding.Convert(Encoding.Default,Encoding.UTF8,Encoding.Default.GetBytes(当前文本))).然后将转换后的文本添加到文本字符串中。
最后,使用 Console.WriteLine 打印累计文本() 方法。
提取的 PDF 文本输出如下:
这样,我们就可以读取 PDF 文件的内容。这种方法比较复杂,而且效率较低,因为要创建多个实例。让我们来探索另一种更友好、更高效的方法。
IronPDF 是一个多功能、高效的 C# 库,旨在简化和增强 创建, 操控和 渲染 在 .NET 应用程序中使用 PDF 文档。IronPDF 使开发人员能够将 PDF 相关功能无缝集成到他们的项目中,并注重易用性和丰富的功能。该库支持广泛的 PDF 操作,包括从零开始创建 PDF 文档、转换 PDF 文档、将 PDF 文档转换为 PDF 文档、将 PDF 文档转换为 PDF 文档、将 PDF 文档转换为 PDF 文档转换为 PDF 文档。 将 HTML 内容转换为 PDF和 提取文本和图像 从现有的 PDF 文件中生成。IronPDF 直观的应用程序接口(API)为开发人员提供了友好的用户体验,使他们能够毫不费力地生成动态和交互式 PDF。无论是添加水印、注释还是加密文档,IronPDF 都能让开发人员根据自己的具体要求定制 PDF。作为一种可靠的解决方案,IronPDF 在从报表生成、文档管理到网络开发等各种应用中都发挥了重要作用,它提供了一套全面的工具,可在 .NET 环境中简化与 PDF 相关的任务。
使用 NuGet 软件包管理器控制台,使用以下命令将 IronPDF 下载到您的项目中。
Install-Package IronPdf
此命令将下载并安装 IronPDF NuGet 软件包连同其依赖项一起添加到项目中。
在 NuGet 的浏览选项卡中,搜索 "IronPDF "库并点击安装。
现在,让我们使用 IronPDF.以下代码将从输入的 PDF 文档中提取文本。
using IronPdf;
public static void Main(string [] args)
{
var pdfDocument = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
string text = pdfDocument.ExtractAllText();
Console.WriteLine(text);
}
using IronPdf;
public static void Main(string [] args)
{
var pdfDocument = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
string text = pdfDocument.ExtractAllText();
Console.WriteLine(text);
}
Imports IronPdf
Public Shared Sub Main(ByVal args() As String)
Dim pdfDocument = PdfDocument.FromFile("D:/What_is_pdf.pdf")
Dim text As String = pdfDocument.ExtractAllText()
Console.WriteLine(text)
End Sub
上述代码读取名为 "What_is_pdf.pdf "的 PDF 文件,从中提取所有文本内容,并将提取的文本显示在控制台中
代码首先从名为 "What_is_pdf.pdf "的文件中加载 PDF 文档。它使用 PdfDocument.FromFile() 从指定文件创建PDFDocument对象的方法。
接下来,它会从加载的 PDF 文档中提取所有文本内容。pdfDocument.ExtractAllText() 方法以单个字符串的形式返回 PDF 中的全部文本。
最后,提取的文本存储在 text 变量中。代码使用 Console.WriteLine 将提取的文本打印到控制台(文本) 方法。
IronPDF 还提供了从 PDF 文件中逐页提取文本的方法。
以下代码将使用 IronPDF 逐页读取 PDF 文档。
using IronPdf;
public static void Main(string [] args)
{
StringBuilder sb = new StringBuilder();
using PdfDocument pdf = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
for (int index = 0; index < pdf.PageCount; index++)
{
sb.Append (pdf.ExtractTextFromPage(index));
}
Console.WriteLine(sb.ToString());
}
using IronPdf;
public static void Main(string [] args)
{
StringBuilder sb = new StringBuilder();
using PdfDocument pdf = PdfDocument.FromFile(@"D:/What_is_pdf.pdf");
for (int index = 0; index < pdf.PageCount; index++)
{
sb.Append (pdf.ExtractTextFromPage(index));
}
Console.WriteLine(sb.ToString());
}
Imports IronPdf
Public Shared Sub Main(ByVal args() As String)
Dim sb As New StringBuilder()
Using pdf As PdfDocument = PdfDocument.FromFile("D:/What_is_pdf.pdf")
For index As Integer = 0 To pdf.PageCount - 1
sb.Append(pdf.ExtractTextFromPage(index))
Next index
Console.WriteLine(sb.ToString())
End Using
End Sub
上述代码读取名为 "What_is_pdf.pdf "的 PDF 文件,提取每一页的文本内容,并将合并后的文本打印到控制台。
创建了一个名为 sb 的 StringBuilder,用于积累从 PDF 中提取的文本。using 语句确保了资源的妥善处置。通过使用 PdfDocument.FromFile 方法从 "D:/What_is_pdf.pdf "路径加载 PDF 文件,创建名为 PDF 的 PdfDocument 对象。
for 循环遍历加载的 PDF 文档的每一页。对于每一页 (以指数为索引)使用 pdf.ExtractTextFromPage 提取文本内容(索引).提取的文本将通过 sb.Append 附加到 StringBuilder 中。().
最后,使用 sb.ToString 将累积文本转换为单个字符串().使用 Console.WriteLine 将整个提取文本打印到控制台() 方法。
总之,使用 C# 处理 PDF 需要了解一些基本要素,如字节数组、文档信息字典、交叉引用表、新文件实例和静态字节。第一个使用 iTextSharp 的代码展示了一种功能性方法,而第二个使用 IronPDF 的代码则提供了一种更简单、更高效的方法。 IronPDFIronPDF 易于使用的 API 简化了涉及交叉引用表、页面字典和间接引用的任务。无论是仅处理文档信息中的 xref,还是处理安全 PDF 的私钥方面,IronPDF 都是一个多功能解决方案。
开发人员寻求探索 IronPDF.IronPDF 将客户满意度放在首位,确保开发人员在 PDF 相关任务中找到价值和效率,使其成为寻找可靠且功能丰富的 PDF 库的用户的不二之选。
有关如何使用 IronPDF 的更多信息,请参阅以下内容 文献资料 链接。