# Afrikaanse OCR in C# en .NET
###### Ander weergawes van hierdie dokument:
- [Engels (This Page in English)](/csharp/ocr/languages/afrikaans/)
- [Meer Languages](/csharp/ocr/languages/)
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 <i class='fas fa-download'></i>](/csharp/ocr/packages/language-packs/Afrikaans.ocrdata.zip)
- Install with [NuGet<i class='nuget-icon'></i>](https://www.nuget.org/packages/IronOcr.Languages.Afrikaans/)
## Installasie
Die eerste ding wat ons moet doen, is om ons **Afrikaanse** OCR-pakket op u .NET-projek te installeer.
```shell
:InstallCmd Install-Package IronOcr.Languages.Afrikaans
```
## Kode Voorbeeld
Hierdie C#-kode-voorbeeld lees Afrikaanse teks uit 'n beeld- of PDF-dokument.
```csharp
// 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;
// Console the result
Console.WriteLine(AllText);
}
```
## 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-](/csharp/ocr/use-case/free-ocr-csharp/) 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
```csharp
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
```
### Konfigureerbare Hello World
```csharp
// 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);
}
```
### C# PDF OCR
Dieselfde benadering kan ook gebruik word om teks uit enige PDF-dokument te onttrek.
```csharp
using IronOcr;
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
}
```
### 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.
```csharp
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);
}
```
### Barcodes en QR
Een 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.
```csharp
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);
// Toegang tot tipe- en liggingseienskappe
}
}
```
### 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.
```csharp
using IronOcr;
using System.Drawing; // Voer vereis vir Rectangle objek.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Afrikaans;
using (var Input = new OcrInput())
{
var ContentArea = new 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);
}
```
### OCR vir skande van lae gehalte
Die IronOCR `OcrInput` klas kan skanderings regstel wat normale Tesseract nie kan lees nie.
```csharp
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);
}
```
### Voer OCR-resultate uit as 'n deursoekbare PDF
Beeld na PDF met kopieerbare teksstringe. Kan geïndekseer word deur soekenjins en databasisse.
```csharp
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");
}
```
### TIFF na deursoekbare PDF-omskakeling
Konverteer '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.
```csharp
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Afrikaans;
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("example.tiff");
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
```
### Voer OCR-resultate uit as HTML
OCR-beeld na XHTML-omskakeling.
```csharp
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");
}
```
## 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.
```csharp
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);
}
```
### Lys met OCR-beeldfilters
Invoerfilters om die OCR-prestasie te verbeter, wat in IronOCR ingebou is, sluit in:
- **`OcrInput.Rotate (double degrees)`** - Draai beelde met 'n aantal grade kloksgewys. Gebruik negatiewe getalle vir antikloksgewys.
- **`OcrInput.Binarize()`** - Maak elke pixel swart of wit. Kan OCR-prestasiegevalle verbeter met 'n baie lae kontras tussen teks en agtergrond.
- **`OcrInput.ToGrayScale()`** - Verander elke pixel in 'n skakering van grysskaal.
- **`OcrInput.Contrast()`** - Verhoog die kontras outomaties.
- **`OcrInput.DeNoise()`** - Verwyder digitale geraas.
- **`OcrInput.Invert()`** - Skakel elke kleur om. Byvoorbeeld, wit word swart en swart word wit.
- **`OcrInput.Dilate()`** - Gevorderde morfologie. Voeg pixels by aan die grense van voorwerpe in 'n beeld.
- **`OcrInput.Erode()`** - Gevorderde morfologie. Verwyder pixels op voorwerpgrense.
- **`OcrInput.Deskew()`** - Draai 'n beeld sodat dit op die regte manier en ortogonaal is.
- **`OcrInput.DeepCleanBackgroundNoise()`** - Swaar agtergrondgeraasverwydering.
- **`OcrInput.EnhanceResolution`** - Verbeter die resolusie van beelde van lae gehalte.
### 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.
## 126 Taalpakkette
IronOCR ondersteun **126 internasionale tale** via taalpakkette wat as DLL's versprei word, wat [van hierdie webwerf](/csharp/ocr/languages/) of van die [NuGet Package Manager](https://www.nuget.org/packages?q=IronOcr.Languages) 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.
```csharp
// using IronOcr;
// PM> Install-Package 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");
}
```
### Voorbeeld van meerdere tale
Dit is ook moontlik om OCR met behulp van verskeie tale gelyktydig te gebruik.
```csharp
// using IronOcr;
// PM> Install-Package 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");
}
```
## 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.
```csharp
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, paragrawe, lyne, woorde, karakters
// - Beelduitvoer, lettertypekoördinate, statistiese data
}
```
## Leer meer
Om meer te wete te kom oor OCR in C#, VB, F# of enige ander .NET-taal, [lees gerus ons gemeenskapshandleidings](/csharp/ocr/tutorials/how-to-read-text-from-an-image-in-csharp-net/), 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](/csharp/ocr/object-reference/api/) is ook beskikbaar.
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.
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
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.Afrikaansusing IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Afrikaans;using (varInput = new OcrInput(@"images\Afrikaans.png")){ varResult = Ocr.Read(Input); varAllText = Result.Text; // Console the resultConsole.WriteLine(AllText);}
// 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;
// Console the result
Console.WriteLine(AllText);
}
' PM> Install-Package IronOcr.Languages.AfrikaansImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AfrikaansUsingInput = New OcrInput("images\Afrikaans.png") DimResult = Ocr.Read(Input) DimAllText = Result.Text ' Console the resultConsole.WriteLine(AllText)EndUsing
' 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 = Result.Text
' Console the result
Console.WriteLine(AllText)
End Using
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
stringText = new IronTesseract().Read(@"img\Screenshot.png").Text;
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
DimTextAsString = (New IronTesseract()).Read("img\Screenshot.png").Text
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
Konfigureerbare Hello World
// PM> Install-Package IronOcr.Languages.Afrikaansusing IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Afrikaans;using (varInput = new OcrInput()){Input.AddImage("images/sample.jpeg"); //... U kan enige aantal beelde byvoeg varResult = 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);
}
ImportsIronOcr' PM> Install-Package IronOcr.Languages.AfrikaansDimOcrAs New IronTesseract()Ocr.Language = OcrLanguage.AfrikaansUsingInputAs New OcrInput()Input.AddImage("images/sample.jpeg") '... U kan enige aantal beelde byvoeg DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
Imports IronOcr
' PM> Install-Package IronOcr.Languages.Afrikaans
Dim Ocr As New IronTesseract()
Ocr.Language = OcrLanguage.Afrikaans
Using Input As New OcrInput()
Input.AddImage("images/sample.jpeg")
'... U kan enige aantal beelde byvoeg
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
C# PDF OCR
Dieselfde benadering kan ook gebruik word om teks uit enige PDF-dokument te onttrek.
using IronOcr;varOcr = 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 varResult = Ocr.Read(input);Console.WriteLine(Result.Text);Console.WriteLine($"{Result.Pages.Count()} Pages"); // 1 bladsy vir elke bladsy in die PDF}
using IronOcr;
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
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AfrikaansUsing input = New OcrInput() input.AddPdf("example.pdf", "password") ' Ons kan ook spesifieke PDF-bladsynommers vir OCR kies DimResult = Ocr.Read(input)Console.WriteLine(Result.Text)Console.WriteLine($"{Result.Pages.Count()} Pages") ' 1 bladsy vir elke bladsy in die PDFEndUsing
Imports IronOcr
Private 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
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;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Afrikaans;using (varInput = new OcrInput()){Input.AddMultiFrameTiff("multi-frame.tiff"); varResult = 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);
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AfrikaansUsingInput = New OcrInput()Input.AddMultiFrameTiff("multi-frame.tiff") DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
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
Barcodes en QR
Een 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;varOcr = new IronTesseract();Ocr.Configuration.ReadBarCodes = true;using (var input = new OcrInput()){ input.AddImage("img/Barcode.png"); varResult = Ocr.Read(input); foreach (varBarcodeinResult.Barcodes) {Console.WriteLine(Barcode.Value); // Toegang tot tipe- en liggingseienskappe }}
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);
// Toegang tot tipe- en liggingseienskappe
}
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Configuration.ReadBarCodes = TrueUsing input = New OcrInput() input.AddImage("img/Barcode.png") DimResult = Ocr.Read(input) For EachBarcodeInResult.BarcodesConsole.WriteLine(Barcode.Value) ' Toegang tot tipe- en liggingseienskappe NextBarcodeEndUsing
Imports IronOcr
Private 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)
' Toegang tot tipe- en liggingseienskappe
Next Barcode
End Using
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;using System.Drawing; // Voer vereis vir Rectangle objek.varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Afrikaans;using (varInput = new OcrInput()){ varContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 }; // Die afmetings is in pxInput.Add("document.png", ContentArea); varResult = Ocr.Read(Input);Console.WriteLine(Result.Text);}
using IronOcr;
using System.Drawing; // Voer vereis vir Rectangle objek.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Afrikaans;
using (var Input = new OcrInput())
{
var ContentArea = new 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);
}
ImportsIronOcrImportsSystem.Drawing' Voer vereis vir Rectangle objek.PrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AfrikaansUsingInput = New OcrInput() DimContentArea = New Rectangle() With { .X = 215, .Y = 1250, .Height = 280, .Width = 1335 } ' Die afmetings is in pxInput.Add("document.png", ContentArea) DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
Imports IronOcr
Imports System.Drawing ' Voer vereis vir Rectangle objek.
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Afrikaans
Using Input = New OcrInput()
Dim ContentArea = New 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
OCR vir skande van lae gehalte
Die IronOCR OcrInput klas kan skanderings regstel wat normale Tesseract nie kan lees nie.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Afrikaans;using (varInput = new OcrInput(@"img\Potter.LowQuality.tiff")){Input.DeNoise(); // herstel digitale geraas en swak skanderingInput.Deskew(); // draai rotasie en perspektief reg varResult = 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);
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AfrikaansUsingInput = New OcrInput("img\Potter.LowQuality.tiff")Input.DeNoise() ' herstel digitale geraas en swak skanderingInput.Deskew() ' draai rotasie en perspektief reg DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
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
Voer OCR-resultate uit as 'n deursoekbare PDF
Beeld na PDF met kopieerbare teksstringe. Kan geïndekseer word deur soekenjins en databasisse.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Afrikaans;using (varInput = new OcrInput()){Input.Title = "Quarterly Report";Input.AddImage("image1.jpeg");Input.AddImage("image2.png");Input.AddImage("image3.gif"); varResult = 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");
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AfrikaansUsingInput = New OcrInput()Input.Title = "Quarterly Report"Input.AddImage("image1.jpeg")Input.AddImage("image2.png")Input.AddImage("image3.gif") DimResult = Ocr.Read(Input)Result.SaveAsSearchablePdf("searchable.pdf")EndUsing
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
TIFF na deursoekbare PDF-omskakeling
Konverteer '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;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Afrikaans;using (varInput = new OcrInput()){Input.AddMultiFrameTiff("example.tiff"); varResult = Ocr.Read(Input);Result.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);
Result.SaveAsSearchablePdf("searchable.pdf");
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AfrikaansUsingInput = New OcrInput()Input.AddMultiFrameTiff("example.tiff") DimResult = Ocr.Read(Input)Result.SaveAsSearchablePdf("searchable.pdf")EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Afrikaans
Using Input = New OcrInput()
Input.AddMultiFrameTiff("example.tiff")
Dim Result = Ocr.Read(Input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
Voer OCR-resultate uit as HTML
OCR-beeld na XHTML-omskakeling.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Afrikaans;using (varInput = new OcrInput()){Input.Title = "Html Title";Input.AddImage("image1.jpeg"); varResult = 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");
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AfrikaansUsingInput = New OcrInput()Input.Title = "Html Title"Input.AddImage("image1.jpeg") DimResult = Ocr.Read(Input)Result.SaveAsHocrFile("results.html")EndUsing
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
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;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Afrikaans;using (varInput = new OcrInput(@"LowQuality.jpeg")){Input.DeNoise(); // herstel digitale geraas en swak skanderingInput.Deskew(); // draai rotasie en perspektief reg varResult = 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);
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AfrikaansUsingInput = New OcrInput("LowQuality.jpeg")Input.DeNoise() ' herstel digitale geraas en swak skanderingInput.Deskew() ' draai rotasie en perspektief reg DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
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
Lys met OCR-beeldfilters
Invoerfilters om die OCR-prestasie te verbeter, wat in IronOCR ingebou is, sluit in:
OcrInput.Rotate (double degrees) - Draai beelde met 'n aantal grade kloksgewys. Gebruik negatiewe getalle vir antikloksgewys.
OcrInput.Binarize() - Maak elke pixel swart of wit. Kan OCR-prestasiegevalle verbeter met 'n baie lae kontras tussen teks en agtergrond.
OcrInput.ToGrayScale() - Verander elke pixel in 'n skakering van grysskaal.
OcrInput.Contrast() - Verhoog die kontras outomaties.
OcrInput.DeNoise() - Verwyder digitale geraas.
OcrInput.Invert() - Skakel elke kleur om. Byvoorbeeld, wit word swart en swart word wit.
OcrInput.Dilate() - Gevorderde morfologie. Voeg pixels by aan die grense van voorwerpe in 'n beeld.
OcrInput.Erode() - Gevorderde morfologie. Verwyder pixels op voorwerpgrense.
OcrInput.Deskew() - Draai 'n beeld sodat dit op die regte manier en ortogonaal is.
OcrInput.EnhanceResolution - Verbeter die resolusie van beelde van lae gehalte.
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.
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-Package IronOcr.Languages.ArabicvarOcr = 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. varResult = 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-Package 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-Package IronOcr.Languages.ArabicDimOcr = New IronTesseract()Ocr.Language = OcrLanguage.ArabicUsing 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. DimResult = Ocr.Read(input) ' Die konsole kan nie maklik Arabies op Windows druk nie. ' Laat ons eerder op die skyf stoor.Result.SaveAsTextFile("arabic.txt")EndUsing
' using IronOcr;
' PM> Install-Package 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
Voorbeeld van meerdere tale
Dit is ook moontlik om OCR met behulp van verskeie tale gelyktydig te gebruik.
// using IronOcr;// PM> Install-Package IronOcr.Languages.ChineseSimplifiedvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.ChineseSimplified;Ocr.AddSecondaryLanguage(OcrLanguage.Afrikaans);// Ons kan enige aantal tale byvoegusing (var input = new OcrInput()){ input.Add("multi-language.pdf"); varResult = Ocr.Read(input);Result.SaveAsTextFile("results.txt");}
// using IronOcr;
// PM> Install-Package 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-Package IronOcr.Languages.ChineseSimplifiedDimOcr = New IronTesseract()Ocr.Language = OcrLanguage.ChineseSimplifiedOcr.AddSecondaryLanguage(OcrLanguage.Afrikaans)' Ons kan enige aantal tale byvoegUsing input = New OcrInput() input.Add("multi-language.pdf") DimResult = Ocr.Read(input)Result.SaveAsTextFile("results.txt")EndUsing
' using IronOcr;
' PM> Install-Package 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
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 byvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Afrikaans;Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;Ocr.Configuration.ReadBarCodes = true; // Belangrikusing (varInput = new OcrInput(@"images\sample.tiff")){ OcrResultResult = Ocr.Read(Input); varPages = Result.Pages; varWords = Pages[0].Words; varBarcodes = Result.Barcodes; // Verken hier om 'n uitgebreide, gedetailleerde API te vind: // - Bladsye, blokke, paragrawe, 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, paragrawe, lyne, woorde, karakters
// - Beelduitvoer, lettertypekoördinate, statistiese data
}
ImportsIronOcrImportsSystem.Drawing' Voeg vergaderingverwysing byPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AfrikaansOcr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstmOcr.Configuration.ReadBarCodes = True ' BelangrikUsingInput = New OcrInput("images\sample.tiff") DimResultAsOcrResult = Ocr.Read(Input) DimPages = Result.Pages DimWords = Pages(0).Words DimBarcodes = Result.Barcodes ' Verken hier om 'n uitgebreide, gedetailleerde API te vind: ' - Bladsye, blokke, paragrawe, lyne, woorde, karakters ' - Beelduitvoer, lettertypekoördinate, statistiese dataEndUsing
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, paragrawe, lyne, woorde, karakters
' - Beelduitvoer, lettertypekoördinate, statistiese data
End Using
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.
커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.