Afrikaanse OCR in C#en .NET

Ander weergawes van hierdie dokument:

IronOCR is 'n C#-softwarekomponent waarmee .NET-koders teks uit beelde en PDF-dokumente in 126 tale, insluitend Afrikaans, kan lees.

Dit is 'n gevorderde vurk van Tesseract, wat uitsluitlik vir die .NET-ontwikkelaars gebou is en beter presteer as ander Tesseract-enjins vir snelheid en akkuraatheid.

Inhoud van IronOcr.Languages.Afrikaans

Hierdie pakket bevat 52 OCR-tale vir .NET:

  • Afrikaans
  • AfrikaansBeste
  • AfrikaansFast

Aflaai

Afrikaanse Taalpakket [Afrikaans]

  • Download as Rits
  • Install with NuGet

    Installasie

    Die eerste ding wat ons moet doen, is om ons Afrikaanse OCR-pakket op u .NET-projek te installeer.

    PM> Install-Package IronOCR.Languages.Afrikaans

    Kode Voorbeeld

    Hierdie C#-kode-voorbeeld lees Afrikaanse teks uit 'n beeld- of PDF-dokument.

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

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

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

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

Waarom kies IronOCR?

IronOCR is 'n maklike installeerbare, volledige en goed gedokumenteerde .NET sagtewarebiblioteek.

Kies IronOCR om OCR-akkuraatheid van 99,8% + te behaal sonder om eksterne webdienste te gebruik, deurlopende fooie of vertroulike dokumente oor die internet te stuur.

Waarom C#-ontwikkelaars kies IronOCR bo Vanilla Tesseract:

  • Installeer dit as 'n enkele DLL of NuGet
  • Ingesluit vir Tesseract 5, 4 en 3 Engines out of the box.
  • Akkuraatheid 99,8% beter as gewone Tesseract.
  • Blaai spoed en multithreading
  • MVC, WebApp, Desktop, Console & Server Application versoenbaar
  • Geen Exes of C ++ - kode om mee te werk nie
  • Volledige PDF-OCR-ondersteuning
  • Om OCR 'n bykans enige beeldlêer of PDF uit te voer
  • Volledige .NET Core-, Standard- en FrameWork-ondersteuning
  • Ontplooi op Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Lees strepieskodes en QR-kodes
  • Voer OCR uit na XHTML
  • Voer OCR uit na deursoekbare PDF-dokumente
  • Ondersteuning vir multithreading
  • 126 internasionale tale word almal via NuGet- of OcrData-lêers bestuur
  • Onttrek beelde, koördinate, statistieke en lettertipes. Nie net teks nie.
  • Kan gebruik word om Tesseract OCR in kommersiële en eie toepassings te herverdeel.

Yster OCR skyn as u met werklike beelde en onvolmaakte dokumente werk, soos foto's, of skanderings met lae resolusie wat digitale geraas of onvolmaakthede kan hê.

Ander gratis OCR- biblioteke vir die .NET-platform, soos ander .net tesseract-API's en webdienste, presteer nie so goed in hierdie gebruiksgevalle nie.

OCR met Tesseract 5 - Begin kodering in C #

Die onderstaande kode-voorbeeld toon aan hoe maklik dit is om teks uit 'n beeld te lees met behulp van C#of 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#

Konfigureerbare Hello World

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Afrikaans;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... u kan enige aantal beelde byvoeg
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Afrikaans
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Afrikaans;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... u kan enige aantal beelde byvoeg
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Afrikaans
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Afrikaans
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

Dieselfde benadering kan ook gebruik word om teks uit enige PDF-dokument te onttrek.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Afrikaans;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Ons kan ook spesifieke PDF-bladsynommers vir OCR kies

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 bladsy vir elke bladsy in die PDF
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Afrikaans;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Ons kan ook spesifieke PDF-bladsynommers vir OCR kies

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 bladsy vir elke bladsy in die PDF
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Afrikaans
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' Ons kan ook spesifieke PDF-bladsynommers vir OCR kies

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 bladsy vir elke bladsy in die PDF
End Using
VB   C#

OCR vir MultiPage TIFF's

OCR Lees TIFF-lêerformaat, insluitend dokumente met meerdere bladsye. TIFF kan ook direk in 'n PDF-lêer met soekbare teks omgeskakel word.

