Nederlandse OCR in C#en .NET

Andere versies van dit document:

IronOCR is een C#-softwarecomponent waarmee .NET-codeerders tekst uit afbeeldingen en PDF-documenten kunnen lezen in 126 talen, waaronder Nederlands.

Het is een geavanceerde vork van Tesseract, exclusief gebouwd voor de .NET-ontwikkelaars en presteert regelmatig beter dan andere Tesseract-engines voor zowel snelheid als nauwkeurigheid.

Inhoud van IronOcr.Talen Nederlands

Dit pakket bevat 40 OCR-talen voor .NET:

  • Nederlands
  • DutchBest
  • DutchFast

Downloaden

Nederlands taalpakket [Nederlands]
* Download as Ritssluiting
* Install with
https://www.nuget.org/packages/IronOcr.Languages.Dutch/'> NuGet

Installatie

Het eerste dat we moeten doen, is ons Nederlandse OCR-pakket installeren op uw .NET-project.

PM> Install-Package IronOCR.Languages.Dutch

Code Voorbeeld

Dit C #-codevoorbeeld leest Nederlandse tekst uit een afbeelding of pdf-document.

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

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

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

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

Waarom kiezen voor IronOCR?

IronOCR is een eenvoudig te installeren, complete en goed gedocumenteerde .NET-softwarebibliotheek.

Kies IronOCR om een nauwkeurigheid van 99,8% + OCR te bereiken zonder gebruik te maken van externe webservices, lopende kosten of het verzenden van vertrouwelijke documenten via internet.

Waarom C#-ontwikkelaars IronOCR verkiezen boven Vanilla Tesseract:

  • Installeer als een enkele DLL of NuGet
  • Bevat voor Tesseract 5, 4 en 3 motoren uit de doos.
  • Nauwkeurigheid 99,8% presteert aanzienlijk beter dan gewone Tesseract.
  • Ongelooflijke snelheid en multithreading
  • MVC, WebApp, Desktop, Console & Server Applicatie compatibel
  • Geen Exes of C ++ - code om mee te werken
  • Volledige ondersteuning voor PDF OCR
  • Voor het uitvoeren van OCR een vrijwel elk afbeeldingsbestand of pdf
  • Volledige .NET Core-, Standard- en FrameWork-ondersteuning
  • Implementeer op Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Lees barcodes en QR-codes
  • Exporteer OCR als naar XHTML
  • Exporteer OCR naar doorzoekbare PDF-documenten
  • Ondersteuning voor multithreading
  • 126 internationale talen, allemaal beheerd via NuGet- of OcrData-bestanden
  • Extraheer afbeeldingen, coördinaten, statistieken en lettertypen. Niet alleen tekst.
  • Kan worden gebruikt om Tesseract OCR opnieuw te distribueren in commerciële en eigen applicaties.

IronOCR schittert bij het werken met afbeeldingen uit de echte wereld en onvolkomen documenten zoals foto's, of scans met een lage resolutie die mogelijk digitale ruis of onvolkomenheden bevatten.

Andere gratis OCR- bibliotheken voor het .NET-platform, zoals andere .net tesseract-API's en webservices, presteren niet zo goed in deze praktijkgevallen.

OCR met Tesseract 5 - Begin met coderen in C #

Het onderstaande codevoorbeeld laat zien hoe gemakkelijk het is om tekst uit een afbeelding te lezen met 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#

Configureerbare Hallo wereld

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Dutch;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... je kunt een willekeurig aantal afbeeldingen toevoegen
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Dutch
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Dutch;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... je kunt een willekeurig aantal afbeeldingen toevoegen
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Dutch
Imports IronOcr

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

Dezelfde benadering kan op dezelfde manier worden gebruikt om tekst uit elk PDF-document te extraheren.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Dutch;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// We kunnen ook specifieke PDF-paginanummers selecteren voor OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 pagina voor elke pagina van de pdf
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Dutch;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// We kunnen ook specifieke PDF-paginanummers selecteren voor OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 pagina voor elke pagina van de pdf
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Dutch
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' We kunnen ook specifieke PDF-paginanummers selecteren voor OCR

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 pagina voor elke pagina van de pdf
End Using
VB   C#

OCR voor TIFF's met meerdere pagina's

OCR Lezen van TIFF-bestandsformaat inclusief documenten met meerdere pagina's. TIFF kan ook rechtstreeks worden geconverteerd naar een PDF-bestand met doorzoekbare tekst.

using IronOcr;

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

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

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

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

Een uniek kenmerk van IronOCR is dat het streepjescodes en QR-codes van documenten kan lezen terwijl het naar tekst scant. Instanties van de OcrResult.OcrBarcode Class geven de ontwikkelaar gedetailleerde informatie over elke gescande barcode.

// 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);
// type en locatie-eigenschappen ook weergegeven
}
}
// 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);
// type en locatie-eigenschappen ook weergegeven
}
}
' 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)
' type en locatie-eigenschappen ook weergegeven
Next Barcode
End Using
VB   C#

OCR op specifieke beeldgebieden

Alle scan- en leesmethoden van IronOCR bieden de mogelijkheid om precies te specificeren van welk deel van een pagina of pagina's we tekst willen lezen. Dit is erg handig als we naar gestandaardiseerde formulieren kijken en het kan ontzettend veel tijd besparen en de efficiëntie verbeteren.

Om bijsnijdgebieden te gebruiken, moeten we een systeemverwijzing naar System.Drawing zodat we het System.Drawing.Rectangle object kunnen gebruiken.

using IronOcr;

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Afmetingen zijn in 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.Dutch;

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Afmetingen zijn in 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.Dutch

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

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

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

OCR voor scans van lage kwaliteit

De IronOCR OcrInput klasse kan scans repareren die normaal Tesseract niet kan lezen.

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

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // lost digitale ruis en slecht scannen op
Input.Deskew(); // lost rotatie en perspectief op
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Dutch;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // lost digitale ruis en slecht scannen op
Input.Deskew(); // lost rotatie en perspectief op
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Dutch

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' lost digitale ruis en slecht scannen op
Input.Deskew() ' lost rotatie en perspectief op
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Exporteer OCR-resultaten als een doorzoekbare PDF

Afbeelding naar PDF met kopieerbare tekstreeksen. Kan worden geïndexeerd door zoekmachines en databases.

using IronOcr;

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

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

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

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 naar doorzoekbare PDF-conversie

COverteer een TIFF-document (of een groep afbeeldingsbestanden) rechtstreeks naar een doorzoekbare PDF die kan worden geïndexeerd door intranet, website en Google-zoekmachines.

using IronOcr;

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

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

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

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

Exporteer OCR-resultaten als HTML

OCR-afbeelding naar XHTML-conversie.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Dutch;
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.Dutch;
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.Dutch
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-filters voor beeldverbetering

IronOCR biedt unieke filters voor OcrInput objecten om de OCR-prestaties te verbeteren.

Voorbeeld van beeldverbeteringscode

Maakt OCR-invoerbeelden van een hogere kwaliteit om betere, snellere OCR-resultaten te produceren.

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

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // lost digitale ruis en slecht scannen op
Input.Deskew(); // lost rotatie en perspectief op
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Dutch;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // lost digitale ruis en slecht scannen op
Input.Deskew(); // lost rotatie en perspectief op
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Dutch

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' lost digitale ruis en slecht scannen op
Input.Deskew() ' lost rotatie en perspectief op
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Lijst met OCR-afbeeldingsfilters

Invoerfilters om de OCR-prestaties te verbeteren die in IronOCR zijn ingebouwd, zijn onder meer:

  • OcrInput.Rotate (dubbele graden) - Roteert afbeeldingen een aantal graden met de klok mee. Gebruik negatieve getallen voor linksom.
  • OcrInput.Binarize () - Dit afbeeldingsfilter maakt elke pixel zwart of wit zonder middenweg. Kan de prestaties van OCR verbeteren met een zeer laag contrast tussen tekst en achtergrond.
  • OcrInput.ToGrayScale () - Dit afbeeldingsfilter verandert elke pixel in een grijstint. Het is onwaarschijnlijk dat de OCR-nauwkeurigheid verbetert, maar kan de snelheid verbeteren
  • OcrInput.Contrast () - Verhoogt automatisch het contrast. Dit filter verbetert vaak de OCR-snelheid en nauwkeurigheid bij scans met laag contrast.
  • OcrInput.DeNoise () - Verwijdert digitale ruis. Dit filter mag alleen worden gebruikt waar ruis wordt verwacht.
  • OcrInput.Invert () - Keert elke kleur om. Bijv. Wit wordt zwart: zwart wordt wit.
  • OcrInput.Dilate () - Geavanceerde morfologie. Dilatatie voegt pixels toe aan de grenzen van objecten in een afbeelding. Tegenover Erode
  • OcrInput.Erode () - Geavanceerde morfologie. Erosie verwijdert pixels op objectgrenzen Opposite of Dilate
  • OcrInput.Deskew () - Draait een afbeelding zodat deze met de goede kant omhoog en orthogonaal is. Dit is erg handig voor OCR, omdat de Tesseract-tolerantie voor scheve scans slechts 5 graden kan zijn.
  • OcrInput.DeepCleanBackgroundNoise () - Verwijdering van zware achtergrondruis. Gebruik dit filter alleen als er extreme achtergrondruis bekend is, omdat dit filter ook het risico loopt de OCR-nauwkeurigheid van schone documenten te verminderen, en het is erg duur voor de CPU.
  • OcrInput.EnhanceResolution - Verbetert de resolutie van afbeeldingen van lage kwaliteit. Dit filter is niet vaak nodig omdat OcrInput.MinimumDPI en OcrInput.TargetDPI automatisch invoer met lage resolutie opvangen en oplossen.

CleanBackgroundGeluid. Dit is een instelling die wat tijdrovend is; Het stelt de bibliotheek echter in staat om automatisch digitale ruis, papierkreukels en andere onvolkomenheden in een digitaal beeld op te ruimen, waardoor het anders niet meer door andere OCR-bibliotheken kan worden gelezen.

EnhanceContrast is een instelling die ervoor zorgt dat IronOCR automatisch het contrast van tekst tegen de achtergrond van een afbeelding verhoogt, waardoor de nauwkeurigheid van OCR toeneemt en in het algemeen de prestaties en de snelheid van OCR worden verbeterd.

EnhanceResolution is een instelling die automatisch afbeeldingen met een lage resolutie detecteert (die kleiner zijn dan 275 dpi) en automatisch de afbeelding opschaalt en vervolgens alle tekst verscherpt zodat deze perfect kan worden gelezen door een OCR-bibliotheek. Hoewel deze bewerking op zichzelf tijdrovend is, verkort het in het algemeen de totale tijd voor een OCR-bewerking op een afbeelding.

Taal IronOCR ondersteunt 22 internationale taalpakketten en de taalinstelling kan worden gebruikt om een of meer meerdere talen te selecteren die moeten worden toegepast voor een OCR-bewerking.

Strategie IronOCR ondersteunt twee strategieën. We kunnen ervoor kiezen om ofwel te gaan voor een snelle en minder nauwkeurige scan van een document, of een geavanceerde strategie te gebruiken die enkele kunstmatige-intelligentiemodellen gebruikt om de nauwkeurigheid van OCR-tekst automatisch te verbeteren door te kijken naar de statistische relatie van woorden tot elkaar in een zin. .

ColorSpace is een instelling waarbij we kunnen kiezen voor OCR in grijstinten of kleur. Over het algemeen is grijstinten de beste optie. Soms, als er echter teksten of achtergronden zijn met een vergelijkbare tint maar een heel andere kleur, zal een kleurruimte in volledige kleuren betere resultaten opleveren.

DetectWhiteTextOnDarkBackgrounds. Over het algemeen verwachten alle OCR-bibliotheken zwarte tekst op een witte achtergrond. Met deze instelling kan IronOCR automatisch negatieven of donkere pagina's met witte tekst detecteren en lezen.

InputImageType. Met deze instelling kan de ontwikkelaar de OCR-bibliotheek begeleiden bij het kijken naar een volledig document of een fragment, zoals een screenshot.

RotateAndStraighten is een geavanceerde instelling waarmee IronOCR de unieke mogelijkheid heeft om documenten te lezen die niet alleen geroteerd zijn, maar misschien ook perspectief bevatten, zoals foto's van tekstdocumenten.

ReadBarcodes is een handige functie waarmee IronOCR automatisch streepjescodes en QR-codes op pagina's kan lezen terwijl het ook tekst leest, zonder een grote extra tijdlast.

Kleuren diepte. Deze instelling bepaalt hoeveel bits per pixel de OCR-bibliotheek gebruikt om de diepte van een kleur te bepalen. Een grotere kleurdiepte kan de OCR-kwaliteit verhogen, maar zal ook de tijd die nodig is om de OCR-bewerking te voltooien, verlengen.

126 taalpakketten

IronOCR ondersteunt 126 internationale talen via taalpakketten die worden gedistribueerd als DLL's, die kunnen worden gedownload van deze website of ook van NuGet Package Manager .

Talen zijn onder meer Duits, Frans, Engels, Chinees, Japans en nog veel meer. Er zijn gespecialiseerde taalpakketten voor paspoort-MRZ, MICR-cheques, financiële gegevens, kentekenplaten en nog veel meer. U kunt ook elk tesseract ".traineddata" -bestand gebruiken, ook degene die u zelf maakt.

Taalvoorbeeld

Andere OCR-talen gebruiken.

// 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 indien nodig afbeeldingsfilters toe
// In dit geval is zelfs de gedachte-invoer van zeer lage kwaliteit
// IronTesseract kan lezen wat conventionele Tesseract niet kan.

var Result = Ocr.Read(input);

// Console kan niet gemakkelijk Arabisch afdrukken op Windows.
// Laten we in plaats daarvan op schijf opslaan.
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 indien nodig afbeeldingsfilters toe
// In dit geval is zelfs de gedachte-invoer van zeer lage kwaliteit
// IronTesseract kan lezen wat conventionele Tesseract niet kan.

var Result = Ocr.Read(input);

// Console kan niet gemakkelijk Arabisch afdrukken op Windows.
// Laten we in plaats daarvan op schijf opslaan.
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 indien nodig afbeeldingsfilters toe
' In dit geval is zelfs de gedachte-invoer van zeer lage kwaliteit
' IronTesseract kan lezen wat conventionele Tesseract niet kan.

Dim Result = Ocr.Read(input)

' Console kan niet gemakkelijk Arabisch afdrukken op Windows.
' Laten we in plaats daarvan op schijf opslaan.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

Meerdere talen voorbeeld

Het is ook mogelijk om OCR met meerdere talen tegelijk te gebruiken. Dit kan echt helpen om metagegevens en URL's in het Engels in Unicode-documenten te krijgen.

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

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

// We kunnen een willekeurig aantal talen toevoegen

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

// We kunnen een willekeurig aantal talen toevoegen

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

' We kunnen een willekeurig aantal talen toevoegen

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

Gedetailleerde OCR-resultatenobjecten

IronOCR retourneert een OCR-resultaatobject voor elke OCR-bewerking. Over het algemeen gebruiken ontwikkelaars alleen de teksteigenschap van dit object om de tekst uit de afbeelding te laten scannen. De OCR-resultaten DOM is echter veel geavanceerder dan dit.

using IronOcr;
using System.Drawing; //Voeg een assemblageverwijzing toe

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

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 een enorme, gedetailleerde API te vinden:
// - Pagina's, blokken, parafijnen, regels, woorden, tekens
// - Afbeelding exporteren, lettertypecoördinaten, statistische gegevens
}
using IronOcr;
using System.Drawing; //Voeg een assemblageverwijzing toe

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

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 een enorme, gedetailleerde API te vinden:
// - Pagina's, blokken, parafijnen, regels, woorden, tekens
// - Afbeelding exporteren, lettertypecoördinaten, statistische gegevens
}
Imports IronOcr
Imports System.Drawing 'Voeg een assemblageverwijzing toe

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

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 een enorme, gedetailleerde API te vinden:
' - Pagina's, blokken, parafijnen, regels, woorden, tekens
' - Afbeelding exporteren, lettertypecoördinaten, statistische gegevens
End Using
VB   C#

Prestatie

IronOCR werkt direct uit de doos zonder dat het nodig is om de prestaties af te stemmen of invoerafbeeldingen sterk te wijzigen.

Snelheid is razendsnel: IronOcr.2020 + is tot 10 keer sneller en maakt meer dan 250% minder fouten dan eerdere builds.

Leer meer

Lees voor meer informatie over OCR in C #, VB, F # of een andere .NET-taal onze communityhandleidingen , die voorbeelden uit de echte wereld geven van hoe IronOCR kan worden gebruikt en die de nuances laten zien van hoe u het beste uit deze bibliotheek.

Een volledige objectreferentie voor .NET-ontwikkelaars is ook beschikbaar.