如何在 Tesseract 中使用多种语言

Kannaopat Udonpant
坎那帕·乌东攀
2023年十月25日
更新 2024年十二月10日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

在光学字符识别(OCR)技术领域,IronOCR 是一个备受推崇的工具,因其能够从多种语言和文字中提取文本而闻名。我们使用 Tesseract 引擎以提供一个可靠且易于使用的 OCR 工具。

在本文中,我们将介绍 IronOCR 如何依靠 Tesseract 高效处理多种语言的文本。 无论您是寻找可靠的多语言OCR解决方案的经验丰富的开发者,还是仅仅对其运作方式感到好奇,本文都将帮助您了解IronOCR及其Tesseract引擎,阐明这一宝贵工具的功能。

开始使用IronOCR

立即在您的项目中开始使用IronOCR,并享受免费试用。

第一步:
green arrow pointer



阅读多语言PDF示例

IronOcr提供大约125个语言包,但默认情况下只安装了英语包,其他语言包可以从NuGet下载。 您可以在这里查看所有可用的语言包。

在以下示例中,我将向您展示在IronOcr中使用多种语言从PDF文件中提取文本的代码。

:path=/static-assets/ocr/content-code-examples/how-to/ocr-multiple-languages-pdf-input.cs
using IronOcr;
using System;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Set secondary language to Russian
ocrTesseract.AddSecondaryLanguage(OcrLanguage.Russian);

// Add PDF
using var pdfInput = new OcrPdfInput(@"example.pdf");
// Perform OCR
OcrResult result = ocrTesseract.Read(pdfInput);

// Output extracted text to console
Console.WriteLine(result.Text);
Imports IronOcr
Imports System

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Set secondary language to Russian
ocrTesseract.AddSecondaryLanguage(OcrLanguage.Russian)

' Add PDF
Dim pdfInput = New OcrPdfInput("example.pdf")
' Perform OCR
Dim result As OcrResult = ocrTesseract.Read(pdfInput)

' Output extracted text to console
Console.WriteLine(result.Text)
$vbLabelText   $csharpLabel

您可以使用AddSecondaryLanguage方法添加任意数量的辅助语言。 然而,请注意,这一添加可能会影响速度和性能。 添加语言的优先级取决于添加的顺序,首先添加的语言具有更高的优先级。

读取多语言图像示例

默认设置的主要语言是英语。 要更改主要语言,请将Language属性设置为所需的语言。 之后,您还可以添加其他语言。

:path=/static-assets/ocr/content-code-examples/how-to/ocr-multiple-languages-image-input.cs
using IronOcr;
using System;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Set primary language to Hindi
ocrTesseract.Language = OcrLanguage.Russian;
ocrTesseract.AddSecondaryLanguage(OcrLanguage.Japanese);

// Add image
using var imageInput = new OcrImageInput(@"example.png");
// Perform OCR
OcrResult result = ocrTesseract.Read(imageInput);

// Output extracted text to console
Console.WriteLine(result.Text);
Imports IronOcr
Imports System

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Set primary language to Hindi
ocrTesseract.Language = OcrLanguage.Russian
ocrTesseract.AddSecondaryLanguage(OcrLanguage.Japanese)

' Add image
Dim imageInput = New OcrImageInput("example.png")
' Perform OCR
Dim result As OcrResult = ocrTesseract.Read(imageInput)

' Output extracted text to console
Console.WriteLine(result.Text)
$vbLabelText   $csharpLabel

如果您正确操作,可以期待以下的结果。

俄文和日文

结论

简而言之,IronOCR 借助强大的 Tesseract 引擎,擅长从多种语言的文档中提取文本。 这是处理多种语言文本阅读复杂性的不可或缺的工具,为开发者和好奇心旺盛的人提供了多功能的解决方案。 无论您是在处理带有多种语言文字的PDF文件,还是在处理图像中的多语言内容,IronOCR都简化了识别和提取多种语言文本的任务。

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