如何通过 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 参考 .