如何通过 Aspose.OCR 从扫描的PDF中提取文本

如何通过 Aspose.OCR 从扫描的PDF中提取文本

从扫描或基于图像的 PDF 文件中提取文本,需要复杂的工作流或昂贵的手动工作. 使用 Aspose.OCR 扫除 PDF 为 .NET 文档,您可以自动化这个过程,将 PDF 的转换为可搜索和可编辑的文献,仅有几行代码。

现实世界问题

组织经常收到合同、报告或档案,如扫描的PDF。 手动复制文本或在这些文件中搜索是无聊和错误的,减缓遵守、存档和数字化转型项目。

解决方案概述

Aspose.OCR for .NET 允许您进行扫描的 PDF - 将其转化为文本或可搜索的PDF,使信息可访问,可索引,并为数字工作流做好准备。

原則

在你开始之前,请确保你有:

  • Visual Studio 2019 或以后
  • .NET 6.0 或更高版本(或 .Net Framework 4.6.2+)
  • Aspose.OCR 为 .NET 从 NuGet
  • 基本的C#知识
PM> Install-Package Aspose.OCR

步骤实施

步骤 1: 安装和设置 Aspose.OCR

添加 NuGet 包和参考 Aspose.OCR:

using Aspose.OCR;

步骤2:添加扫描的 PDF 文件

创建一个 OcrInput 对象的 PDF 输入,并添加您的扫描PDF 文件。

OcrInput input = new OcrInput(InputType.PDF);
input.Add("contract.pdf");
input.Add("archive.pdf");
// Optionally specify page ranges:
// input.Add("report.pdf", startPage: 0, pagesCount: 5);

步骤3:设置识别设置

设置语言和其他识别设置以匹配您的文件。

RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;

步骤4:运行认可过程

从您的扫描PDF中识别文本:

AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);

步骤5:保存或出口认可的文本

将已识别的文本导出到文件中,或者将结果转换为可搜索的PDF。

foreach (RecognitionResult result in results)
{
    Console.WriteLine(result.RecognitionText); // Show the text in console
    result.Save("output.txt", SaveFormat.Text); // Save as plain text
    result.Save("output.pdf", SaveFormat.Pdf); // Save as searchable PDF
}

步骤6:添加错误处理

Wrap 识别在尝试/捕获区块中,以获得强度。

try
{
    AsposeOcr ocr = new AsposeOcr();
    List<RecognitionResult> results = ocr.Recognize(input, settings);
    // Further processing...
}
catch (Exception ex)
{
    Console.WriteLine($"Error: {ex.Message}");
}

步骤7:为大或多页PDF优化

  • 处理 PDFs 页面为大文件
  • 使用高品质扫描以获得最佳结果
  • 与大收藏相匹配的集合过程
// Example: Add all scanned PDFs in a folder
foreach (string file in Directory.GetFiles("./pdfs", "*.pdf"))
{
    input.Add(file);
}

步骤8:完成工作示例

using Aspose.OCR;
using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            OcrInput input = new OcrInput(InputType.PDF);
            input.Add("contract.pdf");
            input.Add("archive.pdf");

            RecognitionSettings settings = new RecognitionSettings();
            settings.Language = Language.English;

            AsposeOcr ocr = new AsposeOcr();
            List<RecognitionResult> results = ocr.Recognize(input, settings);

            foreach (RecognitionResult result in results)
            {
                Console.WriteLine(result.RecognitionText);
                result.Save("output.txt", SaveFormat.Text);
                result.Save("output.pdf", SaveFormat.Pdf);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
}

使用案例和应用程序

数字档案

将扫描文件的整个图书馆转换为可搜索、可索引的文件,以满足和知识管理。

法律和合同管理

从PDF中提取合同条款或条件,用于审查、自动化或数字签名。

Streamlined 文件搜索

能够在档案、知识库或案例文件中快速搜索完整文本。

共同挑战与解决方案

挑战1:低质量或折叠扫描

** 解决方案:** 在可能的情况下使用预处理过滤器和高品质的扫描。

挑战2:多语言PDF

** 解决方案:** 在多个语言选项中设置识别设置或过程中的语言。

挑战3:非常大的PDF文件

** 解决方案:** 按行或页面进行处理,并监控内存使用。

绩效考虑

  • 使用最佳 DPI (300+) 用于扫描的 PDF
  • 最佳通道的Batch过程
  • 设置 OCR 对象和密集文件处理器

最佳实践

  • 在进一步自动化之前验证 OCR 输出
  • 组织和备份原始PDF文件
  • 使用正确的SaveFormat为您的工作流
  • 定期更新 Aspose.OCR 为新 PDF 功能

先进的场景

场景1:从PDF中提取仅特定页面

input.Add("archive.pdf", startPage: 5, pagesCount: 3);

场景2:出口到多格式

foreach (RecognitionResult result in results)
{
    result.Save("output.docx", SaveFormat.Docx);
    result.Save("output.json", SaveFormat.Json);
}

结论

Aspose.OCR for .NET 允许您将扫描的 PDF 转换为可操作的文本和可搜索的文件 - 删除手动输入并使信息可访问您的整个组织。

更多细节和例子,请参见 ASPOSE.OCR 为 .NET API 参考 .

 中文