using IronOcr;

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

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.Afrikaans;

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.Afrikaans

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

Barcodes en QR

'N Unieke kenmerk van IronOCR is dat dit barcodes en QR-kodes uit dokumente kan lees terwyl dit na teks soek. Gevalle van die OcrResult.OcrBarcode klas gee die ontwikkelaar gedetailleerde inligting oor elke geskandeerde strepieskode.

// 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);
// tipe en liggingseienskappe ook blootgestel
}
}
// 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);
// tipe en liggingseienskappe ook blootgestel
}
}
' 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)
' tipe en liggingseienskappe ook blootgestel
Next Barcode
End Using
VB   C#

OCR oor spesifieke gebiede van beelde

Al die scan- en leesmetodes van IronOCR bied die vermoë om presies aan te dui uit watter deel van 'n bladsy of bladsye ons teks wil lees. Dit is baie handig as ons na gestandaardiseerde vorms kyk en baie tyd kan bespaar en doeltreffendheid kan verbeter.

Om gewasstreke te gebruik, moet ons 'n stelselverwysing by System.Drawing sodat ons die System.Drawing.Rectangle voorwerp kan gebruik.

using IronOcr;

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Die afmetings is in px

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

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

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Die afmetings is in px

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

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

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

Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
	.X = 215,
	.Y = 1250,
	.Height = 280,
	.Width = 1335
}
' Die afmetings is in px

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

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

OCR vir skande van lae gehalte

Die IronOCR OcrInput klas kan skanderings regstel wat normale Tesseract nie kan lees nie.

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

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // herstel digitale geraas en swak skandering
Input.Deskew(); // draai rotasie en perspektief reg
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Afrikaans;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // herstel digitale geraas en swak skandering
Input.Deskew(); // draai rotasie en perspektief reg
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Afrikaans

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' herstel digitale geraas en swak skandering
Input.Deskew() ' draai rotasie en perspektief reg
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Voer OCR-resultate uit as 'n deursoekbare PDF

Beeld na PDF met kopieerbare teksstringe. Kan geïndekseer word deur soekenjins en databasisse.

using IronOcr;

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

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.Afrikaans;

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.Afrikaans

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#

TIFF na deursoekbare PDF-omskakeling

COnverteer 'n TIFF-dokument (of enige groep beeldlêers) direk na 'n soekbare PDF wat deur middel van intranet-, webwerf- en google-soekenjins geïndekseer kan word.

using IronOcr;

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

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.Afrikaans;

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.Afrikaans

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

Voer OCR-resultate uit as HTML

OCR-beeld na XHTML-omskakeling.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Afrikaans;
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.Afrikaans;
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.Afrikaans
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#

OCR-beeldverbeteringsfilters

IronOCR bied unieke filters vir OcrInput voorwerpe om die OCR-prestasie te verbeter.

Voorbeeld van beeldverbeteringskode

Maak OCR-invoerbeelde van hoër gehalte om beter, vinniger OCR-resultate te lewer.

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

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // herstel digitale geraas en swak skandering
Input.Deskew(); // draai rotasie en perspektief reg
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Afrikaans;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // herstel digitale geraas en swak skandering
Input.Deskew(); // draai rotasie en perspektief reg
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Afrikaans

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' herstel digitale geraas en swak skandering
Input.Deskew() ' draai rotasie en perspektief reg
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Lys met OCR-beeldfilters

