Lëtzebuergeschen OCR am C#an .NET

Aner Versioune vun dësem Dokument:

IronOCR ass eng C#Software Komponent déi .NET Coderen erlaabt Text aus Biller an PDF Dokumenter op 126 Sprooch ze liesen, inklusiv Lëtzebuergesch.

Et ass eng fortgeschratt Gabel vu Tesseract, exklusiv fir .NET Entwéckler gebaut a reegelméisseg iwwer aner Tesseract Motore fir Geschwindegkeet a Genauegkeet.

Inhalter vun IronOcr.Languages.Luxembourgish

Dëse Package enthält 64 OCR Sproochen fir .NET:

  • Lëtzebuergesch
  • LëtzebuergeschBescht
  • Lëtzebuergesch séier

Eroflueden

Lëtzebuergesch Sproochepak [Lëtzebuergesch]
* Download as Zip
* Install with
https://www.nuget.org/packages/IronOcr.Languages.Luxembourgish/'> NuGet

Installatioun

Dat éischt wat mir musse maachen ass eise lëtzebuergeschen OCR Package op Ären .NET Projet ze installéieren.

PM> Install-Package IronOCR.Languages.Luxembourgish

Code Beispill

Dëst C#Code Beispill liest lëtzebuergeschen Text aus engem Bild oder PDF Dokument.

// First, install the required NuGet package to support Luxembourgish OCR
// PM> Install-Package IronOcr.Languages.Luxembourgish
using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Luxembourgish
Ocr.Language = OcrLanguage.Luxembourgish;

// Load the image that contains Luxembourgish text
using (var Input = new OcrInput(@"images\Luxembourgish.png"))
{
    // Perform OCR on the image
    var Result = Ocr.Read(Input);

    // Extract all text from the OCR result
    var AllText = Result.Text;

    // Output the extracted text
    Console.WriteLine(AllText);
}
// First, install the required NuGet package to support Luxembourgish OCR
// PM> Install-Package IronOcr.Languages.Luxembourgish
using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Luxembourgish
Ocr.Language = OcrLanguage.Luxembourgish;

// Load the image that contains Luxembourgish text
using (var Input = new OcrInput(@"images\Luxembourgish.png"))
{
    // Perform OCR on the image
    var Result = Ocr.Read(Input);

    // Extract all text from the OCR result
    var AllText = Result.Text;

    // Output the extracted text
    Console.WriteLine(AllText);
}
' First, install the required NuGet package to support Luxembourgish OCR
' PM> Install-Package IronOcr.Languages.Luxembourgish
Imports IronOcr

Private Ocr = New IronTesseract()
' Set the OCR language to Luxembourgish
Ocr.Language = OcrLanguage.Luxembourgish

' Load the image that contains Luxembourgish text
Using Input = New OcrInput("images\Luxembourgish.png")
	' Perform OCR on the image
	Dim Result = Ocr.Read(Input)

	' Extract all text from the OCR result
	Dim AllText = Result.Text

	' Output the extracted text
	Console.WriteLine(AllText)
End Using
$vbLabelText   $csharpLabel

Firwat Wielt IronOCR?

IronOCR ass eng einfach ze installéieren, komplett a gutt dokumentéiert .NET Software Bibliothéik.

Wielt IronOCR fir 99,8% + OCR Genauegkeet z'erreechen ouni extern Webservicer ze benotzen, lafend Fraisen oder vertraulech Dokumenter iwwer Internet ze schécken.

Firwat C#Entwéckler IronOCR iwwer Vanilla Tesseract wielen:

  • Installéiert als eenzeg DLL oder NuGet
  • Enthält fir Tesseract 5, 4 an 3 Motoren aus der Këscht.
  • Richtegkeet 99,8% iwwerschreiden däitlech dem normale Tesseract.
  • Blazing Speed a MultiThreading
  • MVC, WebApp, Desktop, Console & Server Application kompatibel
  • Keng Exes oder C++ Code fir mat ze schaffen
  • Voll PDF OCR Support
  • Fir OCR bal all Image Datei oder PDF ze maachen
  • Voll .NET Core, Standard a FrameWork Support
  • Deploy op Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Lies Barcodes a QR Coden
  • Export OCR wéi op XHTML
  • Exportéiert OCR op duerchsichbar PDF Dokumenter
  • Multithreading Ënnerstëtzung
  • 126 international Sproochen all iwwer NuGet oder OcrData Dateien verwalt
  • Extrait Biller, Koordinaten, Statistiken a Schrëften.NET nëmmen Text.
  • Kann benotzt ginn fir Tesseract OCR a kommerziellen & propriétaire Uwendungen nei ze verdeelen.

