Deutsche OCR in C#und .NET

Andere Versionen dieses Dokuments:

IronOCR ist eine C#-Softwarekomponente, mit der .NET-Codierer Text aus Bildern und PDF-Dokumenten in 126 Sprachen, einschließlich Deutsch, lesen können.

Es handelt sich um eine fortschrittliche Tesseract-Gabel, die exklusiv für .NET-Entwickler entwickelt wurde und regelmäßig andere Tesseract-Engines hinsichtlich Geschwindigkeit und Genauigkeit übertrifft.

Inhalt von IronOcr.Languages.German

Dieses Paket enthält 61 OCR-Sprachen für .NET:

  • Deutsche
  • GermanBest
  • GermanFast
  • GermanFraktur

Herunterladen

Deutsches Sprachpaket [Deutsch]
* Download as Postleitzahl
* Install with
https://www.nuget.org/packages/IronOcr.Languages.German/'> NuGet

Installation

Als erstes müssen wir unser deutsches OCR-Paket in Ihrem .NET-Projekt installieren.

PM> Install-Package IronOCR.Languages.German

Codebeispiel

Dieses C#-Codebeispiel liest deutschen Text aus einem Bild- oder PDF-Dokument.

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

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

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

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

Warum IronOCR wählen?

IronOCR ist eine einfach zu installierende, vollständige und gut dokumentierte .NET-Softwarebibliothek.

Wählen Sie IronOCR, um eine Genauigkeit von 99,8% + OCR zu erreichen, ohne externe Webdienste, laufende Gebühren oder vertrauliche Dokumente über das Internet zu verwenden.

Warum C#-Entwickler IronOCR gegenüber Vanilla Tesseract wählen:

  • Als einzelne DLL oder NuGet installieren
  • Lieferumfang für Tesseract 5, 4 und 3 Motoren.
  • Genauigkeit 99,8% übertrifft den normalen Tesseract deutlich.
  • Blitzgeschwindigkeit und MultiThreading
  • Kompatibel mit MVC-, WebApp-, Desktop-, Konsolen- und Serveranwendungen
  • Keine Exes oder C ++ - Code zum Arbeiten
  • Volle PDF OCR-Unterstützung
  • OCR für fast jede Bilddatei oder PDF
  • Volle Unterstützung für .NET Core, Standard und FrameWork
  • Bereitstellung unter Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • Lesen Sie Barcodes und QR-Codes
  • Exportieren Sie OCR als XHTML
  • Exportieren Sie OCR in durchsuchbare PDF-Dokumente
  • Multithreading-Unterstützung
  • 126 internationale Sprachen, die alle über NuGet- oder OcrData-Dateien verwaltet werden
  • Extrahieren Sie Bilder, Koordinaten, Statistiken und Schriftarten. Nicht nur Text.
  • Kann verwendet werden, um Tesseract OCR in kommerziellen und proprietären Anwendungen neu zu verteilen.

IronOCR leuchtet bei der Arbeit mit Bildern aus der realen Welt und unvollständigen Dokumenten wie Fotos oder Scans mit niedriger Auflösung, die möglicherweise digitales Rauschen oder Unvollkommenheiten aufweisen.

Andere kostenlose OCR- Bibliotheken für die .NET-Plattform, wie z. B. andere .net-Tesseract-APIs und Webdienste, funktionieren in diesen realen Anwendungsfällen nicht so gut.

OCR mit Tesseract 5 - Codierung in C#starten

Das folgende Codebeispiel zeigt, wie einfach es ist, mit C#oder VB .NET Text aus einem Bild zu lesen.

Einzeiler

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#

Konfigurierbare Hallo Welt

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.German;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... können Sie beliebig viele Bilder hinzufügen
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.German
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.German;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... können Sie beliebig viele Bilder hinzufügen
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.German
Imports IronOcr

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

Der gleiche Ansatz kann auch zum Extrahieren von Text aus einem PDF-Dokument verwendet werden.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.German;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Wir können auch bestimmte PDF-Seitennummern für OCR auswählen

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 Seite für jede Seite des PDF
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.German;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Wir können auch bestimmte PDF-Seitennummern für OCR auswählen

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// 1 Seite für jede Seite des PDF
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.German
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' Wir können auch bestimmte PDF-Seitennummern für OCR auswählen

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' 1 Seite für jede Seite des PDF
End Using
VB   C#

OCR für mehrseitige TIFFs

OCR Lesen des TIFF-Dateiformats einschließlich mehrseitiger Dokumente. TIFF kann auch direkt in eine PDF-Datei mit durchsuchbarem Text konvertiert werden.

using IronOcr;

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

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

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

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

Barcodes und QR

Eine einzigartige Funktion von IronOCR ist, dass es Barcodes und QR-Codes aus Dokumenten lesen kann, während nach Text gesucht wird. Instanzen der OcrResult.OcrBarcode Klasse geben dem Entwickler detaillierte Informationen zu jedem gescannten 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);
// Typ- und Standorteigenschaften sind ebenfalls verfügbar
}
}
// 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);
// Typ- und Standorteigenschaften sind ebenfalls verfügbar
}
}
' 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)
' Typ- und Standorteigenschaften sind ebenfalls verfügbar
Next Barcode
End Using
VB   C#

OCR für bestimmte Bildbereiche

Alle Scan- und Lesemethoden von IronOCR bieten die Möglichkeit, genau anzugeben, von welchem Teil einer Seite oder von welchen Seiten wir Text lesen möchten. Dies ist sehr nützlich, wenn wir standardisierte Formulare betrachten, und kann sehr viel Zeit sparen und die Effizienz verbessern.

Um Schnittbereiche zu verwenden, müssen wir einen Systemverweis auf System.Drawing hinzufügen, damit wir das System.Drawing.Rectangle Objekt verwenden können.

using IronOcr;

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Maße sind in px angegeben

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

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

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Maße sind in px angegeben

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

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

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

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

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

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

OCR für Scans geringer Qualität

Die IronOCR OcrInput Klasse kann Scans OcrInput , die normaler Tesseract nicht lesen kann.

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

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // behebt digitales Rauschen und schlechtes Scannen
Input.Deskew(); // Behebt Rotation und Perspektive
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.German;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // behebt digitales Rauschen und schlechtes Scannen
Input.Deskew(); // Behebt Rotation und Perspektive
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.German

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' behebt digitales Rauschen und schlechtes Scannen
Input.Deskew() ' Behebt Rotation und Perspektive
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Exportieren Sie OCR-Ergebnisse als durchsuchbares PDF

Bild zu PDF mit kopierbaren Textzeichenfolgen. Kann von Suchmaschinen und Datenbanken indiziert werden.

using IronOcr;

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

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

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

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 zur durchsuchbaren PDF-Konvertierung

Konvertieren Sie ein TIFF-Dokument (oder eine beliebige Gruppe von Bilddateien) direkt in eine durchsuchbare PDF-Datei, die von Intranet-, Website- und Google-Suchmaschinen indiziert werden kann.

using IronOcr;

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

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

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

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

Exportieren Sie OCR-Ergebnisse als HTML

Konvertierung von OCR-Bildern in XHTML.

using IronOcr;

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

IronOCR bietet einzigartige Filter für OcrInput Objekte, um die OCR-Leistung zu verbessern.

Beispiel für einen Code zur Bildverbesserung

Erhöht die Qualität von OCR-Eingabebildern, um bessere und schnellere OCR-Ergebnisse zu erzielen.

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

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // behebt digitales Rauschen und schlechtes Scannen
Input.Deskew(); // Behebt Rotation und Perspektive
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.German;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // behebt digitales Rauschen und schlechtes Scannen
Input.Deskew(); // Behebt Rotation und Perspektive
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.German

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' behebt digitales Rauschen und schlechtes Scannen
Input.Deskew() ' Behebt Rotation und Perspektive
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Liste der OCR-Bildfilter

Zu den Eingangsfiltern zur Verbesserung der OCR-Leistung, die in IronOCR integriert sind, gehören:

  • OcrInput.Rotate (doppelte Grad) - Dreht Bilder um einige Grad im Uhrzeigersinn. Verwenden Sie gegen den Uhrzeigersinn negative Zahlen.
  • OcrInput.Binarize () - Dieser Bildfilter färbt jedes Pixel schwarz oder weiß ohne Mittelweg. Kann die OCR-Leistung verbessern, wenn der Kontrast von Text zu Hintergrund sehr gering ist.
  • OcrInput.ToGrayScale () - Dieser Bildfilter verwandelt jedes Pixel in einen Graustufenton. Es ist unwahrscheinlich, dass die OCR-Genauigkeit verbessert wird, aber möglicherweise die Geschwindigkeit
  • OcrInput.Contrast () - Erhöht den Kontrast automatisch. Dieser Filter verbessert häufig die OCR-Geschwindigkeit und Genauigkeit bei Scans mit geringem Kontrast.
  • OcrInput.DeNoise () - Entfernt digitales Rauschen. Dieser Filter sollte nur verwendet werden, wenn Rauschen erwartet wird.
  • OcrInput.Invert () - Invertiert jede Farbe. ZB Weiß wird schwarz: Schwarz wird weiß.
  • OcrInput.Dilate () - Erweiterte Morphologie. Durch die Erweiterung werden den Grenzen von Objekten in einem Bild Pixel hinzugefügt . Gegenüber von Erode
  • OcrInput.Erode () - Erweiterte Morphologie. Durch Erosion werden Pixel an Objektgrenzen entfernt
  • OcrInput.Deskew () - Dreht ein Bild so, dass es richtig und orthogonal ist. Dies ist sehr nützlich für OCR, da die Tesseract-Toleranz für verzerrte Scans nur 5 Grad betragen kann.
  • OcrInput.DeepCleanBackgroundNoise () - Starke Entfernung von Hintergrundgeräuschen. Verwenden Sie diesen Filter nur, wenn extreme Hintergrundgeräusche von Dokumenten bekannt sind, da dieser Filter auch die OCR-Genauigkeit sauberer Dokumente verringern kann und sehr CPU-teuer ist.
  • OcrInput.EnhanceResolution - Verbessert die Auflösung von Bildern mit geringer Qualität. Dieser Filter wird nicht oft benötigt, da OcrInput.MinimumDPI und OcrInput.TargetDPI Eingaben mit niedriger Auflösung automatisch erfassen und auflösen.

CleanBackgroundNoise. Dies ist eine Einstellung, die etwas zeitaufwändig ist. Die Bibliothek kann jedoch digitales Rauschen, Papierkrümel und andere Unvollkommenheiten in einem digitalen Bild automatisch bereinigen, wodurch es ansonsten nicht mehr von anderen OCR-Bibliotheken gelesen werden kann.

EnhanceContrast ist eine Einstellung, die bewirkt, dass IronOCR automatisch den Kontrast von Text zum Hintergrund eines Bildes erhöht, die Genauigkeit von OCR erhöht und im Allgemeinen die Leistung und die Geschwindigkeit von OCR erhöht.

EnhanceResolution ist eine Einstellung, die Bilder mit niedriger Auflösung (unter 275 dpi) automatisch erkennt, das Bild automatisch hochskaliert und dann den gesamten Text schärft, damit er von einer OCR-Bibliothek perfekt gelesen werden kann. Obwohl dieser Vorgang an sich zeitaufwändig ist, reduziert er im Allgemeinen die Gesamtzeit für einen OCR-Vorgang an einem Bild.

Language IronOCR unterstützt 22 internationale Sprachpakete. Mit der Spracheinstellung können Sie eine oder mehrere Sprachen auswählen, die für eine OCR-Operation angewendet werden sollen.

Strategie IronOCR unterstützt zwei Strategien. Wir können uns entweder für einen schnellen und weniger genauen Scan eines Dokuments entscheiden oder eine fortschrittliche Strategie verwenden, die einige Modelle der künstlichen Intelligenz verwendet, um die Genauigkeit von OCR-Text automatisch zu verbessern, indem die statistische Beziehung von Wörtern zueinander in einem Satz untersucht wird .

ColorSpace ist eine Einstellung, bei der wir zwischen OCR in Graustufen oder Farben wählen können. Im Allgemeinen ist Graustufen die beste Option. Manchmal jedoch, wenn es Texte oder Hintergründe mit ähnlichem Farbton, aber sehr unterschiedlichen Farben gibt, liefert ein vollfarbiger Farbraum bessere Ergebnisse.

DetectWhiteTextOnDarkBackgrounds. Im Allgemeinen erwarten alle OCR-Bibliotheken schwarzen Text auf weißem Hintergrund. Mit dieser Einstellung kann IronOCR Negative oder dunkle Seiten mit weißem Text automatisch erkennen und lesen.

InputImageType. Mit dieser Einstellung kann der Entwickler die OCR-Bibliothek dahingehend steuern, ob ein vollständiges Dokument oder ein Snippet wie ein Screenshot angezeigt wird.

RotateAndStraighten ist eine erweiterte Einstellung, mit der IronOCR auf einzigartige Weise Dokumente lesen kann, die nicht nur gedreht werden, sondern möglicherweise auch eine Perspektive enthalten, z. B. Fotos von Textdokumenten.

ReadBarcodes ist eine nützliche Funktion, mit der IronOCR automatisch Barcodes und QR-Codes auf Seiten lesen kann, da auch Text gelesen wird, ohne dass eine zusätzliche zusätzliche Zeit erforderlich ist.

Farbtiefe. Diese Einstellung bestimmt, wie viele Bits pro Pixel die OCR-Bibliothek verwendet, um die Tiefe einer Farbe zu bestimmen. Eine höhere Farbtiefe kann die OCR-Qualität erhöhen, erhöht jedoch auch die Zeit, die für den Abschluss des OCR-Vorgangs erforderlich ist.

