C#和.NET的中文OCR
本文档的其他版本:
IronOCR是C#軟體組件,允許.NET編碼人員以126種語言(包括簡體和繁體中文)從圖像和PDF文件中讀取文字。語言包有簡體和繁體中文字元。
它是Tesseract的高級分支,專門爲.NET開發人員構建,在速度和準確性方面均經常優於其他Tesseract引擎。
IronOCR語言中文的內容
該軟體包包含352種.NET的OCR語言:
- 簡體中文
- 簡體中文最佳
- 簡體中文快速
- 中文簡體垂直
- 簡體中文垂直最佳
- 簡體中文垂直快速
- 中國傳統的
- 中國傳統最佳
- 中國傳統快
- 中文繁體垂直
- 中國傳統垂直最佳
- 中文繁體垂直快速
下载
中文語言包[中文(Zhōngwén)]
* Download as 壓縮
* Install with as
https://www.nuget.org/packages/IronOcr.Languages.Chinese/'>
NuGet
安装
我們要做的第一件事是將我們的中文OCR軟體包安裝到您的.NET項目中。
PM> Install-Package IronOcr.Languages.Chinese
程式碼範例
此C#程式碼範例從Image或PDF文件中讀取簡體中文文字。
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// Use an OcrInput to load the image
using (var Input = new OcrInput(@"images\Chinese.png"))
{
// Perform OCR on the input image
var Result = Ocr.Read(Input);
// Retrieve the recognized text
var AllText = Result.Text;
// Output the recognized text to the console
Console.WriteLine(AllText);
}
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// Use an OcrInput to load the image
using (var Input = new OcrInput(@"images\Chinese.png"))
{
// Perform OCR on the input image
var Result = Ocr.Read(Input);
// Retrieve the recognized text
var AllText = Result.Text;
// Output the recognized text to the console
Console.WriteLine(AllText);
}
' Import the IronOcr library
Imports IronOcr
' Create an instance of IronTesseract for OCR processing
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Chinese ' Set language to Chinese
' Use an OcrInput to load the image
Using Input = New OcrInput("images\Chinese.png")
' Perform OCR on the input image
Dim Result = Ocr.Read(Input)
' Retrieve the recognized text
Dim AllText = Result.Text
' Output the recognized text to the console
Console.WriteLine(AllText)
End Using
爲什麼選擇IronOCR?
IronOCR是易於安裝,完整且文件證明的.NET軟體庫。
選擇IronOCR可獲得99.8%+的OCR準確性,而無需使用任何外部Web服務,持續的費用或通過Internet發送機密文件。
爲什麼C#開發人員選擇IronOCR而不是Vanilla Tesseract:
- 作爲單個DLL或Nuget安裝
- 包括開箱即用的Tesseract 5、4和3發動機。
- 準確率 99.8% 明顯優於常規Tesseract。
- 極快的速度和多執行緒支持
- 相容MVC,WebApp,桌面,控制檯和伺服器應用程式
- 沒有可以使用的Exes或C ++程式碼
- 完整的PDF OCR支持
- 對幾乎所有圖像文件或PDF執行OCR
- 全面的.NET Core,Standard和FrameWork支持
- 在Windows,Mac,Linux,Azure,Docker,Lambda,AWS上部署
- 讀取條形碼和QR碼
- 將OCR導出爲XHTML
- 将OCR导出到可搜索的PDF文档
- 多執行緒支持
- 通過Nuget或OcrData文件管理的126種國際語言
- 提取圖像,座標,統計資訊和字體。 不只是文字。
- 可用於在商業和專有應用程式中重新分發Tesseract OCR。
當處理真實世界的圖像和不完善的文件(例如照片)或具有數字噪點或不完美的低解析度掃描時,IronOCR會發光。
.NET平臺的其他免費OCR庫(例如其他.NET Tesseract API和Web服務)在這些實際使用案例中的性能不佳。
帶Tesseract 5的OCR-在C#中開始編碼
下面的程式碼範例顯示了使用C#或VB .NET從圖像讀取文字是多麼容易。
OneLiner: 最簡單的一行程式碼
// Quick one-liner to read text from image
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
// Quick one-liner to read text from image
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
' Quick one-liner to read text from image
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
可配置的Hello World
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// Create and configure OcrInput
using (var Input = new OcrInput())
{
Input.AddImage("images/sample.jpeg");
// You can add multiple images
// Perform OCR on the input
var Result = Ocr.Read(Input);
// Output the recognized text to the console
Console.WriteLine(Result.Text);
}
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// Create and configure OcrInput
using (var Input = new OcrInput())
{
Input.AddImage("images/sample.jpeg");
// You can add multiple images
// Perform OCR on the input
var Result = Ocr.Read(Input);
// Output the recognized text to the console
Console.WriteLine(Result.Text);
}
' Import the IronOcr library
Imports IronOcr
' Create an instance of IronTesseract for OCR processing
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Chinese ' Set language to Chinese
' Create and configure OcrInput
Using Input = New OcrInput()
Input.AddImage("images/sample.jpeg")
' You can add multiple images
' Perform OCR on the input
Dim Result = Ocr.Read(Input)
' Output the recognized text to the console
Console.WriteLine(Result.Text)
End Using
C#PDF OCR
可以類似地使用相同的方法從任何PDF文件中提取文字。
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// OCR from PDF
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Optionally select specific PDF pages for OCR
var Result = Ocr.Read(input);
// Display the recognized text and page count
Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 page per PDF page
}
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// OCR from PDF
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Optionally select specific PDF pages for OCR
var Result = Ocr.Read(input);
// Display the recognized text and page count
Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 page per PDF page
}
' Import the IronOcr library
Imports IronOcr
' Create an instance of IronTesseract for OCR processing
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Chinese ' Set language to Chinese
' OCR from PDF
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' Optionally select specific PDF pages for OCR
Dim Result = Ocr.Read(input)
' Display the recognized text and page count
Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 page per PDF page
End Using
多頁TIFF的OCR
OCR讀取TIFF文件格式,包括多個頁面文件。 TIFF也可以直接轉換爲帶有可搜索文字的PDF文件。
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// OCR from multi-frame TIFF
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("multi-frame.tiff");
var Result = Ocr.Read(Input);
// Output the recognized text to the console
Console.WriteLine(Result.Text);
}
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// OCR from multi-frame TIFF
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("multi-frame.tiff");
var Result = Ocr.Read(Input);
// Output the recognized text to the console
Console.WriteLine(Result.Text);
}
' Import the IronOcr library
Imports IronOcr
' Create an instance of IronTesseract for OCR processing
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Chinese ' Set language to Chinese
' OCR from multi-frame TIFF
Using Input = New OcrInput()
Input.AddMultiFrameTiff("multi-frame.tiff")
Dim Result = Ocr.Read(Input)
' Output the recognized text to the console
Console.WriteLine(Result.Text)
End Using
條碼和QR
IronOCR的獨特功能是在掃描文字時可以讀取文件中的條形碼和QR碼。 OcrResult.OcrBarcode類的實例爲開發人員提供了有關每個掃描條形碼的詳細資訊。
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing with barcode reading enabled
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
// OCR with barcode scanning
using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
// Output recognized barcodes
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// Type and location properties are also exposed
}
}
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing with barcode reading enabled
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
// OCR with barcode scanning
using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
// Output recognized barcodes
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// Type and location properties are also exposed
}
}
' Import the IronOcr library
Imports IronOcr
' Create an instance of IronTesseract for OCR processing with barcode reading enabled
Private Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True
' OCR with barcode scanning
Using input = New OcrInput()
input.AddImage("img/Barcode.png")
Dim Result = Ocr.Read(input)
' Output recognized barcodes
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
' Type and location properties are also exposed
Next Barcode
End Using
圖像特定區域的OCR
IronOCR的所有掃描和讀取方法均提供了準確指定要從中讀取文字的頁面的哪一部分的功能。 當我們查看標準化表格時,這非常有用,可以節省大量時間並提高效率。
要使用裁剪區域,我們將需要新增對System.Drawing的系統引用,以便可以使用System.Drawing.Rectangle物件。
// Import the IronOcr library
using IronOcr;
using System.Drawing; // Ensure this assembly reference is added
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// OCR from a specific area of an image
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Dimensions are in pixels
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text); // Output the recognized text
}
// Import the IronOcr library
using IronOcr;
using System.Drawing; // Ensure this assembly reference is added
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// OCR from a specific area of an image
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Dimensions are in pixels
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text); // Output the recognized text
}
' Import the IronOcr library
Imports IronOcr
Imports System.Drawing ' Ensure this assembly reference is added
' Create an instance of IronTesseract for OCR processing
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Chinese ' Set language to Chinese
' OCR from a specific area of an image
Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
.X = 215,
.Y = 1250,
.Height = 280,
.Width = 1335
}
' Dimensions are in pixels
Input.Add("document.png", ContentArea)
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text) ' Output the recognized text
End Using
OCR用于低质量扫描
IronOCR OcrInput類可以修復普通Tesseract無法讀取的掃描。
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// OCR from low quality scan
using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // Fix digital noise and bad scan quality
Input.Deskew(); // Correct the rotation and perspective
var Result = Ocr.Read(Input); // Perform the OCR
Console.WriteLine(Result.Text); // Output the recognized text
}
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// OCR from low quality scan
using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // Fix digital noise and bad scan quality
Input.Deskew(); // Correct the rotation and perspective
var Result = Ocr.Read(Input); // Perform the OCR
Console.WriteLine(Result.Text); // Output the recognized text
}
' Import the IronOcr library
Imports IronOcr
' Create an instance of IronTesseract for OCR processing
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Chinese ' Set language to Chinese
' OCR from low quality scan
Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' Fix digital noise and bad scan quality
Input.Deskew() ' Correct the rotation and perspective
Dim Result = Ocr.Read(Input) ' Perform the OCR
Console.WriteLine(Result.Text) ' Output the recognized text
End Using
將OCR結果導出爲可搜索的PDF
帶有可複製文字字串的圖像到PDF。 可以由搜索引擎和資料庫建立索引。
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// Convert OCR results to a searchable PDF
using (var Input = new OcrInput())
{
Input.Title = "Quarterly Report";
Input.AddImage("image1.jpeg");
Input.AddImage("image2.png");
Input.AddImage("image3.gif");
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf"); // Save results as searchable PDF
}
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// Convert OCR results to a searchable PDF
using (var Input = new OcrInput())
{
Input.Title = "Quarterly Report";
Input.AddImage("image1.jpeg");
Input.AddImage("image2.png");
Input.AddImage("image3.gif");
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf"); // Save results as searchable PDF
}
' Import the IronOcr library
Imports IronOcr
' Create an instance of IronTesseract for OCR processing
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Chinese ' Set language to Chinese
' Convert OCR results to a searchable PDF
Using Input = New OcrInput()
Input.Title = "Quarterly Report"
Input.AddImage("image1.jpeg")
Input.AddImage("image2.png")
Input.AddImage("image3.gif")
Dim Result = Ocr.Read(Input)
Result.SaveAsSearchablePdf("searchable.pdf") ' Save results as searchable PDF
End Using
TIFF到可搜索的PDF轉換
將TIFF文件(或任何圖像文件組)直接轉換爲可搜索的PDF,可通過Intranet,網站和google搜索引擎對其進行索引。
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// Convert TIFF to searchable PDF
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("example.tiff");
Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf");
}
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// Convert TIFF to searchable PDF
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("example.tiff");
Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf");
}
' Import the IronOcr library
Imports IronOcr
' Create an instance of IronTesseract for OCR processing
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Chinese ' Set language to Chinese
' Convert TIFF to searchable PDF
Using Input = New OcrInput()
Input.AddMultiFrameTiff("example.tiff")
Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf")
End Using
將OCR結果導出爲HTML
OCR圖像到XHTML的轉換。
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// Convert OCR results to HTML format
using (var Input = new OcrInput())
{
Input.Title = "Html Title";
Input.AddImage("image1.jpeg");
var Result = Ocr.Read(Input);
Result.SaveAsHocrFile("results.html"); // Save results as HTML
}
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// Convert OCR results to HTML format
using (var Input = new OcrInput())
{
Input.Title = "Html Title";
Input.AddImage("image1.jpeg");
var Result = Ocr.Read(Input);
Result.SaveAsHocrFile("results.html"); // Save results as HTML
}
' Import the IronOcr library
Imports IronOcr
' Create an instance of IronTesseract for OCR processing
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Chinese ' Set language to Chinese
' Convert OCR results to HTML format
Using Input = New OcrInput()
Input.Title = "Html Title"
Input.AddImage("image1.jpeg")
Dim Result = Ocr.Read(Input)
Result.SaveAsHocrFile("results.html") ' Save results as HTML
End Using
OCR圖像增強濾鏡
IronOCR爲OcrInput物件提供了獨特的過濾器,以提高OCR性能。
圖像增強程式碼範例
使OCR輸入圖像質量更高,以產生更好,更快的OCR結果。
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// Enhance low quality image for OCR
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // Fix digital noise
Input.Deskew(); // Correct rotation and perspective
var Result = Ocr.Read(Input); // Perform the OCR
Console.WriteLine(Result.Text); // Output the recognized text
}
// Import the IronOcr library
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
// Enhance low quality image for OCR
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // Fix digital noise
Input.Deskew(); // Correct rotation and perspective
var Result = Ocr.Read(Input); // Perform the OCR
Console.WriteLine(Result.Text); // Output the recognized text
}
' Import the IronOcr library
Imports IronOcr
' Create an instance of IronTesseract for OCR processing
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Chinese ' Set language to Chinese
' Enhance low quality image for OCR
Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' Fix digital noise
Input.Deskew() ' Correct rotation and perspective
Dim Result = Ocr.Read(Input) ' Perform the OCR
Console.WriteLine(Result.Text) ' Output the recognized text
End Using
OCR圖像過濾器列表
IronOCR內建的用於增強OCR性能的輸入濾波器包括:
Rotate -順時針旋轉圖像數度。 對於逆時針,請使用負數。
Binarize -此圖像過濾器將每個像素變爲黑色或白色,而沒有中間地線。可能會改善文字與背景對比度非常低的OCR性能。
ToGrayScale -此圖像過濾器將每個像素變成灰度陰影。 不太可能提高OCR精度,但可能會提高速度
Contrast -自動增加對比度。 在低對比度掃描中,此過濾器通常可以提高OCR速度和準確性。
DeNoise -消除數字噪聲。 該濾波器僅應在預期有噪聲的地方使用。
Invert -反轉每種顏色。 例如,白色變成黑色:黑色變成白色。
Dilate -高級形態。 膨脹將像素新增到圖像中物件的邊界。侵蝕對面
Erode -高級形態。 侵蝕去除了物件邊界上的像素
Deskew -旋轉圖像,使其朝上且正交。 這對於OCR非常有用,因爲Tesseract對傾斜掃描的公差可以低至5度。
DeepCleanBackgroundNoise-消除大量背景噪音。 僅在已知極端文件背景噪音的情況下使用此過濾器,因爲此過濾器還會冒降低乾淨文件的OCR準確性的風險,並且CPU成本很高。
EnhanceResolution增強低質量圖像的解析度。 由於OcrInput.MinimumDPI和OcrInput.TargetDPI將自動捕獲並解析低解析度輸入,因此通常不需要此過濾器。
CleanBackgroundNoise 這種設置有些耗時。 但是,它允許該庫自動清除數字圖像中的數字噪音,紙屑和其他瑕疵,否則將使其無法被其他OCR庫讀取。
EnhanceContrast 是一種設置,可使IronOCR自動增加文字與圖像背景的對比度,從而提高OCR的準確性,並通常提高OCR的性能和速度。
EnhanceResolution 是一項設置,它將自動檢測低解析度圖像(低於275dpi),並自動放大圖像,然後對所有文字進行銳化處理,以便可以由OCR庫完美讀取。 儘管此操作本身很耗時,但通常會減少對圖像進行OCR操作的總時間。
語言 IronOCR支持22種國際語言包,並且語言設置可用於選擇一種或多種要用於OCR操作的多種語言。
策略 鐵OCR支持兩種策略。 我們可以選擇對文件進行快速而不太準確的掃描,或者使用高級策略,該策略使用一些人工智能模型通過查看句子中單詞彼此之間的統計關係來自動提高OCR文字的準確性。
ColorSpace是一種設置,通過該設置,我們可以選擇灰度或彩色OCR。 通常,灰度是最佳選擇。但是,有時當某些文字或背景的色相相似但顏色差異很大時,全色顏色空間會提供更好的效果。
DetectWhiteTextOnDarkBackgrounds 通常,所有OCR庫都希望在白色背景上看到黑色文字。 此設置使IronOCR可以自動檢測底片或帶有白色文字的暗頁並進行讀取。
InputImageType 通過此設置,開發人員可以指導OCR庫是查看完整文件還是片段(如螢幕截圖)。
RotateAndStraighten 是一種高級設置,它使IronOCR具有讀取不僅旋轉而且還包含透視圖的文件的獨特功能,例如文字文件的照片。
ReadBarcodes 是一項有用的功能,它允許IronOCR在讀取文字的同時自動讀取頁面上的條形碼和QR碼,而不會增加大量額外的時間負擔。
顏色深度 此設置確定OCR庫將使用每個像素多少位來確定顏色的深度。較高的色深可能會提高OCR質量,但也會增加OCR操作完成所需的時間。
126語言包
IronOCR通過以DLL形式分發的語言包支持126種國際語言,這些語言包可以從本網站下載,也可以從NuGet軟體包管理器下載。
語言包括德語,法語,英語,中文,日語等。 存在用於護照MRZ,MICR支票,財務資料,車牌等的專業語言包。 您還可以使用任何Tesseract“ .traineddata”文件-包括您自己建立的文件。
語言範例
使用其他OCR語言。
// Import the IronOcr library
// Ensure the Arabic language package is installed via NuGet
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic; // Set language to Arabic
// OCR using Arabic language
using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// Add image filters as needed
// This can improve OCR accuracy even with lower quality inputs
var Result = Ocr.Read(input);
// Saving Arabic text to file, console may not display correctly
Result.SaveAsTextFile("arabic.txt");
}
// Import the IronOcr library
// Ensure the Arabic language package is installed via NuGet
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic; // Set language to Arabic
// OCR using Arabic language
using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// Add image filters as needed
// This can improve OCR accuracy even with lower quality inputs
var Result = Ocr.Read(input);
// Saving Arabic text to file, console may not display correctly
Result.SaveAsTextFile("arabic.txt");
}
' Import the IronOcr library
' Ensure the Arabic language package is installed via NuGet
Imports IronOcr
' Create an instance of IronTesseract for OCR processing
Dim Ocr As New IronTesseract()
Ocr.Language = OcrLanguage.Arabic ' Set language to Arabic
' OCR using Arabic language
Using input As New OcrInput()
input.AddImage("img/arabic.gif")
' Add image filters as needed
' This can improve OCR accuracy even with lower quality inputs
Dim Result = Ocr.Read(input)
' Saving Arabic text to file, console may not display correctly
Result.SaveAsTextFile("arabic.txt")
End Using
多語言範例
也可以同時使用多種語言進行OCR。 這確實可以幫助獲取Unicode文件中的英語元資料和URL。
// Import the IronOcr library
// Ensure the Chinese Simplified and other required languages are installed via NuGet
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Chinese);
// You can add multiple secondary languages
// OCR multi-language document
using (var input = new OcrInput())
{
input.Add("multi-language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt"); // Save results
}
// Import the IronOcr library
// Ensure the Chinese Simplified and other required languages are installed via NuGet
using IronOcr;
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Chinese);
// You can add multiple secondary languages
// OCR multi-language document
using (var input = new OcrInput())
{
input.Add("multi-language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt"); // Save results
}
' Import the IronOcr library
' Ensure the Chinese Simplified and other required languages are installed via NuGet
Imports IronOcr
' Create an instance of IronTesseract for OCR processing
Dim Ocr As New IronTesseract()
Ocr.Language = OcrLanguage.ChineseSimplified
Ocr.AddSecondaryLanguage(OcrLanguage.Chinese)
' You can add multiple secondary languages
' OCR multi-language document
Using input As New OcrInput()
input.Add("multi-language.pdf")
Dim Result = Ocr.Read(input)
Result.SaveAsTextFile("results.txt") ' Save results
End Using
詳細的OCR結果物件
IronOCR爲每個OCR操作返回一個OCR結果物件。 通常,開發人員僅使用此物件的text屬性來從圖像中掃描文字。 但是,OCR結果DOM比這要先進得多。
// Import the IronOcr library
using IronOcr;
using System.Drawing; // Ensure assembly reference is added
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm; // Use both Tesseract and LSTM
Ocr.Configuration.ReadBarCodes = true; // Enable barcode reading
// OCR processing
using (var Input = new OcrInput(@"images\sample.tiff"))
{
OcrResult Result = Ocr.Read(Input);
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// Explore detailed API options here:
// - Pages, Blocks, Paragraphs, Lines, Words, Characters
// - Image Export, Font Coordinates, Statistics
}
// Import the IronOcr library
using IronOcr;
using System.Drawing; // Ensure assembly reference is added
// Create an instance of IronTesseract for OCR processing
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Chinese; // Set language to Chinese
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm; // Use both Tesseract and LSTM
Ocr.Configuration.ReadBarCodes = true; // Enable barcode reading
// OCR processing
using (var Input = new OcrInput(@"images\sample.tiff"))
{
OcrResult Result = Ocr.Read(Input);
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// Explore detailed API options here:
// - Pages, Blocks, Paragraphs, Lines, Words, Characters
// - Image Export, Font Coordinates, Statistics
}
' Import the IronOcr library
Imports IronOcr
Imports System.Drawing ' Ensure assembly reference is added
' Create an instance of IronTesseract for OCR processing
Dim Ocr As New IronTesseract()
Ocr.Language = OcrLanguage.Chinese ' Set language to Chinese
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm ' Use both Tesseract and LSTM
Ocr.Configuration.ReadBarCodes = True ' Enable barcode reading
' OCR processing
Using Input As New OcrInput("images\sample.tiff")
Dim Result As OcrResult = Ocr.Read(Input)
Dim Pages = Result.Pages
Dim Words = Pages(0).Words
Dim Barcodes = Result.Barcodes
' Explore detailed API options here:
' - Pages, Blocks, Paragraphs, Lines, Words, Characters
' - Image Export, Font Coordinates, Statistics
End Using
性能
IronOCR開箱即用,無需性能調整或大量修改輸入圖像。
速度飛快:IronOCR.2020 +的速度提高了10倍,並且比以前的版本減少了250%以上的錯誤。
學到更多
要了解有關C#,VB,F#或任何其他.NET語言中OCR的更多資訊,請閱讀我們的社區教程,其中提供了有關如何使用Iron OCR的真實範例,並可能顯示出如何從中獲得最大收益的細微差別。 這個圖書館。
還提供了.NET開發人員的完整物件參考。