IronOCR blénkt wann Dir mat reelle Weltbiller schafft an onvollstänneg Dokumenter wéi Fotoen, oder Scanner mat gerénger Opléisung déi digital Kaméidi oder Mängel hunn.

Aner gratis OCR Bibliothéiken fir .NET Plattform sou aner .net tesseract APIen a Webservicer maachen net sou gutt op dëse reelle Weltbenotzungsfäll.

OCR mat Tesseract 5 - Start Coding an C #

De Code Beispill hei ënnendrënner weist wéi einfach et ass Text aus engem Bild ze liesen mat C#oder 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
$vbLabelText   $csharpLabel

Konfiguréierbar Hallo Welt

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

var Ocr = new IronTesseract();
// Set language to Luxembourgish
Ocr.Language = OcrLanguage.Luxembourgish;

using (var Input = new OcrInput())
{
    // Add an image to the OCR input
    Input.AddImage("images/sample.jpeg");

    //... Dir kënnt all Zuel vu Biller derbäisetzen

    var Result = Ocr.Read(Input);

    // Output the OCR result
    Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Luxembourgish
using IronOcr;

var Ocr = new IronTesseract();
// Set language to Luxembourgish
Ocr.Language = OcrLanguage.Luxembourgish;

using (var Input = new OcrInput())
{
    // Add an image to the OCR input
    Input.AddImage("images/sample.jpeg");

    //... Dir kënnt all Zuel vu Biller derbäisetzen

    var Result = Ocr.Read(Input);

    // Output the OCR result
    Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Luxembourgish
Imports IronOcr

Private Ocr = New IronTesseract()
' Set language to Luxembourgish
Ocr.Language = OcrLanguage.Luxembourgish

Using Input = New OcrInput()
	' Add an image to the OCR input
	Input.AddImage("images/sample.jpeg")

	'... Dir kënnt all Zuel vu Biller derbäisetzen

	Dim Result = Ocr.Read(Input)

	' Output the OCR result
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

C#PDF OCR

Déi selwecht Approche kann ähnlech benotzt ginn fir Text aus all PDF Dokument ze extrahieren.

using IronOcr;

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

using (var input = new OcrInput())
{
    // Add a PDF for OCR processing; use a password if the PDF is encrypted
    input.AddPdf("example.pdf", "password");

    // Perform the OCR operation
    var Result = Ocr.Read(input);

    // Display the text and number of pages
    Console.WriteLine(Result.Text);
    Console.WriteLine($"{Result.Pages.Count()} Pages");
}
using IronOcr;

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

using (var input = new OcrInput())
{
    // Add a PDF for OCR processing; use a password if the PDF is encrypted
    input.AddPdf("example.pdf", "password");

    // Perform the OCR operation
    var Result = Ocr.Read(input);

    // Display the text and number of pages
    Console.WriteLine(Result.Text);
    Console.WriteLine($"{Result.Pages.Count()} Pages");
}
Imports IronOcr

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

Using input = New OcrInput()
	' Add a PDF for OCR processing; use a password if the PDF is encrypted
	input.AddPdf("example.pdf", "password")

	' Perform the OCR operation
	Dim Result = Ocr.Read(input)

	' Display the text and number of pages
	Console.WriteLine(Result.Text)
	Console.WriteLine($"{Result.Pages.Count()} Pages")
End Using
$vbLabelText   $csharpLabel

OCR fir MultiPage TIFFs

OCR Liesen TIFF Dateiformat inklusive verschidde Säitendokumenter. TIFF kann och direkt an eng PDF Datei mat sichbarem Text konvertéiert ginn.

using IronOcr;

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

using (var Input = new OcrInput())
{
    // Add a multi-frame TIFF file
    Input.AddMultiFrameTiff("multi-frame.tiff");

    var Result = Ocr.Read(Input);

    // Output the OCR text
    Console.WriteLine(Result.Text);
}
using IronOcr;

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

using (var Input = new OcrInput())
{
    // Add a multi-frame TIFF file
    Input.AddMultiFrameTiff("multi-frame.tiff");

    var Result = Ocr.Read(Input);

    // Output the OCR text
    Console.WriteLine(Result.Text);
}
Imports IronOcr

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

Using Input = New OcrInput()
	' Add a multi-frame TIFF file
	Input.AddMultiFrameTiff("multi-frame.tiff")

	Dim Result = Ocr.Read(Input)

	' Output the OCR text
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

Barcodes a QR

Eng eenzegaarteg Feature vum IronOCR ass datt et Barcodes a QR Coden aus Dokumenter liese kann wann et no Text scannt. Instanzen vun der OcrResult.OcrBarcode Klass ginn dem Entwéckler detailléiert Informatiounen iwwer all gescannt Barcode.

using IronOcr;

var Ocr = new IronTesseract();
// Configure OCR to read barcodes
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
    // Add an image containing a barcode
    input.AddImage("img/Barcode.png");

    var Result = Ocr.Read(input);

    // Iterate over all identified barcodes and log their value
    foreach (var Barcode in Result.Barcodes)
    {
        Console.WriteLine(Barcode.Value);
        // Typ a Standort Eegeschaften och ausgesat
    }
}
using IronOcr;

var Ocr = new IronTesseract();
// Configure OCR to read barcodes
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
    // Add an image containing a barcode
    input.AddImage("img/Barcode.png");

    var Result = Ocr.Read(input);

    // Iterate over all identified barcodes and log their value
    foreach (var Barcode in Result.Barcodes)
    {
        Console.WriteLine(Barcode.Value);
        // Typ a Standort Eegeschaften och ausgesat
    }
}
Imports IronOcr

