PDF(可移植文档格式) 文件是最受信任和广泛使用的文档共享格式之一,跨不同平台共享文档时确保布局和外观的一致性,无论软件或设备如何。然而,在某些情况下,开发人员需要以编程方式从 PDF 文件中提取文本,例如分析内容、索引文档或将 PDF 转换为可编辑文本格式。

在本文中,我们将探讨如何从 PDF 文件中提取文本,并使用 .NET REST API 构建一个 PDF 转文本转换器,实现通过 REST API 调用的无缝和自动化文本提取。

PDF 处理 API

利用 Aspose.PDF Cloud SDK for .NET 的强大功能高效地从 PDF 文件中提取文本。除了文本提取,SDK 还允许您从头开始或使用模板创建 PDF 文档,编辑现有 PDF 文件,以及将它们转换为其他支持的格式。您还可以通过 .NET REST API 直接执行解密、合并和操作 PDF 文件等任务。

现在要开始,我们需要在我们的 .NET 项目中安装 SDK。

NuGet\Install-Package Aspose.Pdf-Cloud -Version 25.9.0

我们还需要在 Cloud Dashboard 上创建一个免费帐户,并获得我们个性化的客户凭证。

在 C# 中执行 PDF 转文本转换

请按照下面提到的步骤使用 C# .NET 从 PDF 文件中提取文本。

PdfApi pdfApi = new PdfApi(clientSecret, clientID);

创建 PdfApi 类的对象,传入上述获得的客户端凭据作为参数。

String inputFile = "sourceFile.pdf";
var sourceFile = System.IO.File.OpenRead(inputFile);
pdfApi.UploadFile("sourceFile.pdf", sourceFile);

读取本地驱动器中的输入PDF并使用 UploadFile(...) 方法上传到云存储。

TextRectsResponse response = pdfApi.GetText("inputPDF.pdf", LLX, LLY, URX, URY, null, null, null, null, null);

我们需要在 PDF 文件中指定提取文本内容的区域,使用 GetText(...) 方法。

for (int counter = 0; counter <= response.TextOccurrences.List.Count - 1; counter++)
{
    // write text content in console
    Console.WriteLine(response.TextOccurrences.List[counter].Text);
}

一旦文本内容被提取,我们可以将其保存在本地驱动器上或在控制台中打印出来。

// 如需更多示例,请访问 https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-dotnet

// 从 https://dashboard.aspose.cloud/ 获取客户端凭据
string clientSecret = "XXXXXXXXX";
string clientID = "XXXXXX-XXXXXXX-be35-ff5c3a6aa4a2";

// 创建 PdfApi 的对象,同时将客户端凭据作为参数传递。
PdfApi pdfApi = new PdfApi(clientSecret, clientID);

// Input PDF file name
String inputFile = "input.pdf";
// 将PDF文件加载到流实例中
var sourceFile = OpenRead(inputFile);

// 将 PDF 文件上传到云存储
pdfApi.UploadFile("inputPDF.pdf", sourceFile);

// 左下角的 X 坐标
Double LLX = 200.0;
// 左下角的 Y 坐标。
Double LLY = 200.0;
// 右上角的 X 坐标。
Double URX = 600.0;
// 右上角的 Y 坐标。
Double URY = 650.0;

// 调用 API 从指定坐标提取文本
TextRectsResponse response = pdfApi.GetText("inputPDF.pdf", LLX, LLY, URX, URY, null, null, null, null, null);

// 现在遍历每个文本出现并在控制台中打印。
// 此外,我们还可以将输出直接保存到 .txt 文件中。
for (int counter = 0; counter <= response.TextOccurrences.List.Count - 1; counter++)
{
    // write text content in console
    Console.WriteLine(response.TextOccurrences.List[counter].Text);
}

使用 cURL 从 PDF 中提取文本

除了使用 .NET 或 Java 代码片段,您还可以通过 cURL 命令使用 Aspose.PDF Cloud 从 PDF 文件中提取文本。因此,在这种方法中,前提是生成一个 JWT 访问令牌(基于您的客户端凭据),可以使用以下命令获取。

步骤 1. - 获取 JWTAccess 令牌:

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=XXXXX-XXXXX-XXXXXX-ff5c3a6aa4a2&client_secret=XXXXXXXXXXXX" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

步骤 1. - 从 PDF 文件中提取文本:

curl -v "https://api.aspose.cloud/v3.0/pdf/{inputPDF}/text?splitRects=true&LLX=10&LLY=10&URX=800&URY=800" \
-X GET \
-H  "accept: application/json" \
-H  "authorization: Bearer {Access_Token}" \
-o "extractedContent.txt"
  • 一旦命令成功执行,指定矩形区域中的文本将提取到文本文件中。

免费的 PDF 解析应用程序

如果您希望在没有任何编码或 cURL 命令的情况下测试 API 的能力,那么请尝试使用我们基于 .NET REST APIs 构建的 [Free PDF Parser] 应用程序。

pdf 解析器应用程序

结论 remarks

在本文中,我们了解到如何将 Aspose.PDF Cloud SDK for .NET 集成到我们的 .NET 项目中以进行文本提取,同时,我们还探索了通过命令行界面使用 cURL 命令执行 PDF 文本提取的选项。因此,无论您的目标是数据分析、机器学习还是其他自动化目的,SDK 都为您提供了可靠的工具,以高效处理 PDF 内容。将这些技能付诸实践,像专业人士一样简化您的 PDF 处理!

阅读材料

相关的文章

我们还建议访问以下链接以了解更多信息: