如何将扫描的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 参考 .