Invoerfilters om die OCR-prestasie te verbeter, wat in IronOCR ingebou is, sluit in:

  • OcrInput.Rotate (dubbele grade) - Draai beelde met 'n aantal grade kloksgewys. Gebruik negatiewe getalle vir antikloksgewys.
  • OcrInput.Binarize () - Hierdie beeldfilter maak elke pixel swart of wit sonder middelgrond. Kan OCR-prestasiegevalle verbeter met 'n baie lae kontras tussen teks en agtergrond.
  • OcrInput.ToGrayScale () - Hierdie beeldfilter verander elke pixel in 'n skakering van grysskaal. Dit sal waarskynlik nie die akkuraatheid van die OCR verbeter nie, maar die spoed verbeter
  • OcrInput.Contrast () - Verhoog die kontras outomaties. Hierdie filter verbeter OCR-spoed en akkuraatheid in skanderings met lae kontras.
  • OcrInput.DeNoise () - Verwyder digitale geraas. Hierdie filter moet slegs gebruik word waar geraas verwag word.
  • OcrInput.Invert () - skakel elke kleur om. Bv. Wit word swart: swart word wit.
  • OcrInput.Dilate () - Gevorderde morfologie. Dilatasie voeg pixels by aan die grense van voorwerpe in 'n beeld. Oorkant Erode
  • OcrInput.Erode () - Gevorderde morfologie. Erosie verwyder pixels op voorwerpgrense oorkant Dilate
  • OcrInput.Deskew () - Draai 'n beeld sodat dit op die regte manier en ortogonaal is. Dit is baie handig vir OCR, omdat die toleransie van Tesseract vir skewe skanderings tot 5 grade kan wees.
  • OcrInput.DeepCleanBackgroundNoise () - Swaar agtergrondgeraasverwydering. Gebruik hierdie filter slegs indien ekstreme agtergrondgeluide van dokumente bekend is, omdat hierdie filter ook die OCR-akkuraatheid van skoon dokumente kan verminder, en dit is baie duur vir die CPU.
  • OcrInput.EnhanceResolution - Verbeter die resolusie van beelde van lae gehalte. Hierdie filter is nie dikwels nodig nie omdat OcrInput.MinimumDPI en OcrInput.TargetDPI outomaties insette met lae resolusie sal opvang en oplos.

Skoon agtergrond lawaai. Dit is 'n bietjie tydrowende omgewing; dit laat die biblioteek egter toe om digitale geraas, papierkreukels en ander onvolmaakthede outomaties in 'n digitale beeld skoon te maak, wat dit andersins onbevoeg kan maak om deur ander OCR-biblioteke gelees te word.

EnhanceContrast is 'n instelling wat veroorsaak dat IronOCR die kontras van die teks outomaties verhoog teen die agtergrond van 'n beeld, wat die akkuraatheid van OCR verhoog en die prestasie en die snelheid van OCR gewoonlik verhoog.

EnhanceResolution is 'n instelling wat outomaties beelde met lae resolusie (wat minder as 275 dpi het) sal opspoor en die beeld outomaties sal opskaal en dan die hele teks sal verskerp sodat dit perfek gelees kan word deur 'n OCR-biblioteek. Alhoewel hierdie bewerking op sigself tydrowend is, verminder dit gewoonlik die algehele tyd vir 'n OCR-bewerking op 'n beeld.

Language IronOCR ondersteun 22 internasionale taalpakkette, en die taalinstelling kan gebruik word om een of meer tale te kies wat vir 'n OCR-operasie toegepas moet word.

Strategie IronOCR ondersteun twee strategieë. Ons kan kies om 'n vinnige en minder akkurate skandering van 'n dokument te doen, of 'n gevorderde strategie te gebruik wat sommige kunsmatige intelligensie-modelle gebruik om die akkuraatheid van OCR-teks outomaties te verbeter deur na die statistiese verhouding van woorde in 'n sin te kyk. .

ColorSpace is 'n instelling waardeur ons OCR in grysskaal of kleur kan kies. Oor die algemeen is grysskaal die beste opsie. Soms, as daar tekste of agtergronde van 'n soortgelyke tint is, maar baie anders, sal 'n kleurkleurruimte beter resultate lewer.

DetectWhiteTextOnDarkBackgrounds. Oor die algemeen verwag alle OCR-biblioteke om swart teks op wit agtergronde te sien. Met hierdie instelling kan IronOCR outomaties negatiewe of donker bladsye met wit teks opspoor en dit lees.

InputImageType. Met hierdie instelling kan die ontwikkelaar die OCR-biblioteek lei of hy na 'n volledige dokument of 'n fragment kyk, soos 'n kiekie.

RotateAndStraighten is 'n gevorderde instelling waarmee IronOCR die unieke vermoë het om dokumente te lees wat nie net gedraai word nie, maar moontlik perspektief bevat, soos foto's van teksdokumente.

ReadBarcodes is 'n handige funksie waarmee IronOCR strepieskodes en QR-kodes outomaties op bladsye kan lees, aangesien dit ook teks lees, sonder om 'n groot ekstra tydlas by te voeg.

