在 C# 中将 PDF 转换为文本

在 C# 中将 PDF 转换为文本

最近,我们以编程方式发布了一些博客文章,例如 将 PDF 转换为 HTMLPDF 转换为图像。本文将教我们如何使用 .NET OCR 库 将 PDF 转换为 C# 中的文本。作为 .NET 开发人员,您可以轻松地使用此库将文件转换为其他流行的文件格式。此外,还有丰富的功能可以自动从 PDF 文档中提取文本。但是,我们将编写步骤和代码片段来演示从扫描的 PDF 文件中提取文本。

本文将介绍以下几点:

.NET OCR 库安装

该库功能强大,并提供有关开发和使用的全面 文档。您可以快速有效地转换和处理各种文件格式。

要在您的 .NET 项目中安装此 API,您可以 下载 DLL 文件或在 NuGet 包管理器中运行以下命令。

Install-Package Aspose.OCR

如何在 C# 中将 PDF 转换为文本

从扫描的 PDF 文件中提取文本非常简单,只需几行 C# 源代码即可。

请按照以下步骤操作:

  1. 创建一个 AsposeOcr 类的对象。
  2. 初始化 DocumentRecognitionSettings 类的实例以识别 PDF 中的图像。
  3. 设置 DetectAreas 属性的值以启用自动文本区域检测。
  4. 创建 RecognitionResult 类型列表,通过调用 RecognizePdf 方法从扫描的 PDF 文档中提取文本并将结果分配给列表。

复制并粘贴以下代码以在 C# 中将 PDF 转换为 TEXT。


string fullPath =   "sample.pdf";
// 创建 AsposeOcr 类的对象 
AsposeOcr api = new AsposeOcr();
// 初始化 DocumentRecognitionSettings 类的实例以识别 PDF 中的图像  
DocumentRecognitionSettings set = new DocumentRecognitionSettings();
// 设置 DetectAreas 属性的值以启用自动文本区域检测 
set.DetectAreas = false;
// 创建 RecognitionResult 类型的列表,通过调用 RecognizePdf 方法提取文本形式的扫描 PDF 文档并将结果分配给列表  
List<RecognitionResult> result = api.RecognizePdf(fullPath, set);
// 打印结果
int pageNumber = 0;
foreach (var page in result)
    {                
        System.Console.WriteLine($"Page: {pageNumber++} text: {page.RecognitionText}");
    }

PDF 到文本转换 - 高级选项

在本节中,我们将进一步探索这个库。它还可以让您从流中识别扫描的 PDF。

以下是步骤:

  1. 实例化 AsposeOcr 类的一个实例。
  2. 创建 MemoryStream 类的实例以从流中识别 PDF。
  3. 初始化FileStream的构造函数并加载源文件。
  4. 调用 CopyTo 方法将字节写入内存流。
  5. 创建从 PDF 识别图像的 DocumentRecognitionSettings 类的对象。
  6. 创建 RecognitionResult 类型的列表并使用 RecognizePdf 方法的结果进行初始化。

string fullPath =   "final.pdf";
// 实例化 AsposeOcr 类的实例 
AsposeOcr api = new AsposeOcr();
// 创建 MemoryStream 类的实例以从流中识别 pdf     
using (MemoryStream ms = new MemoryStream())
{
    // 初始化FileStream的构造函数并加载源文件  
    using (FileStream file = new FileStream(fullPath, FileMode.Open, FileAccess.Read))
    {
        // 调用 CopyTo 方法将字节写入内存流。  
        file.CopyTo(ms);
        // 创建一个识别 PDF 图像的 DocumentRecognitionSettings 类的对象 
        DocumentRecognitionSettings set = new DocumentRecognitionSettings();
        // 创建 RecognitionResult 类型的列表并使用 RecognizePdf 方法的结果进行初始化。  
        List<RecognitionResult> results = api.RecognizePdf(ms, set);     

        // 打印结果
        foreach (var result in results)
        {
            Console.WriteLine(result.RecognitionText);
        }
    }
}

获得免费许可证

您可以获得 免费临时许可证 来试用 API,而不受评估限制。

加起来

这将我们带到这篇博文的结尾。您已经学习了如何以编程方式在 C# 中将 PDF 转换为文本。此外,我们还探索了这个 .NET OCR 库提供的一些高级方法。此外,您可以访问 文档 以了解其他功能。如果您希望为您的应用程序配备 PDF 到文本转换器,本指南肯定会为您提供帮助。此外,conholdate.com 正在撰写有关新主题的新博客文章。因此,请保持联系以获取定期更新。

问一个问题

您可以在我们的 论坛 上告诉我们您的问题或疑问。

常见问题

如何以编程方式将 PDF 转换为文本?

您可以使用此 .NET OCR 将 PDF 转换为 C# 中的文本。它公开了有效执行此操作的 RecognizePdf 方法。

将PDF转换为文本的最简单方法是什么

您可以访问此库的 文档 以了解以编程方式从扫描的 PDF 文件中提取数据的方法。

也可以看看