126 Sprachpakete

IronOCR unterstützt 126 internationale Sprachen über Sprachpakete, die als DLLs verteilt werden und von dieser Website oder auch vom NuGet Package Manager heruntergeladen werden können .

Zu den Sprachen gehören Deutsch, Französisch, Englisch, Chinesisch, Japanisch und viele mehr. Es gibt spezielle Sprachpakete für Pass-MRZ, MICR-Schecks, Finanzdaten, Nummernschilder und vieles mehr. Sie können auch eine beliebige Tesseract-Datei ".traineddata" verwenden - einschließlich der von Ihnen selbst erstellten.

Sprachbeispiel

Verwenden anderer OCR-Sprachen.

// 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");
// Fügen Sie bei Bedarf Bildfilter hinzu
// In diesem Fall ist selbst die Eingabe von Gedanken von sehr geringer Qualität
// IronTesseract kann lesen, was herkömmlicher Tesseract nicht kann.

var Result = Ocr.Read(input);

// Die Konsole kann unter Windows nicht einfach Arabisch drucken.
// Speichern wir stattdessen auf der Festplatte.
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");
// Fügen Sie bei Bedarf Bildfilter hinzu
// In diesem Fall ist selbst die Eingabe von Gedanken von sehr geringer Qualität
// IronTesseract kann lesen, was herkömmlicher Tesseract nicht kann.

var Result = Ocr.Read(input);

// Die Konsole kann unter Windows nicht einfach Arabisch drucken.
// Speichern wir stattdessen auf der Festplatte.
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")
' Fügen Sie bei Bedarf Bildfilter hinzu
' In diesem Fall ist selbst die Eingabe von Gedanken von sehr geringer Qualität
' IronTesseract kann lesen, was herkömmlicher Tesseract nicht kann.

Dim Result = Ocr.Read(input)

' Die Konsole kann unter Windows nicht einfach Arabisch drucken.
' Speichern wir stattdessen auf der Festplatte.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

Beispiel für mehrere Sprachen

Es ist auch möglich, OCR mit mehreren Sprachen gleichzeitig durchzuführen. Dies kann wirklich dazu beitragen, Metadaten und URLs in englischer Sprache in Unicode-Dokumenten abzurufen.

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

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

// Wir können beliebig viele Sprachen hinzufügen

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

// Wir können beliebig viele Sprachen hinzufügen

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

' Wir können beliebig viele Sprachen hinzufügen

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

Detaillierte OCR-Ergebnisobjekte

IronOCR gibt für jede OCR-Operation ein OCR-Ergebnisobjekt zurück. Im Allgemeinen verwenden Entwickler nur die Texteigenschaft dieses Objekts, um den Text aus dem Bild zu scannen. Das OCR-Ergebnis-DOM ist jedoch viel weiter fortgeschritten.

using IronOcr;
using System.Drawing; //Baugruppenreferenz hinzufügen

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

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;
// Entdecken Sie hier eine umfangreiche, detaillierte API:
// - Seiten, Blöcke, Paraphaphien, Zeilen, Wörter, Zeichen
// - Bildexport, Schriftkoordinaten, statistische Daten
}
using IronOcr;
using System.Drawing; //Baugruppenreferenz hinzufügen

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

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;
// Entdecken Sie hier eine umfangreiche, detaillierte API:
// - Seiten, Blöcke, Paraphaphien, Zeilen, Wörter, Zeichen
// - Bildexport, Schriftkoordinaten, statistische Daten
}
Imports IronOcr
Imports System.Drawing 'Baugruppenreferenz hinzufügen

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

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
' Entdecken Sie hier eine umfangreiche, detaillierte API:
' - Seiten, Blöcke, Paraphaphien, Zeilen, Wörter, Zeichen
' - Bildexport, Schriftkoordinaten, statistische Daten
End Using
VB   C#

Performance

IronOCR funktioniert sofort, ohne dass die Leistung angepasst oder die Eingabebilder stark geändert werden müssen.

Geschwindigkeit ist rasant: IronOcr.2020 + ist bis zu 10-mal schneller und macht über 250% weniger Fehler als frühere Builds.

Lern mehr

Um mehr über OCR in C #, VB, F # oder einer anderen .NET-Sprache zu erfahren, lesen Sie bitte unsere Community-Tutorials , die Beispiele aus der Praxis für die Verwendung von IronOCR enthalten und die Nuancen zeigen, wie Sie das Beste aus Ihnen herausholen können diese Bibliothek.

Eine vollständige Objektreferenz für .NET-Entwickler ist ebenfalls verfügbar.