Kleurdiepte. Hierdie instelling bepaal hoeveel bisse per pixel die OCR-biblioteek sal gebruik om die diepte van 'n kleur te bepaal. 'N Groter kleurdiepte kan die OCR-kwaliteit verhoog, maar dit sal ook die tyd wat die OCR-bewerking benodig om te voltooi, vergroot.

126 Taalpakkette

IronOCR ondersteun 126 internasionale tale via taalpakkette wat as DLL's versprei word, wat van hierdie webwerf of van die NuGet Package Manager afgelaai kan word.

Tale sluit Duits, Frans, Engels, Chinees, Japannees en vele meer in. Spesialistaalpakkette bestaan vir paspoort MRZ, MICR-tjeks, finansiële data, nommerplate en vele meer. U kan ook enige tesseract ".traineddata" -lêer gebruik - ook die lêers wat u self skep.

Taalvoorbeeld

Die gebruik van ander OCR-tale.

// 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");
// Voeg prentfilters by indien nodig
// In hierdie geval is selfs insette van baie lae gehalte
// IronTesseract kan lees wat konvensionele Tesseract nie kan nie.

var Result = Ocr.Read(input);

// Die konsole kan nie maklik Arabies op Windows druk nie.
// Laat ons eerder op die skyf stoor.
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");
// Voeg prentfilters by indien nodig
// In hierdie geval is selfs insette van baie lae gehalte
// IronTesseract kan lees wat konvensionele Tesseract nie kan nie.

var Result = Ocr.Read(input);

// Die konsole kan nie maklik Arabies op Windows druk nie.
// Laat ons eerder op die skyf stoor.
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")
' Voeg prentfilters by indien nodig
' In hierdie geval is selfs insette van baie lae gehalte
' IronTesseract kan lees wat konvensionele Tesseract nie kan nie.

Dim Result = Ocr.Read(input)

' Die konsole kan nie maklik Arabies op Windows druk nie.
' Laat ons eerder op die skyf stoor.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

Voorbeeld van meerdere tale

Dit is ook moontlik om OCR met behulp van verskeie tale gelyktydig te gebruik. Dit kan regtig help om Engelse metadata en urls in Unicode-dokumente te kry.

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

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

// Ons kan enige aantal tale byvoeg

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.Afrikaans);

// Ons kan enige aantal tale byvoeg

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.Afrikaans)

' Ons kan enige aantal tale byvoeg

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

Gedetailleerde OCR-uitslagvoorwerpe

IronOCR gee 'n OCR-resultaatobjek vir elke OCR-bewerking terug. Oor die algemeen gebruik ontwikkelaars slegs die tekseiendom van hierdie voorwerp om die teks vanaf die prent te laat skandeer. Die OCR-resultate DOM is egter baie meer gevorderd as dit.

using IronOcr;
using System.Drawing; //Voeg vergaderingverwysing by

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

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;
// Verken hier om 'n uitgebreide, gedetailleerde API te vind:
// - Bladsye, blokke, parafafs, lyne, woorde, karakters
// - Beelduitvoer, lettertypekoördinate, statistiese data
}
using IronOcr;
using System.Drawing; //Voeg vergaderingverwysing by

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

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;
// Verken hier om 'n uitgebreide, gedetailleerde API te vind:
// - Bladsye, blokke, parafafs, lyne, woorde, karakters
// - Beelduitvoer, lettertypekoördinate, statistiese data
}
Imports IronOcr
Imports System.Drawing 'Voeg vergaderingverwysing by

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

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
' Verken hier om 'n uitgebreide, gedetailleerde API te vind:
' - Bladsye, blokke, parafafs, lyne, woorde, karakters
' - Beelduitvoer, lettertypekoördinate, statistiese data
End Using
VB   C#

Optrede

IronOCR werk uit die boks, sonder om die invoerbeelde op te stel of om die beelde sterk te verander.

Speed is Blazing: IronOcr.2020 + is tot 10 keer vinniger en maak meer as 250% minder foute as vorige builds.

Leer meer

Om meer te wete te kom oor OCR in C #, VB, F # of enige ander .NET-taal, lees gerus ons gemeenskapshandleidings , wat werklike wêreldvoorbeelde gee van hoe IronOCR gebruik kan word en wat die nuanses kan toon van hoe u die beste kan haal uit hierdie biblioteek.

'N Volledige objekverwysing vir .NET-ontwikkelaars is ook beskikbaar.