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]

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();
// Set the OCR language to German.
Ocr.Language = OcrLanguage.German;

using (var Input = new OcrInput(@"images\German.png"))
{
    // Perform OCR on the input image.
    var Result = Ocr.Read(Input);
    // Extract all recognized text.
    var AllText = Result.Text;
}
// PM> Install-Package IronOcr.Languages.German
using IronOcr;

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

using (var Input = new OcrInput(@"images\German.png"))
{
    // Perform OCR on the input image.
    var Result = Ocr.Read(Input);
    // Extract all recognized text.
    var AllText = Result.Text;
}
' PM> Install-Package IronOcr.Languages.German
Imports IronOcr

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

Using Input = New OcrInput("images\German.png")
	' Perform OCR on the input image.
	Dim Result = Ocr.Read(Input)
	' Extract all recognized text.
	Dim AllText = Result.Text
End Using
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

Konfigurierbare Hallo Welt

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

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

using (var Input = new OcrInput()){
    // Add image(s) for OCR
    Input.AddImage("images/sample.jpeg");
    // You can add as many images as needed
    var Result = Ocr.Read(Input);
    // Output the text result to the console
    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()){
    // Add image(s) for OCR
    Input.AddImage("images/sample.jpeg");
    // You can add as many images as needed
    var Result = Ocr.Read(Input);
    // Output the text result to the console
    Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOcr.Languages.German
Imports IronOcr

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

Using Input = New OcrInput()
	' Add image(s) for OCR
	Input.AddImage("images/sample.jpeg")
	' You can add as many images as needed
	Dim Result = Ocr.Read(Input)
	' Output the text result to the console
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

C# PDF OCR

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

using IronOcr;

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

using (var input = new OcrInput())
{
    input.AddPdf("example.pdf", "password");
    // We can also specify specific PDF page numbers for OCR

    var Result = Ocr.Read(input);

    Console.WriteLine(Result.Text);
    Console.WriteLine($"{Result.Pages.Count()} Pages");
    // 1 page for each page of the PDF
}
using IronOcr;

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

using (var input = new OcrInput())
{
    input.AddPdf("example.pdf", "password");
    // We can also specify specific PDF page numbers for OCR

    var Result = Ocr.Read(input);

    Console.WriteLine(Result.Text);
    Console.WriteLine($"{Result.Pages.Count()} Pages");
    // 1 page for each page of the PDF
}
Imports IronOcr

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

Using input = New OcrInput()
	input.AddPdf("example.pdf", "password")
	' We can also specify specific PDF page numbers for OCR

	Dim Result = Ocr.Read(input)

	Console.WriteLine(Result.Text)
	Console.WriteLine($"{Result.Pages.Count()} Pages")
	' 1 page for each page of the PDF
End Using
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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);
        // Type and location properties are also available
    }
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
    input.AddImage("img/Barcode.png");
    var Result = Ocr.Read(input);
    foreach (var Barcode in Result.Barcodes)
    {
        Console.WriteLine(Barcode.Value);
        // Type and location properties are also available
    }
}
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)
		' Type and location properties are also available
	Next Barcode
End Using
$vbLabelText   $csharpLabel

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 };
    // Dimensions are in pixels

    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 };
    // Dimensions are in pixels

    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
	}
	' Dimensions are in pixels

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

	Dim Result = Ocr.Read(Input)
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

OCR für Scans geringer Qualität

Die IronOCR OcrInput Klasse kann auch Scans lesen, 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(); // Fix digital noise and poor scanning quality
    Input.Deskew(); // Correct rotation and perspective issues
    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(); // Fix digital noise and poor scanning quality
    Input.Deskew(); // Correct rotation and perspective issues
    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() ' Fix digital noise and poor scanning quality
	Input.Deskew() ' Correct rotation and perspective issues
	Dim Result = Ocr.Read(Input)
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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);
    Result.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);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr

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

Using Input = New OcrInput()
	Input.AddMultiFrameTiff("example.tiff")
	Dim Result = Ocr.Read(Input)
	Result.SaveAsSearchablePdf("searchable.pdf")
End Using
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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(); // Remove digital noise
    Input.Deskew(); // Correct rotation and perspective
    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(); // Remove digital noise
    Input.Deskew(); // Correct rotation and perspective
    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() ' Remove digital noise
	Input.Deskew() ' Correct rotation and perspective
	Dim Result = Ocr.Read(Input)
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

Liste der OCR-Bildfilter

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

  • OcrInput.Rotate(double degrees) - Rotiert Bilder um einige Grad im Uhrzeigersinn. Verwenden Sie negative Zahlen für gegen den Uhrzeigersinn.
  • OcrInput.Binarize() - Färbt jedes Pixel schwarz oder weiß ohne Mittelwert, kann die OCR-Leistung verbessern, wenn der Kontrast von Text zu Hintergrund sehr gering ist.
  • OcrInput.ToGrayScale() - 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, z.B., Weiß wird schwarz, Schwarz wird weiß.
  • OcrInput.Dilate() - Erweiterte Morphologie. Fügt den Grenzen von Objekten in einem Bild Pixel hinzu. Gegenüber von Erode.
  • OcrInput.Erode() - Entfernt Pixel an Objektgrenzen.
  • OcrInput.Deskew() - Dreht ein Bild, sodass es richtig und orthogonal ist, nützlich für OCR, da Tesseract-Toleranz für verzerrte Scans nur 5 Grad betragen kann.
  • OcrInput.DeepCleanBackgroundNoise() - Starke Entfernung von Hintergrundgeräuschen. Verwenden Sie diesen Filter nur bei bekannten extremen Hintergrundgeräuschen, da er sonst die OCR-Genauigkeit sauberer Dokumente verringern kann und sehr CPU-teuer ist.
  • OcrInput.EnhanceResolution - Verbessert die Auflösung von Bildern mit geringer Qualität durch automatische Detektion und Verbesserung.

CleanBackgroundNoise. Entfernt digitales Rauschen, Papierstücke und Unvollkommenheiten in einem Bild, um es lesbarer für OCR zu machen.

EnhanceContrast erhöht automatisch den Kontrast zwischen Text und Hintergrund und verbessert so die OCR-Genauigkeit.

EnhanceResolution skaliert automatisch Bilder mit niedrigerer Auflösung hoch und schärft den Text für bessere Lesbarkeit.

Language beinhaltet 126 internationale Sprachpakete, die frei kombiniert werden können.

Strategy unterstützt schnelle und statistisch verbesserte OCR-Strategien, abhängig von Anwendungsfall und benötigter Genauigkeit.

ColorSpace legt fest, ob OCR in Graustufen oder Vollfarbe durchgeführt wird.

DetectWhiteTextOnDarkBackgrounds. Erlaubt IronOCR, auch negativen Text (weißer Text auf dunklem Hintergrund) zu erkennen.

InputImageType. Gibt an, ob ein vollständiges Dokument oder ein Snippet gescannt wird.

RotateAndStraighten liest Texte richtig, selbst wenn sie gedreht oder perspektivisch verzerrt sind.

ReadBarcodes ermöglicht das gleichzeitige Scannen von Barcodes und Texten.

Farbtiefe. Höhere Farbtiefen verbessern die OCR-Qualität, steigern jedoch auch die Verarbeitungszeit.

126 Sprachpakete

IronOCR unterstützt 126 internationale Sprachen mit Sprachpaketen, 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 jede Tesseract-Datei ".traineddata" verwenden - einschließlich derer, die Sie selbst erstellt haben.

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");
    // Add image filters if needed
    var Result = Ocr.Read(input);

    // Save the recognized text. The Console may not print Arabic easily on Windows.
    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");
    // Add image filters if needed
    var Result = Ocr.Read(input);

    // Save the recognized text. The Console may not print Arabic easily on Windows.
    Result.SaveAsTextFile("arabic.txt");
}
Imports IronOcr

' PM> Install IronOcr.Languages.Arabic

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

Using input = New OcrInput()
	input.AddImage("img/arabic.gif")
	' Add image filters if needed
	Dim Result = Ocr.Read(input)

	' Save the recognized text. The Console may not print Arabic easily on Windows.
	Result.SaveAsTextFile("arabic.txt")
End Using
$vbLabelText   $csharpLabel

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

// We can add as many languages as needed

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

// We can add as many languages as needed

using (var input = new OcrInput())
{
    input.Add("multi-language.pdf");
    var Result = Ocr.Read(input);
    Result.SaveAsTextFile("results.txt");
}
Imports IronOcr

' PM> Install IronOcr.Languages.ChineseSimplified

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

' We can add as many languages as needed

Using input = New OcrInput()
	input.Add("multi-language.pdf")
	Dim Result = Ocr.Read(input)
	Result.SaveAsTextFile("results.txt")
End Using
$vbLabelText   $csharpLabel

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; // Add reference to assembly

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

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;
    // Explore a detailed API here:
    // - Pages, Blocks, Paragraphs, Lines, Words, Characters
    // - Image export, font coordinates, statistical data
}
using IronOcr;
using System.Drawing; // Add reference to assembly

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

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;
    // Explore a detailed API here:
    // - Pages, Blocks, Paragraphs, Lines, Words, Characters
    // - Image export, font coordinates, statistical data
}
Imports IronOcr
Imports System.Drawing ' Add reference to assembly

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

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
	' Explore a detailed API here:
	' - Pages, Blocks, Paragraphs, Lines, Words, Characters
	' - Image export, font coordinates, statistical data
End Using
$vbLabelText   $csharpLabel

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.