OCR românesc în C#și .NET

Alte versiuni ale acestui document:

IronOCR este o componentă software C#care permite programatorilor .NET să citească text din imagini și documente PDF în 126 de limbi, inclusiv română.

Este o furcă avansată a Tesseract, construită exclusiv pentru dezvoltatorii .NET și depășește în mod regulat alte motoare Tesseract atât pentru viteză, cât și pentru precizie.

Conținutul IronOcr.Languages.Romanian

Acest pachet conține 49 de limbi OCR pentru .NET:

  • Română
  • Cel mai bun românesc
  • RomanianFast

Descarca

Romanian Language Pack [limba română]
* Download as Zip
* Install with
https://www.nuget.org/packages/IronOcr.Languages.Romanian/'> NuGet

Instalare

Primul lucru pe care trebuie să-l facem este să instalăm pachetul nostru OCR românesc în proiectul dvs. .NET.

PM> Install-Package IronOCR.Languages.Romanian

Exemplu de cod

Acest exemplu de cod C#citește textul românesc dintr-un document Image sau PDF.

//PM> Install-Package IronOcr.Languages.Romanian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;
using (var Input = new OcrInput(@"images\Romanian.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
//PM> Install-Package IronOcr.Languages.Romanian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;
using (var Input = new OcrInput(@"images\Romanian.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
'PM> Install-Package IronOcr.Languages.Romanian
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Romanian
Using Input = New OcrInput("images\Romanian.png")
Dim Result = Ocr.Read(Input)
Dim AllText As Var = Result.Text
End Using
VB   C#

De ce să alegeți IronOCR?

IronOCR este o bibliotecă de software .NET ușor de instalat, completă și bine documentată.

Alegeți IronOCR pentru a obține o precizie de 99,8% + OCR fără a utiliza servicii web externe, taxe continue sau trimiterea de documente confidențiale pe internet.

De ce dezvoltatorii C#aleg IronOCR în locul Vanilla Tesseract:

  • Instalați ca un singur DLL sau NuGet
  • Include motoare Tesseract 5, 4 și 3 scoase din cutie.
  • Precizie 99,8% depășește semnificativ Tesseract obișnuit.
  • Viteză aprinsă și MultiThreading
  • Compatibil cu aplicațiile MVC, WebApp, Desktop, Consolă și Server
  • Nu există cod Exes sau C ++ cu care să funcționeze
  • Suport complet OCR PDF
  • Pentru a efectua OCR aproape orice fișier imagine sau PDF
  • Suport complet .NET Core, Standard și FrameWork
  • Implementați pe Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Citiți codurile de bare și codurile QR
  • Exportați OCR în XHTML
  • Exportați OCR în documente PDF care pot fi căutate
  • Suport multithreading
  • 126 de limbi internaționale, toate gestionate prin fișiere NuGet sau OcrData
  • Extrageți imagini, coordonate, statistici și fonturi. Nu doar text.
  • Poate fi folosit pentru redistribuirea Tesseract OCR în aplicații comerciale și proprietare.

OCR-ul de fier strălucește atunci când lucrați cu imagini din lumea reală și documente imperfecte, cum ar fi fotografii sau scanări cu rezoluție mică, care pot avea zgomot digital sau imperfecțiuni.

Alte biblioteci OCR gratuite pentru platforma .NET precum alte API-uri și servicii web .net tesseract nu au performanțe atât de bune în aceste cazuri de utilizare din lumea reală.

OCR cu Tesseract 5 - Începeți codarea în C #

Exemplul de cod de mai jos arată cât de ușor este să citiți textul dintr-o imagine folosind C#sau VB .NET.

OneLiner

string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
VB   C#

Configurabile Hello World

// PM> Install-Package IronOCR.Languages.Romanian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... puteți adăuga orice număr de imagini
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Romanian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... puteți adăuga orice număr de imagini
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Romanian
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Romanian
Using Input = New OcrInput()
Input.AddImage("images/sample.jpeg") var Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

C#PDF OCR

Aceeași abordare poate fi utilizată în mod similar pentru a extrage text din orice document PDF.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// De asemenea, putem selecta anumite numere de pagini PDF către OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 pagină pentru fiecare pagină din PDF
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// De asemenea, putem selecta anumite numere de pagini PDF către OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 pagină pentru fiecare pagină din PDF
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Romanian
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' De asemenea, putem selecta anumite numere de pagini PDF către OCR

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 pagină pentru fiecare pagină din PDF
End Using
VB   C#

OCR pentru TIFF-uri MultiPage

OCR Lectură format de fișier TIFF, inclusiv documente cu mai multe pagini. TIFF poate fi, de asemenea, convertit direct într-un fișier PDF cu text căutabil.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("multi - frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("multi - frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Romanian

Using Input = New OcrInput()
input.AddMultiFrameTiff("multi - frame.tiff")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Coduri de bare și QR

O caracteristică unică a IronOCR este că poate citi coduri de bare și coduri QR din documente în timp ce scanează textul. Instanțele clasei OcrResult.OcrBarcode oferă dezvoltatorului informații detaliate despre fiecare cod de bare scanat.

// using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// tipul și proprietățile de locație expuse, de asemenea
}
}
// using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// tipul și proprietățile de locație expuse, de asemenea
}
}
' using IronOcr;
Dim Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True

Using input = New OcrInput()
input.AddImage("img/Barcode.png")
Dim Result = Ocr.Read(input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
' tipul și proprietățile de locație expuse, de asemenea
Next Barcode
End Using
VB   C#

OCR pe zone specifice de imagini

Toate metodele de scanare și citire IronOCR oferă posibilitatea de a specifica exact din ce parte a unei pagini sau pagini dorim să citim textul. Acest lucru este foarte util atunci când ne uităm la formulare standardizate și poate economisi mult timp și poate îmbunătăți eficiența.

Pentru a utiliza regiunile de recoltare, va trebui să adăugăm o referință de sistem la System.Drawing astfel încât să putem utiliza obiectul System.Drawing.Rectangle .

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Dimensiunile sunt exprimate în px

Input.Add("document.png", ContentArea);

var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Dimensiunile sunt exprimate în px

Input.Add("document.png", ContentArea);

var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Romanian

Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
	.X = 215,
	.Y = 1250,
	.Height = 280,
	.Width = 1335
}
' Dimensiunile sunt exprimate în px

Input.Add("document.png", ContentArea)

Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

OCR pentru scanări de calitate scăzută

Clasa IronOCR OcrInput poate remedia scanările pe care Tesseract normal nu le poate citi.

using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // remediază zgomotul digital și scanarea deficitară
Input.Deskew(); // fixează rotația și perspectiva
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // remediază zgomotul digital și scanarea deficitară
Input.Deskew(); // fixează rotația și perspectiva
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Romanian

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' remediază zgomotul digital și scanarea deficitară
Input.Deskew() ' fixează rotația și perspectiva
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Exportați rezultatele OCR ca PDF în căutare

Imagine în PDF cu șiruri de text copiabile. Poate fi indexat de motoarele de căutare și bazele de date.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;

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")
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;

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")
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Romanian

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")
End Using
VB   C#

Conversie PDF TIFF către căutare

Convertiți un document TIFF (sau orice grup de fișiere imagine) direct într-un PDF care poate fi căutat, care poate fi indexat de către intranet, site-ul web și motoarele de căutare Google.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("example.tiff")
var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("example.tiff")
var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Romanian

Using Input = New OcrInput()
input.AddMultiFrameTiff("example.tiff") var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#

Exportați rezultatele OCR ca HTML

Conversie OCR imagine în XHTML.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;
using (var Input = new OcrInput()){
input.Title = "Html Title"
input.AddImage("image1.jpeg");
var Result = Ocr.Read(input);
Result.SaveAsHocrFile("results.html");
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;
using (var Input = new OcrInput()){
input.Title = "Html Title"
input.AddImage("image1.jpeg");
var Result = Ocr.Read(input);
Result.SaveAsHocrFile("results.html");
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Romanian
Using Input = New OcrInput()
input.Title = "Html Title" input.AddImage("image1.jpeg")
Dim Result = Ocr.Read(input)
Result.SaveAsHocrFile("results.html")
End Using
VB   C#

Filtre de îmbunătățire a imaginii OCR

IronOCR oferă filtre unice pentru obiectele OcrInput pentru a îmbunătăți performanța OCR.

Exemplu de cod de îmbunătățire a imaginii

Crește calitatea imaginilor de intrare OCR pentru a obține rezultate OCR mai bune și mai rapide.

using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // remediază zgomotul digital și scanarea deficitară
Input.Deskew(); // fixează rotația și perspectiva
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // remediază zgomotul digital și scanarea deficitară
Input.Deskew(); // fixează rotația și perspectiva
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Romanian

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' remediază zgomotul digital și scanarea deficitară
Input.Deskew() ' fixează rotația și perspectiva
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Lista filtrelor de imagine OCR

Filtrele de intrare pentru a spori performanța OCR, care sunt încorporate în IronOCR includ:

  • OcrInput.Rotate (grade duble) - Rotește imaginile cu un număr de grade în sensul acelor de ceasornic. Pentru sensul invers acelor de ceasornic, utilizați numere negative.
  • OcrInput.Binarize () - Acest filtru de imagine transformă fiecare pixel în negru sau alb, fără un punct de mijloc. Poate îmbunătăți cazurile de performanță OCR cu un contrast foarte scăzut al textului cu fundalul.
  • OcrInput.ToGrayScale () - Acest filtru de imagine transformă fiecare pixel într-o nuanță de tonuri de gri. Este puțin probabil să îmbunătățească precizia OCR, dar poate îmbunătăți viteza
  • OcrInput.Contrast () - Crește automat contrastul. Acest filtru îmbunătățește adesea viteza și precizia OCR în scanările cu contrast redus.
  • OcrInput.DeNoise () - Elimină zgomotul digital. Acest filtru trebuie utilizat numai acolo unde se așteaptă zgomot.
  • OcrInput.Invert () - Inversează fiecare culoare. De exemplu, albul devine negru: negrul devine alb.
  • OcrInput.Dilate () - Morfologie avansată. Dilatarea adaugă pixeli la limitele obiectelor dintr-o imagine. Vizavi de Erode
  • OcrInput.Erode () - Morfologie avansată. Eroziunea elimină pixelii de la limitele obiectului Opusite of Dilate
  • OcrInput.Deskew () - Rotește o imagine, astfel încât să fie corectă în sus și ortogonală. Acest lucru este foarte util pentru OCR, deoarece toleranța Tesseract pentru scanările înclinate poate fi de până la 5 grade.
  • OcrInput.DeepCleanBackgroundNoise () - Eliminarea puternică a zgomotului de fundal. Folosiți acest filtru numai în cazul în care se cunoaște zgomotul de fond al documentului, deoarece acest filtru va risca, de asemenea, să reducă precizia OCR a documentelor curate și este foarte scump pentru CPU.
  • OcrInput.EnhanceResolution - Îmbunătățește rezoluția imaginilor de calitate scăzută. Acest filtru nu este adesea necesar, deoarece OcrInput.MinimumDPI și OcrInput.TargetDPI vor captura și rezolva automat intrările cu rezoluție scăzută.

CleanBackgroundNoise. Aceasta este o setare care consumă ceva timp; cu toate acestea, permite bibliotecii să curățe automat zgomotul digital, zgârieturile de hârtie și alte imperfecțiuni dintr-o imagine digitală, care altfel ar face-o incapabilă de a fi citită de alte biblioteci OCR.

EnhanceContrast este o setare care face ca IronOCR să mărească automat contrastul textului pe fundalul unei imagini, crescând acuratețea OCR și, în general, sporind performanța și viteza OCR.

EnhanceResolution este o setare care va detecta automat imagini cu rezoluție mică (care sunt sub 275 dpi) și va îmbunătăți automat imaginea și apoi va ascuți tot textul, astfel încât să poată fi citit perfect de o bibliotecă OCR. Deși această operațiune consumă în sine în sine, reduce în general timpul total pentru o operație OCR pe o imagine.

Language IronOCR acceptă 22 de pachete de limbi internaționale, iar setarea limbii poate fi utilizată pentru a selecta una sau mai multe limbi multiple care vor fi aplicate pentru o operație OCR.

Strategia OCR Iron acceptă două strategii. Putem alege fie să optăm pentru o scanare rapidă și mai puțin precisă a unui document, fie să folosim o strategie avansată care utilizează unele modele de inteligență artificială pentru a îmbunătăți automat acuratețea textului OCR, analizând relația statistică a cuvintelor între ele într-o propoziție. .

ColorSpace este o setare prin care putem alege să OCR în tonuri de gri sau culoare. În general, scala de gri este cea mai bună opțiune. Cu toate acestea, uneori, atunci când există texte sau fundaluri de nuanță similară, dar de culoare foarte diferită, un spațiu color complet va oferi rezultate mai bune.

DetectWhiteTextOnDarkBackgrounds. În general, toate bibliotecile OCR se așteaptă să vadă text negru pe fundal alb. Această setare permite IronOCR să detecteze automat negativele sau paginile întunecate cu text alb și să le citească.

InputImageType. Această setare permite dezvoltatorului să ghideze biblioteca OCR dacă se uită la un document complet sau la un fragment, cum ar fi o captură de ecran.

RotateAndStraighten este o setare avansată care permite IronOCR capacitatea unică de a citi documente care nu numai că sunt rotite, dar poate conțin și perspective, cum ar fi fotografiile documentelor text.

ReadBarcodes este o caracteristică utilă care permite IronOCR să citească automat codurile de bare și codurile QR de pe pagini, deoarece citește și text, fără a adăuga o sarcină suplimentară mare de timp.

ColorDepth. Această setare determină câți biți pe pixel va utiliza biblioteca OCR pentru a determina adâncimea unei culori. O adâncime de culoare mai mare poate crește calitatea OCR, dar va crește, de asemenea, timpul necesar finalizării operației OCR.

126 pachete lingvistice

IronOCR acceptă 126 de limbi internaționale prin pachete lingvistice care sunt distribuite ca DLL-uri, care pot fi descărcate de pe acest site web sau din Managerul de pachete NuGet .

Limbile includ germană, franceză, engleză, chineză, japoneză și multe altele. Există pachete lingvistice specializate pentru pașapoarte MRZ, verificări MICR, date financiare, plăcuțe de înmatriculare și multe altele. Puteți utiliza, de asemenea, orice fișier tesseract ".traineddata" - inclusiv cele pe care le creați singur.

Exemplu de limbă

Utilizarea altor limbi OCR.

// using IronOcr;
// PM> Install IronOcr.Languages.Arabic

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// Adăugați filtre de imagine dacă este necesar
// În acest caz, chiar și intrarea gândită este de calitate foarte scăzută
// IronTesseract poate citi ceea ce Tesseract convențional nu poate.

var Result = Ocr.Read(input);

// Consola nu poate imprima cu ușurință limba arabă pe Windows.
// Să salvăm pe disc în schimb.
Result.SaveAsTextFile("arabic.txt");
}
// using IronOcr;
// PM> Install IronOcr.Languages.Arabic

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// Adăugați filtre de imagine dacă este necesar
// În acest caz, chiar și intrarea gândită este de calitate foarte scăzută
// IronTesseract poate citi ceea ce Tesseract convențional nu poate.

var Result = Ocr.Read(input);

// Consola nu poate imprima cu ușurință limba arabă pe Windows.
// Să salvăm pe disc în schimb.
Result.SaveAsTextFile("arabic.txt");
}
' using IronOcr;
' PM> Install IronOcr.Languages.Arabic

Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic

Using input = New OcrInput()
input.AddImage("img/arabic.gif")
' Adăugați filtre de imagine dacă este necesar
' În acest caz, chiar și intrarea gândită este de calitate foarte scăzută
' IronTesseract poate citi ceea ce Tesseract convențional nu poate.

Dim Result = Ocr.Read(input)

' Consola nu poate imprima cu ușurință limba arabă pe Windows.
' Să salvăm pe disc în schimb.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

Exemplu de limbă multiplă

De asemenea, este posibil să OCR utilizând mai multe limbi în același timp. Acest lucru vă poate ajuta să obțineți metadate și adrese URL în limba engleză în documentele Unicode.

// using IronOcr;
// PM> Install IronOcr.Languages.ChineseSimplified

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Romanian);

