使用IRONPDF

如何在C#中从PDF中提取数据

Chipego
奇佩戈-卡琳达
2022年六月26日
更新 2024年一月21日
分享:

介绍

从 PDF 中提取数据对于节省手动输入时间至关重要。 本文解释了开发人员如何使用IronPDF库从PDF文档中提取文本和图像

IronPDF: C# PDF 库

IronPDF 是一个用于创建、编辑和转换PDF文件的.NET库。 它为开发人员的应用程序提供了易于使用的 API。 它是全球最流行的创建、编辑和转换 PDF 文件的库之一。 使用 IronPdf,您可以创建一个直接、快速的 PDF 解决方案。 您的文本将为每个文档定制您的布局将设置为易于阅读,并且您的图形将从随附的.NET程序中获得帮助进行设计。

IronPDF 库具有从 PDF 文件中提取数据的神奇功能。 本文将介绍如何使用 IronPDF 提取数据。 首先,需要创建或打开一个 C# 项目。 让我们进入下一部分。

在 Visual Studio 中创建或打开 C# 项目

本教程建议使用最新版本的 Visual Studio。

打开 Visual Studio 后,按照以下步骤创建一个新的 C# 项目。 如果您想使用现有的项目,请跳过接下来的步骤,直接进入下一部分。

  • 打开 Visual Studio
  • 点击“创建新项目”按钮。

    如何在C#中从PDF中提取数据,图1:Visual Studio打开UI

    Visual Studio 开启用户界面

  • 从模板中选择 "C# 控制台应用程序"。

    如何在C#中从PDF中提取数据,图2:创建一个新项目

    创建新项目

  • 给项目命名并点击下一步按钮。
  • 根据项目要求选择一个 .NET Framework,然后点击创建按钮。

    如何从PDF中提取数据(C#),图3:.NET Framework选择

    .NET Framework 选择

    Visual Studio 现在将生成一个新的 C# .NET 项目。

安装 IronPDF 库

IronPDF 库可以通过多种方式安装。

使用软件包管理器控制台

  • 通过依次转到工具 > NuGet 包管理器 > 包管理器控制台来打开包管理器控制台。
  • 运行以下命令
Install-Package IronPdf

如何在C#中从PDF中提取数据,图4:包管理器控制台选项卡中的安装进度

在包管理器控制台选项卡中的安装进度

安装后,您将在解决方案资源管理器的dependencies部分中看到IronPDF依赖项,如下所示。

如何从 PDF 中提取数据在 C# 中,图 5:在解决方案资源管理器中引用 IronPdf 包

在解决方案资源管理器中引用 IronPdf 包

使用 NuGet 软件包管理器

安装 IronPdf 库的另一种方法是使用 Visual Studio 集成的 NuGet 包管理器用户界面。

  • 从主菜单转到工具。 将鼠标悬停在下拉菜单中的 "NuGet Package Manager "上,然后选择 "NuGet Package Manager 解决方案"。

    如何从PDF中提取数据(C#),图6:导航到NuGet包管理器

    导航到NuGet包管理器

  • 这将打开 NuGet 包管理器窗口。 转到浏览选项卡,在搜索中输入IronPdf,然后按回车键。
  • 从搜索结果中选择 IronPdf,点击 "安装 "按钮开始安装。

    如何在 C# 中从 PDF 提取数据,图 7:在 NuGet 软件包管理器中安装 IronPdf 软件包

    从 NuGet 软件包管理器安装 IronPDF 软件包

从 PDF 文件中提取数据

让我们看看下面的代码,了解如何使用 IronPDF 提取数据:

//Rendering PDF documents to Images or Thumbnails
using IronPdf;
using System.Drawing;

//  Extracting Image and Text content from Pdf Documents

// open a 128 bit encrypted PDF
using PdfDocument pdf = PdfDocument.FromFile("encrypted.pdf", "password");

//Get all text to put in a search index
string AllText = pdf.ExtractAllText();

//Get all Images
IEnumerable<System.Drawing.Image> AllImages = pdf.ExtractAllImages();

//Or even find the precise text and images for each page in the document
for (var index = 0; index < pdf.PageCount; index++) {
    int PageNumber = index + 1;
    string Text = pdf.ExtractTextFromPage(index);
    IEnumerable<System.Drawing.Image> Images = pdf.ExtractImagesFromPage(index);
    ///...
}
//Rendering PDF documents to Images or Thumbnails
using IronPdf;
using System.Drawing;

//  Extracting Image and Text content from Pdf Documents

// open a 128 bit encrypted PDF
using PdfDocument pdf = PdfDocument.FromFile("encrypted.pdf", "password");

//Get all text to put in a search index
string AllText = pdf.ExtractAllText();

//Get all Images
IEnumerable<System.Drawing.Image> AllImages = pdf.ExtractAllImages();

//Or even find the precise text and images for each page in the document
for (var index = 0; index < pdf.PageCount; index++) {
    int PageNumber = index + 1;
    string Text = pdf.ExtractTextFromPage(index);
    IEnumerable<System.Drawing.Image> Images = pdf.ExtractImagesFromPage(index);
    ///...
}
'Rendering PDF documents to Images or Thumbnails
Imports IronPdf
Imports System.Drawing

'  Extracting Image and Text content from Pdf Documents

' open a 128 bit encrypted PDF
Private PdfDocument As using

'Get all text to put in a search index
Private AllText As String = pdf.ExtractAllText()

'Get all Images
Private AllImages As IEnumerable(Of System.Drawing.Image) = pdf.ExtractAllImages()

'Or even find the precise text and images for each page in the document
For index = 0 To pdf.PageCount - 1
	Dim PageNumber As Integer = index + 1
	Dim Text As String = pdf.ExtractTextFromPage(index)
	Dim Images As IEnumerable(Of System.Drawing.Image) = pdf.ExtractImagesFromPage(index)
	'''...
Next index
$vbLabelText   $csharpLabel

首先,FromFile 方法用于在程序中加载输入的 PDF 文档。 提供了一个加密的PDF文件,访问该文件需要密码。然后,使用ExtractAllText方法提取文本数据,将所有文本数据提取到一个字符串变量中。 从这里开始,PdfDocument 提供了很多功能:将其输出为纯文本,将其转储到 TXT 文件中,存储在数据库中,等等。

IronPDF 可以从 PDF 表格中提取文本,以包含在一个或多个 CSV 文件中。

第 11 行使用 ExtractAllImages 方法从 PDF 文档中提取所有嵌入的图像。

IronPDF 还可以从特定的 PDF 页面中提取内容。 上面示例中剩余的代码行演示了如何使用ExtractTextFromPageExtractImagesFromPage方法从一部分页面中提取文本和图像。 这两种方法都接受一个整数参数,表示所需页面的零基索引。

结论

IronPDF允许开发人员使用ExtractAllTextExtractAllImages从PDF文件中提取文本和图像,只需一行代码即可立即提取整个PDF文件的内容。 或者,调用ExtractAllImageExtractAllText将从特定的一个PDF页面中提取文本和图像。 前面的示例代码展示了如何使用这两种方法从一系列页面中读取文本和图像。

此外,IronPDF 还能够在 PDF 中渲染图表添加条形码通过密码增强安全性添加水印,甚至可以通过编程方式处理 PDF 表单

IronPDF 的开发完全免费。 虽然商业用途需要付费,但您可以访问IronPDF 的免费试用版进行生产,而无需任何付费。

以两个IronPDF Lite License的价格购买Iron Software文档库的完整套件

立即下载 IronPDF,开始从PDF中提取数据吧!

Chipego
奇佩戈-卡琳达
软件工程师
Chipego 拥有出色的倾听技巧,这帮助他理解客户问题并提供智能解决方案。他在 2023 年加入 Iron Software 团队,此前他获得了信息技术学士学位。IronPDF 和 IronOCR 是 Chipego 主要专注的两个产品,但他对所有产品的了解每天都在增长,因为他不断找到支持客户的新方法。他喜欢 Iron Software 的合作氛围,公司各地的团队成员贡献他们丰富的经验,以提供有效的创新解决方案。当 Chipego 离开办公桌时,你经常可以发现他在看书或踢足球。
< 前一页
C# 从 PDF 提取文本(代码示例教程)
下一步 >
如何使用C#在PDF中添加页码