Private Ocr = New IronTesseract()
' Configure OCR to read barcodes
Ocr.Configuration.ReadBarCodes = True

Using input = New OcrInput()
	' Add an image containing a barcode
	input.AddImage("img/Barcode.png")

	Dim Result = Ocr.Read(input)

	' Iterate over all identified barcodes and log their value
	For Each Barcode In Result.Barcodes
		Console.WriteLine(Barcode.Value)
		' Typ a Standort Eegeschaften och ausgesat
	Next Barcode
End Using
$vbLabelText   $csharpLabel

OCR op Spezifesch Beräicher vu Biller

All Scannen a Liesmethoden vum IronOCR bidden d'Fäegkeet präzis ze spezifizéieren wéi en Deel vun enger Säit oder Säiten déi mir Text wëlle liesen. Dëst ass ganz nëtzlech wa mir no standardiséierte Forme kucken a kënnen immens vill Zäit spueren an d'Effizienz verbesseren.

Fir Cropregiounen ze benotzen, musse mir eng Systemreferenz op System.Drawing fir datt mir de System.Drawing.Rectangle Objet benotze kënnen.

using IronOcr;
using System.Drawing;

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

using (var Input = new OcrInput())
{
    // Define the specific area to scan for text
    var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
    // Dimensiounen sinn an px

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

    var Result = Ocr.Read(Input);

    // Output the OCR result from the specific area
    Console.WriteLine(Result.Text);
}
using IronOcr;
using System.Drawing;

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

using (var Input = new OcrInput())
{
    // Define the specific area to scan for text
    var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
    // Dimensiounen sinn an px

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

    var Result = Ocr.Read(Input);

    // Output the OCR result from the specific area
    Console.WriteLine(Result.Text);
}
Imports IronOcr
Imports System.Drawing

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

Using Input = New OcrInput()
	' Define the specific area to scan for text
	Dim ContentArea = New System.Drawing.Rectangle() With {
		.X = 215,
		.Y = 1250,
		.Height = 280,
		.Width = 1335
	}
	' Dimensiounen sinn an px

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

	Dim Result = Ocr.Read(Input)

	' Output the OCR result from the specific area
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

OCR fir Low Quality Scans

D'Eisen OCR OcrInput Klass kann Scans fixéieren déi normal Tesseract net liese kann.

