跳至页脚内容
OCR 工具

如何使用 OCR 进行 PDF 教程(免费在线工具)

OCR(光学字符识别)是将文本信息转换为数字形式的过程。 PDF OCR 是一款流行的应用程序,可用于改进业务流程。 PDF OCR 的优势之一在于它可以用来提高信息的可访问性。 这一点对于那些并非以所有人都能使用或阅读的格式提供的文档来说尤为重要。 PDF OCR 可用于生成一份所有人都能使用的文档副本。

PDF OCR的另一个用途是跟踪文档。 当文档被归档、扫描或转录时,很难追踪哪个版本对应哪个文件。借助 PDF OCR 技术,可以追踪文档的更改,并确定哪些版本对应哪个文件。这对于管理文档档案和防止重要信息丢失非常有用。

本文将介绍如何使用 Adobe Acrobat Pro 软件对任何 PDF 文件进行 OCR 识别。 本文还将介绍 .NET OCR 库 IronOCR,它是目前最高效、功能最丰富的库之一。 我们先从Adobe Acrobat Pro开始。

使用 Adobe Acrobat Pro DC 对 PDF 文件进行 OCR 识别

How to OCR a PDF - Figure 1

Adobe Acrobat Pro DC 是 Adobe Acrobat Reader DC 的专业版。 它是最流行、功能最强大的PDF处理工具。 使用这款软件,您可以创建、编辑、签名和审阅任何 PDF 文档。 此外,它还可以将 PDF 文件转换为 PowerPoint 演示文稿、Word 文档或 Excel 文件。 它还可以编辑扫描文档。

新版 Acrobat DC 还具备文档扫描功能,可利用 OCR 技术快速将扫描文档转换为数字文件。 它具备光学字符识别功能以及智能名片扫描功能,可在几秒钟内自动检测并保存名片上的联系信息。

除了能够从 PDF 文件中提取文本外,Acrobat Pro DC 还具有许多功能,使其成为 PDF 转录的宝贵工具。

让我们看看如何使用 Adobe Acrobat Pro 对扫描文档进行 OCR 识别。

  • 在 Adobe Acrobat 中打开所需的 PDF 文档,在本例中为扫描的 PDF 文件。
  • 从文档右侧窗格中选择"编辑 PDF"。
How to OCR a PDF - Figure 2

这将打开 Adobe Reader OCR PDF 工具的界面。

  • 点击顶部功能区上的"编辑"按钮。
  • 这会将扫描的 PDF 文档转换为完全可编辑的 PDF 文档。 您将能够直接在 PDF 文件上编辑文本和图像文件。
How to OCR a PDF - Figure 3

  • 您还可以更改文本块位置、文本字体等。

修改完成后,保存文件,即可在文档中看到这些更改。

IronOCR:一个 .NET OCR 库

How to OCR a PDF - Figure 4

IronOCR 是一个 .NET OCR 库和 OCR 工具,它可以将文本文件和图像转换为机器可读格式来读取它们。

该光学字符识别库的开发主要考虑了以下几点:

  • 需要一款强大而精确的 OCR 引擎,能够与不同语言一起使用,而无需任何外部软件。
  • 需要一个易于使用的 API,能够在 Windows、Linux 和 macOS 等不同平台上运行。
  • 需要一款能够轻松集成到各种 .NET 应用程序并同时支持 WPF 和控制台应用程序的 OCR 引擎。

IronOCR 使开发人员更容易创建支持扫描文档、提取文本和元数据、索引扫描图像文件、将图像转换为可搜索的 PDF 以及将扫描文档转换为可读文本的软件。 IronOCR 在编码、图像格式转换以及文本识别和提取方面提供了许多选项。 IronOCR 支持 125 种语言。

IronOCR 提供直观、强大且准确的 OCR 流程,可识别扫描文档、照片和屏幕截图中的文本,同时减少页面分割和布局分析等耗时任务。 该库是用 C# 开发的,其 API 设计简洁明了,可读性良好。

