如何将扫描的PDF转换为可搜索的文档

如何将扫描的PDF转换为可搜索的文档

许多有价值的文件被困在扫描的PDF中,使其不可搜索和无法访问搜索引擎或生产力工具。

现实世界问题

扫描的 PDF 合同、书籍或档案不能被搜索、索引或复制,除非文本被提取。

解决方案概述

Aspose.OCR for .NET 可以包装扫描的 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

using Aspose.OCR;

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

OcrInput input = new OcrInput(InputType.PDF);
input.Add("archive1.pdf");
input.Add("books.pdf");

步骤3:为 PDF 设置识别设置

RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.AUTO; // Best for mixed document layouts

步骤4:在扫描的PDF上运行OCR

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

步骤5:出口到可搜索格式

foreach (RecognitionResult result in results)
{
    result.Save("archive_searchable.pdf", SaveFormat.Pdf);   // Searchable PDF
    result.Save("archive_text.txt", SaveFormat.Text);         // Plain text
    result.Save("archive_word.docx", SaveFormat.Docx);       // Word document
}

步骤6:添加错误处理和验证

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

步骤7:优化多页和大PDF

  • 对于多页的PDF文件,请添加文件并根据需要设置页面范围
  • Tune 设置文档布局和语言
  • Batch 在一个目录中处理所有文件
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("archive1.pdf");
            input.Add("books.pdf");

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

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

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

使用案例和应用程序

数字档案搜索

将静态、扫描的档案转换为可搜索、索引的图书馆、律师事务所或公司资源。

监管和遵守数字化

从扫描的遵守文件中提取文本进行验证和审计。

学术和书籍出版

数字化文本和研究论文用于数字访问、电子学习或分发。

共同挑战与解决方案

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

** 解决方案:** 清晰度预处理;使用 AUTO 模式,以便可靠地处理布局。

挑战2:多语言PDF

** 解决方案:** 调整语言设置并测试样品文件。

挑战3:非常大或混合文件

** 解决方案:** 在可管理的包中进行处理,并监控内存使用。

绩效考虑

  • 最大效率的Batch过程
  • 使用优质扫描PDF
  • 使用后使用 OCR 物品

最佳实践

  • 在集成之前对源PDF进行输出验证
  • 按主题或部门组织PDF,以便更容易管理
  • 保存所有扫描和处理的文件
  • 使用 Aspose.OCR 的最新版本,以获得最佳准确性

先进的场景

场景1:数据管道出口到JSON

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

场景2:选择性页面 OCR

input.Add("compliance.pdf", 0, 5); // Recognize first 5 pages only

结论

Aspose.OCR Scanned PDF to Text for .NET 允许您快速将扫描的 PDF 转换为可搜索、可编辑的文档,用于现代工作流。

查找更多先进的代码和提示在 ASPOSE.OCR 为 .NET API 参考 .

 中文