using IronOcr;

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

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
    // Fix digital noise and skew in low-quality scans
    Input.DeNoise();
    Input.Deskew();

    var Result = Ocr.Read(Input);

    // Output the fixed scan result
    Console.WriteLine(Result.Text);
}
using IronOcr;

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

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
    // Fix digital noise and skew in low-quality scans
    Input.DeNoise();
    Input.Deskew();

    var Result = Ocr.Read(Input);

    // Output the fixed scan result
    Console.WriteLine(Result.Text);
}
Imports IronOcr

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

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
	' Fix digital noise and skew in low-quality scans
	Input.DeNoise()
	Input.Deskew()

	Dim Result = Ocr.Read(Input)

	' Output the fixed scan result
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

Exportéiert OCR Resultater als Sichbare PDF

Bild op PDF mat kopéierbaren Textsträngen. Kann duerch Sichmaschinnen an Datenbanken indexéiert ginn.

using IronOcr;

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

using (var Input = new OcrInput())
{
    // Set the title for the PDF
    Input.Title = "Quarterly Report";
    // Add multiple images to the OCR input
    Input.AddImage("image1.jpeg");
    Input.AddImage("image2.png");
    Input.AddImage("image3.gif");

    var Result = Ocr.Read(Input);

    // Save the OCR results as a searchable PDF
    Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;

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

using (var Input = new OcrInput())
{
    // Set the title for the PDF
    Input.Title = "Quarterly Report";
    // Add multiple images to the OCR input
    Input.AddImage("image1.jpeg");
    Input.AddImage("image2.png");
    Input.AddImage("image3.gif");

    var Result = Ocr.Read(Input);

    // Save the OCR results as a searchable PDF
    Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr

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

Using Input = New OcrInput()
	' Set the title for the PDF
	Input.Title = "Quarterly Report"
	' Add multiple images to the OCR input
	Input.AddImage("image1.jpeg")
	Input.AddImage("image2.png")
	Input.AddImage("image3.gif")

	Dim Result = Ocr.Read(Input)

	' Save the OCR results as a searchable PDF
	Result.SaveAsSearchablePdf("searchable.pdf")
End Using
$vbLabelText   $csharpLabel

TIFF zu duerchsichbarer PDF Konversioun

Convertéiert en TIFF Dokument (oder all Grupp vu Bilddateien) direkt op e sichtbare PDF deen duerch Intranet, Websäit a Google Sichmaschinnen indexéiert ka ginn.

using IronOcr;

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

using (var Input = new OcrInput())
{
    // Add a multi-frame TIFF for conversion to searchable PDF
    Input.AddMultiFrameTiff("example.tiff");

    var Result = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;

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

using (var Input = new OcrInput())
{
    // Add a multi-frame TIFF for conversion to searchable PDF
    Input.AddMultiFrameTiff("example.tiff");

    var Result = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr

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

Using Input = New OcrInput()
	' Add a multi-frame TIFF for conversion to searchable PDF
	Input.AddMultiFrameTiff("example.tiff")

	Dim Result = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf")
End Using
$vbLabelText   $csharpLabel

Exportéiert OCR Resultater als HTML

OCR Image zu XHTML Konversioun.

using IronOcr;

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

using (var Input = new OcrInput())
{
    // Set the title for HTML file
    Input.Title = "Html Title";
    // Add an image for OCR conversion
    Input.AddImage("image1.jpeg");

    var Result = Ocr.Read(Input);

    // Save the OCR result as an HTML file
    Result.SaveAsHocrFile("results.html");
}
using IronOcr;

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

using (var Input = new OcrInput())
{
    // Set the title for HTML file
    Input.Title = "Html Title";
    // Add an image for OCR conversion
    Input.AddImage("image1.jpeg");

    var Result = Ocr.Read(Input);

    // Save the OCR result as an HTML file
    Result.SaveAsHocrFile("results.html");
}
Imports IronOcr

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

Using Input = New OcrInput()
	' Set the title for HTML file
	Input.Title = "Html Title"
	' Add an image for OCR conversion
	Input.AddImage("image1.jpeg")

	Dim Result = Ocr.Read(Input)

	' Save the OCR result as an HTML file
	Result.SaveAsHocrFile("results.html")
End Using
$vbLabelText   $csharpLabel

OCR Image Enhancement Filters

IronOCR bitt eenzegaarteg Filtere fir OcrInput Objete fir d'OCR Performance ze verbesseren.

Image Enhancement Code Beispill

Maacht OCR Input Biller méi héich Qualitéit fir besser, méi séier OCR Resultater ze produzéieren.

using IronOcr;

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

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
    // Enhance the image quality
    Input.DeNoise(); // Fix digital noise in the scan
    Input.Deskew(); // Fix rotation issues

    var Result = Ocr.Read(Input);

    // Output the enhanced OCR result
    Console.WriteLine(Result.Text);
}
using IronOcr;

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

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
    // Enhance the image quality
    Input.DeNoise(); // Fix digital noise in the scan
    Input.Deskew(); // Fix rotation issues

    var Result = Ocr.Read(Input);

    // Output the enhanced OCR result
    Console.WriteLine(Result.Text);
}
Imports IronOcr

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

Using Input = New OcrInput("LowQuality.jpeg")
	' Enhance the image quality
	Input.DeNoise() ' Fix digital noise in the scan
	Input.Deskew() ' Fix rotation issues

	Dim Result = Ocr.Read(Input)

	' Output the enhanced OCR result
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

Lëscht vun OCR Bildfilter

Input Filtere fir d'OCR Performance ze verbesseren déi an IronOCR gebaut sinn enthalen:

  • OcrInput.Rotate (double degrees) - Rotéiert d'Biller ëm eng Zuel vu Grad no riets. Fir géint Auer benotzt negativ Zuelen.
  • OcrInput.Binarize () - Dëse Bildfilter gëtt all Pixel schwaarz oder wäiss ouni Mëttelgrond. Kann OCR Performance Fäll vu ganz nidderegen Kontrast vum Text zum Hannergrond verbesseren.
  • OcrInput.ToGrayScale () - Dëse Bildfilter mécht all Pixel an e Schiet vu Grostufen. Onwahrscheinlech OCR Genauegkeet ze verbesseren awer kann d'Geschwindegkeet verbesseren
  • OcrInput.Contrast () - Erhéicht de Kontrast automatesch. Dëse Filter verbessert dacks OCR Geschwindegkeet a Genauegkeet bei nidderegen Kontrast Scans.
  • OcrInput.DeNoise () - Läscht digitalem Kaméidi. Dëse Filter soll nëmme benotzt ginn, wa Kaméidi erwaart gëtt.
  • OcrInput.Invert () - Invertéiert all Faarf. ZB Wäiss gëtt schwaarz: schwaarz gëtt wäiss.
  • OcrInput.Dilate () - Fortgeschratt Morphologie. Dilatatioun fügt Pixel un d'Grenze vun Objeten an engem Bild bäi. Géigewier vun Erode
  • OcrInput.Erode () - Fortgeschratt Morphologie. Erosioun läscht Pixel op Objektgrenzen Oppositioun vum Dilate
  • OcrInput.Deskew () - Rotéiert e Bild sou datt et de richtege Wee erop an orthogonal ass. Dëst ass ganz nëtzlech fir OCR well Tesseract Toleranz fir schief Scans ka sou niddereg wéi 5 Grad sinn.
  • OcrInput.DeepCleanBackgroundNoise () - Schwéier Hannergrondgeräischerentfernung. Benotzt dëse Filter nëmmen am Fall wou extrem Dokument Hannergrondrauschen bekannt ass, well dëse Filter riskéiert och d'OCR Genauegkeet vu propperen Dokumenter ze reduzéieren, a ganz CPU deier.
  • OcrInput.EnhanceResolution - Verbessert d'Resolutioun vu gerénger Qualitéit. Dëse Filter ass net dacks gebraucht well OcrInput.MinimumDPI an OcrInput.TargetDPI fänken automatesch niddereg Opléisungseingängen op a léisen.

CleanBackgroundNoise. Dëst ass eng Astellung déi e bëssen Zäitverbrauchend ass; awer, et erlaabt der Bibliothéik automatesch den digitale Kaméidi ze botzen, Pabeier crumples, an aner Mängel an engem digitale Bild wat et soss net fäeg wier vun aneren OCR Bibliothéiken ze liesen.

EnhanceContrast ass eng Astellung déi den IronOCR verursaacht fir automatesch de Kontrast vum Text géint den Hannergrond vun engem Bild ze erhéijen, d'Genauegkeet vum OCR ze erhéijen an allgemeng d'Performance an d'Geschwindegkeet vum OCR ze erhéijen.

EnhanceResolution ass eng Astellung déi automatesch Biller mat niddereger Opléisung (déi ënner 275 dpi sinn) automatesch detektéieren an d'Bild upscale an dann all den Text schaarf maachen, sou datt et perfekt vun enger OCR Bibliothéik ka gelies ginn. Och wann dës Operatioun u sech Zäitverbrauchend ass, reduzéiert se allgemeng d'Gesamtzäit fir eng OCR Operatioun op engem Bild.

Sprooch IronOCR ënnerstëtzt 22 international Sproochepäck, an d'Sproochastellung kann benotzt ginn fir eng oder méi verschidde Sproochen ze wielen déi fir eng OCR Operatioun applizéiert ginn.

Strategie IronOCR ënnerstëtzt zwou Strategien. Mir kënne wielen entweder fir e séieren a manner präzise Scan vun engem Dokument ze goen, oder eng fortgeschratt Strategie benotzen déi e puer kënschtlech Intelligenz Modeller benotzt fir d'Genauegkeet vum OCR Text automatesch ze verbesseren andeems se d'statistesch Relatioun vu Wierder mateneen an engem Saz kucken.

ColorSpace ass eng Astellung wou mir kënnen OCR a Grostufen oder Faarf wielen. Allgemeng ass Grostufen déi bescht Optioun. Wéi och ëmmer, heiansdo wann et Texter oder Hannergrënn vun ähnlechen Faarftéin awer ganz aner Faarw gëtt, gëtt e Faarffaarf mat voller Faarf besser Resultater.

DetectWhiteTextOnDarkBackgrounds. Allgemeng erwaarden all OCR Bibliothéiken e schwaarzen Text op wäissen Hannergrënn ze gesinn. Dës Astellung erlaabt dem IronOCR automatesch Negativer z'entdecken, oder donkel Säiten mat wäissen Text, a se ze liesen.

InputImageType. Dës Astellung erlaabt dem Entwéckler d'OCR Bibliothéik ze guidéieren ob et e vollstännegt Dokument oder e Snippet kuckt, wéi zum Beispill e Screenshot.

RotateAndStraighten ass eng fortgeschratt Astellung déi dem IronOCR déi eenzegaarteg Fäegkeet erlaabt Dokumenter ze liesen déi net nëmmen rotéiert sinn, awer vläicht Perspektiv enthalen, wéi Fotoe vun Textdokumenter.

ReadBarcodes ass eng nëtzlech Feature déi et erlaabt IronOCR automatesch Barcodes a QR Coden op Säiten ze liesen, well et och Text liest, ouni eng grouss zousätzlech Zäitbelaaschtung bäizefügen.

Faarfdéift. Dës Astellung bestëmmt wéi vill Bits per Pixel d'OCR Bibliothéik benotzt fir d'Tiefe vun enger Faarf ze bestëmmen. Eng méi héich Faarftiefe kann d'OCR Qualitéit erhéijen, awer wäert och d'Zäit erhéijen fir datt d'OCR Operatioun fäerdeg ass.

126 Sproochepäck

IronOCR ënnerstëtzt 126 international Sproochen iwwer Sproochepäck déi als DLLe verdeelt ginn, déi vun dëser Websäit erofgeluede kënne ginn, oder och vum NuGet Package Manager.

Sproochen enthalen Däitsch, Franséisch, Englesch, Chinesesch, Japanesch a villes méi. Spezialistesch Sproochepäck existéiere fir Pass MRZ, MICR Kontrollen, Finanzdaten, Lizenzplacken a villes méi. Dir kënnt och all tesseract ".traineddata" Datei benotzen - och déi Dir selwer erstallt hutt.

Sprooch Beispill

Mat anere OCR Sproochen.

// 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");

    // An dësem Fall, och geduecht Input ass ganz niddereg Qualitéit
    // IronTesseract ka liesen wat konventionell Tesseract net kann.

    var Result = Ocr.Read(input);

    // Konsole kann net arabesch einfach op Windows drécken.
    // Loosst eis op d'Disk späicheren.
    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");

    // An dësem Fall, och geduecht Input ass ganz niddereg Qualitéit
    // IronTesseract ka liesen wat konventionell Tesseract net kann.

    var Result = Ocr.Read(input);

    // Konsole kann net arabesch einfach op Windows drécken.
    // Loosst eis op d'Disk späicheren.
    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")

	' An dësem Fall, och geduecht Input ass ganz niddereg Qualitéit
	' IronTesseract ka liesen wat konventionell Tesseract net kann.

	Dim Result = Ocr.Read(input)

	' Konsole kann net arabesch einfach op Windows drécken.
	' Loosst eis op d'Disk späicheren.
	Result.SaveAsTextFile("arabic.txt")
End Using
$vbLabelText   $csharpLabel

Multiple Language Beispill

Et ass och méiglech OCR mat verschiddene Sproochen zur selwechter Zäit ze benotzen. Dëst kann wierklech hëllefen engleschsproocheg Metadaten an URLen an Unicode Dokumenter ze kréien.

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

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

// Mir kënnen all Zuel vu Sprooche bäifügen
using (var input = new OcrInput())
{
    input.Add("multi-language.pdf");

    var Result = Ocr.Read(input);

    // Save OCR results to a text file
    Result.SaveAsTextFile("results.txt");
}
// using IronOcr;
// PM> Install IronOcr.Languages.ChineseSimplified

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

// Mir kënnen all Zuel vu Sprooche bäifügen
using (var input = new OcrInput())
{
    input.Add("multi-language.pdf");

    var Result = Ocr.Read(input);

    // Save OCR results to a text file
    Result.SaveAsTextFile("results.txt");
}
' using IronOcr;
' PM> Install IronOcr.Languages.ChineseSimplified

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

' Mir kënnen all Zuel vu Sprooche bäifügen
Using input = New OcrInput()
	input.Add("multi-language.pdf")

	Dim Result = Ocr.Read(input)

	' Save OCR results to a text file
	Result.SaveAsTextFile("results.txt")
End Using
$vbLabelText   $csharpLabel

Detailléiert OCR Resultater Objekter

IronOCR bréngt en OCR Resultatobjet zréck fir all OCR Operatioun. Generell benotzen d'Entwéckler nëmmen d'Textimmobilie vun dësem Objet fir den Text vum Bild gescannt ze kréien. Wéi och ëmmer, d'OCR Resultater DOM ass vill méi fortgeschratt wéi dëst.

using IronOcr;
using System.Drawing; // Assemblée Referenz derbäi

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

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;
    // Entdeckt hei fir eng massiv, detailléiert API ze fannen:
    // - Säiten, Blocks, Paraphaphs, Linnen, Wierder, Zeechen
    // - Image Export, Schrëft Koordinaten, Statistesch Daten
}
using IronOcr;
using System.Drawing; // Assemblée Referenz derbäi

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

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;
    // Entdeckt hei fir eng massiv, detailléiert API ze fannen:
    // - Säiten, Blocks, Paraphaphs, Linnen, Wierder, Zeechen
    // - Image Export, Schrëft Koordinaten, Statistesch Daten
}
Imports IronOcr
Imports System.Drawing ' Assemblée Referenz derbäi

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

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
	' Entdeckt hei fir eng massiv, detailléiert API ze fannen:
	' - Säiten, Blocks, Paraphaphs, Linnen, Wierder, Zeechen
	' - Image Export, Schrëft Koordinaten, Statistesch Daten
End Using
$vbLabelText   $csharpLabel

Leeschtung

IronOCR funktionnéiert aus der Këscht ouni Bedierfnes fir Performance Tune oder Input Biller staark z'änneren.

Speed ass Blazing: IronOcr.2020 + ass bis zu 10 Mol méi séier a mécht iwwer 250% manner Feeler wéi virdrun.

Léier méi

Fir méi iwwer OCR an C#, VB, F# oder all aner .NET Sprooch ze léieren, liest w.e.g. eis Gemeinschafts Tutorials , déi reell Weltbeispaller ginn, wéi IronOCR ka benotzt ginn a kënnen d'Nuancen weisen, wéi een dat Bescht eraushëlt dës Bibliothéik.

Eng komplett Objektreferenz fir .NET Entwéckler ass och verfügbar.