// Putem adăuga orice număr de limbi

using (var input = new OcrInput())
{
input.Add("multi - language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt");
}
// using IronOcr;
// PM> Install IronOcr.Languages.ChineseSimplified

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Romanian);

// Putem adăuga orice număr de limbi

using (var input = new OcrInput())
{
input.Add("multi - language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt");
}
' using IronOcr;
' PM> Install IronOcr.Languages.ChineseSimplified

Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.ChineseSimplified
Ocr.AddSecondaryLanguage(OcrLanguage.Romanian)

' Putem adăuga orice număr de limbi

Using input = New OcrInput()
input.Add("multi - language.pdf")
Dim Result = Ocr.Read(input)
Result.SaveAsTextFile("results.txt")
End Using
VB   C#

Obiecte detaliate ale rezultatelor OCR

IronOCR returnează un obiect rezultat OCR pentru fiecare operație OCR. În general, dezvoltatorii folosesc numai proprietatea text a acestui obiect pentru a obține scanarea textului din imagine. Cu toate acestea, rezultatele OCR DOM sunt mult mai avansate decât aceasta.

using IronOcr;
using System.Drawing; //Adăugați referință de asamblare

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!Important

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;
// Explorați aici pentru a găsi un API masiv și detaliat:
// - Pagini, blocuri, parafafe, linii, cuvinte, caractere
// - Export de imagini, coordonate de fonturi, date statistice
}
using IronOcr;
using System.Drawing; //Adăugați referință de asamblare

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Romanian;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!Important

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;
// Explorați aici pentru a găsi un API masiv și detaliat:
// - Pagini, blocuri, parafafe, linii, cuvinte, caractere
// - Export de imagini, coordonate de fonturi, date statistice
}
Imports IronOcr
Imports System.Drawing 'Adăugați referință de asamblare

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Romanian
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True '!Important

Using Input = 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
' Explorați aici pentru a găsi un API masiv și detaliat:
' - Pagini, blocuri, parafafe, linii, cuvinte, caractere
' - Export de imagini, coordonate de fonturi, date statistice
End Using
VB   C#

Performanţă

IronOCR funcționează din cutie fără a fi nevoie să reglați performanța sau să modificați puternic imaginile de intrare.

Speed is Blazing: IronOcr.2020 + este de până la 10 ori mai rapidă și face cu 250% mai puține erori decât versiunile anterioare.

Aflați mai multe

Pentru a afla mai multe despre OCR în C #, VB, F # sau în orice alt limbaj .NET, vă rugăm să citiți tutorialele noastre din comunitate , care oferă exemple din lumea reală despre modul în care IronOCR poate fi utilizat și pot arăta nuanțele modului de a obține cele mai bune rezultate din această bibliotecă.

Este disponibilă, de asemenea, o referință completă a obiectelor pentru dezvoltatorii .NET .