让我们来看一些使用 IronOCR 的代码示例:

代码示例

using IronOcr;

var Ocr = new IronTesseract();

// Initialize OCR input
using (var Input = new OcrInput())
{
    // OCR entire document
    Input.AddPdf("example.pdf", "password");

    // Alternatively, OCR selected page numbers
    Input.AddPdfPages("example.pdf", new[] { 1, 2, 3 }, "password");

    // Read the PDF and output the recognized text
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();

// Initialize OCR input
using (var Input = new OcrInput())
{
    // OCR entire document
    Input.AddPdf("example.pdf", "password");

    // Alternatively, OCR selected page numbers
    Input.AddPdfPages("example.pdf", new[] { 1, 2, 3 }, "password");

    // Read the PDF and output the recognized text
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()

' Initialize OCR input
Using Input = New OcrInput()
	' OCR entire document
	Input.AddPdf("example.pdf", "password")

	' Alternatively, OCR selected page numbers
	Input.AddPdfPages("example.pdf", { 1, 2, 3 }, "password")

	' Read the PDF and output the recognized text
	Dim Result = Ocr.Read(Input)
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

本示例演示如何使用 IronOCR 处理整个 PDF 文档或文档中的特定页面。

PDF 文件(输入)

How to OCR a PDF - Figure 5

控制台输出

How to OCR a PDF - Figure 6

您可以使用 IronOCR 将 PDF 转换为可选择的 PDF。 它非常简单明了。 请参见下方PDF转换的代码片段:

using IronOcr;

var Ocr = new IronTesseract();

// Initialize OCR input
using (var Input = new OcrInput())
{
    // Add PDF for processing
    Input.AddPdf("scan.pdf", "password");

    // Clean up twisted pages to improve OCR results
    Input.Deskew();

    // Run OCR and save as a searchable PDF
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;

var Ocr = new IronTesseract();

// Initialize OCR input
using (var Input = new OcrInput())
{
    // Add PDF for processing
    Input.AddPdf("scan.pdf", "password");

    // Clean up twisted pages to improve OCR results
    Input.Deskew();

    // Run OCR and save as a searchable PDF
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr

Private Ocr = New IronTesseract()

' Initialize OCR input
Using Input = New OcrInput()
	' Add PDF for processing
	Input.AddPdf("scan.pdf", "password")

	' Clean up twisted pages to improve OCR results
	Input.Deskew()

	' Run OCR and save as a searchable PDF
	Dim Result = Ocr.Read(Input)
	Result.SaveAsSearchablePdf("searchable.pdf")
End Using
$vbLabelText   $csharpLabel

IronOCR 还提供许多其他工具和功能。 您可以通过访问以下链接来探索 IronOCR 的功能。

结论

IronOCR库相比市面上其他库具有以下几个优势。 您只需几行代码即可添加自己的模块,从而修改和扩展其功能。 IronOCR目前可以读取超过125种语言的文本。 与其他库相比,它的开发目标是在消耗更少的时间和内存资源的同时,产生更高质量、更可靠的结果。

IronOCR 可免费用于开发。 IronOCR 还提供免费试用版,供生产环境测试。 有关 IronOCR 的定价和免费试用详情,请点击链接

How to OCR a PDF - Figure 7

Kannaopat Udonpant
软件工程师
在成为软件工程师之前,Kannapat 在日本北海道大学完成了环境资源博士学位。在攻读学位期间,Kannapat 还成为了车辆机器人实验室的成员,隶属于生物生产工程系。2022 年,他利用自己的 C# 技能加入 Iron Software 的工程团队,专注于 IronPDF。Kannapat 珍视他的工作,因为他可以直接从编写大多数 IronPDF 代码的开发者那里学习。除了同行学习外,Kannapat 还喜欢在 Iron Software 工作的社交方面。不撰写代码或文档时,Kannapat 通常可以在他的 PS5 上玩游戏或重温《最后生还者》。