IRONSOFTWAREHOME

OCR-Konfiguration für fortgeschrittenes Lesen

Curtis Chau
Curtis Chau
Updated: 4. Juni 2026

IronOCR bietet fortschrittliche Scan-Lesemethoden wie ReadPassport, ReadLicensePlate und ReadPhoto, die über die Standard-OCR hinausgehen. Diese Methoden werden von dem IronOcr.Extensions.AdvancedScan-Paket unterstützt. Um die Verarbeitung dieser Methoden feinzusteuern, stellt IronOCR die TesseractConfiguration-Klasse bereit, die Entwicklern vollständige Kontrolle über die Whitelist, Blacklist, Barcode-Erkennung, Datentabellen-Lesung und mehr gibt.

Dieser Artikel behandelt die TesseractConfiguration-Eigenschaften für fortgeschrittenes Lesen und praktische Beispiele zur Konfiguration von OCR in realen Szenarien.

Schnellstart: OCR-Ausgabe auf eine Zeichen-Whitelist beschränken

Setzen Sie WhiteListCharacters auf TesseractConfiguration, bevor Sie Read aufrufen. Alle Zeichen, die nicht auf der Positivliste stehen, werden stillschweigend aus dem Ergebnis entfernt, wodurch Störungen ohne Nachbearbeitung eliminiert werden.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    var result = new IronTesseract() { Configuration = new TesseractConfiguration { WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789- " } }.Read(new OcrInput("image.png")); Console.WriteLine(result.Text);
    C#
  3. 3Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute, IronOCR in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
    arrow pointer

Tesseract-Konfigurationseigenschaften

Die TesseractConfiguration-Klasse bietet die folgenden Eigenschaften zur Anpassung des OCR-Verhaltens. Diese werden durch IronTesseract.Configuration gesetzt.

EigenschaftTypBeschreibung
WhiteListCharactersstringNur die in dieser Zeichenkette enthaltenen Zeichen werden in der OCR-Ausgabe erkannt. Alle anderen Zeichen werden ausgeschlossen.
BlackListCharactersstringZeichen in dieser Zeichenkette werden aktiv ignoriert und aus der OCR-Ausgabe entfernt.
ReadBarCodesboolAktiviert oder deaktiviert die Barcode-Erkennung innerhalb des Dokuments während der OCR-Verarbeitung.
ReadDataTablesboolAktiviert oder deaktiviert die Tabellenstrukturerkennung innerhalb des Dokuments mithilfe von Tesseract.
PageSegmentationModeTesseractPageSegmentationModeLegt fest, wie Tesseract das Eingabebild segmentiert. Zu den Optionen gehören AutoOsd , Auto , SingleBlock , SingleLine , SingleWord und weitere.
RenderSearchablePdfboolWenn diese Funktion aktiviert ist, kann die OCR-Ausgabe als durchsuchbares PDF mit einer unsichtbaren Textebene gespeichert werden.
RenderHocrboolWenn diese Option aktiviert ist, enthält die OCR-Ausgabe auch hOCR-Daten zur Weiterverarbeitung oder zum Export.
TesseractVariablesDictionary<string, object>Ermöglicht den direkten Zugriff auf die Tesseract-Konfigurationsvariablen auf niedriger Ebene für eine detaillierte Steuerung.

Das TesseractVariables-Wörterbuch geht noch weiter und stellt Hunderte von zugrunde liegenden Tesseract-Engine-Parametern für Fälle zur Verfügung, in denen die hohen Eigenschaften nicht ausreichen.

Die folgenden Beispiele veranschaulichen jede Eigenschaftsgruppe, beginnend mit der Zeichen-Whitelist.

Einrichten einer Zeichen-Whitelist für Kfz-Kennzeichen

Ein häufiger Anwendungsfall für WhiteListCharacters besteht darin, die OCR-Ausgabe auf nur jene Zeichen zu beschränken, die auf einem Nummernschild erscheinen können: Großbuchstaben, Ziffern, Bindestriche und Leerzeichen. Dadurch werden Störungen beseitigt und die Genauigkeit verbessert, indem der Engine mitgeteilt wird, alles außerhalb des erwarteten Zeichensatzes zu ignorieren.

Eingabe

Der folgende Fahrzeugzulassungssatz enthält eine Mischung aus Großbuchstabentext, Kleinbuchstabentext, speziellen Symbolen (@, $, #, |, *), und Interpunktion.

Fahrzeugregistrierungsdatensatz mit gemischten Zeichen für die OCR-Whitelist-Demonstration

BlackListCharacters ergänzt die Whitelist, indem es aktiv bekannte Störsymbole wie , and *` ausschließt.

using IronOcr;

// Initialize the Tesseract OCR engine
IronTesseract ocr = new IronTesseract();

ocr.Configuration = new TesseractConfiguration
{
    // Whitelist only characters that appear on license plates
    WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789- ",

    // Blacklist common noise characters
    BlackListCharacters = "`~@#$%&*",
};

var ocrInput = new OcrInput();
// Load the input image
ocrInput.LoadImage("advanced-input.png");
// Perform OCR on the input image with ReadPhoto method
var results = ocr.ReadPhoto(ocrInput);

// Print the filtered text result to the console
Console.WriteLine(results.Text);

Ausgabe

OCR-Ausgabe, die nur die zulässigen Kennzeichenzeichen anzeigt

Die Whitelist-Filterung ist in den Ergebnissen deutlich sichtbar:

  • "Plate: ABC-1234" wird zu "P ABC-1234" . Das Wort "late:" in Kleinbuchstaben wird weggelassen, während das Kennzeichen exakt beibehalten wird.
  • "VIN: 1HGBH41JXMN109186" wird zu "VIN 1HGBH41JXMN109186" . Der Doppelpunkt wird weggelassen, aber die VIN in Großbuchstaben und die vollständige Nummer bleiben erhalten.
  • "Owner: john.doe@email.com" wird zu "O" . Die gesamte E-Mail-Adresse in Kleinbuchstaben und die Interpunktion wurden entfernt. -** Region: CA-90210 | Zone #5" wird zu "R CA-90210 Z 5"** Die Das Rohr (|) and hash (#) werden entfernt, während die Großbuchstaben und Zahlen bestehen bleiben.
  • "Gebühr: $125.00 + Steuer*" wird zu "F 12500" . Das Dollarzeichen, das Dezimalkomma, das Plus und der Kleinbuchstabe "tax" wurden entfernt.
  • "Ref: ~record_v2^final" wird zu "R 2" . Die Tilde (~), Unterstrich, Dach (^), und alle Kleinbuchstaben werden entfernt.

Der gleiche WhiteListCharacters und BlackListCharacters-Ansatz funktioniert für jeden Dokumenttyp, nicht nur für Nummernschilder. Im nächsten Abschnitt wird gezeigt, wie man einen Lesevorgang erweitert, um Barcodes und Tabellenstrukturen im selben Durchlauf zu erkennen.

Konfigurieren des Barcode- und Datentabellenlesens

IronOCR kann neben Text auch Barcodes und strukturierte Tabellen in Dokumenten erkennen. Diese Funktionen werden gesteuert durch TesseractConfiguration:

IronTesseract ocr = new IronTesseract();

ocr.Configuration = new TesseractConfiguration
{
    // Enable barcode detection within documents
    ReadBarCodes = true,

    // Enable table structure detection
    ReadDataTables = true,
};
  • ReadBarCodes: Wenn auf true gesetzt, scannt IronOCR das Dokument zusätzlich zum Text nach Barcodes. Stellen Sie auf false ein, um die Barcode-Erkennung zu überspringen und die Verarbeitung zu beschleunigen, wenn keine Barcodes erwartet werden.
  • ReadDataTables: Wenn auf true gesetzt, versucht Tesseract, Tabellenstrukturen im Dokument zu erkennen und zu erhalten. Dies ist nützlich für Rechnungen, Berichte und andere tabellarische Dokumente.

Diese Optionen können mit WhiteListCharacters und BlackListCharacters kombiniert werden, um eine präzise Kontrolle darüber zu haben, was aus komplexen Dokumenten extrahiert wird.

Während Filterung und Erkennung steuern, was extrahiert wird, ist die Layoutinterpretation ein separates Thema. Der nächste Abschnitt behandelt, wie man den richtigen PageSegmentationMode für den Dokumententyp auswählt.

Steuerung des Seitensegmentierungsmodus

PageSegmentationMode weist Tesseract an, wie das Eingabebild vor der Erkennung segmentiert werden soll. Die Wahl des falschen Modus für ein bestimmtes Layout führt dazu, dass die Engine den Text falsch interpretiert oder ihn vollständig überspringt.

ModusAnwendungsfall
AutoOsdAutomatische Layoutanalyse mit Ausrichtungs- und Schrifterkennung
AutoAutomatische Layoutanalyse ohne OSD (Standard)
SingleColumnEs wird davon ausgegangen, dass das Bild eine einzelne Textspalte ist.
SingleBlockEs wird davon ausgegangen, dass es sich bei dem Bild um einen einzelnen, einheitlichen Textblock handelt.
SingleLineEs wird davon ausgegangen, dass das Bild eine einzelne Textzeile ist.
SparseTextFindet so viel Text wie möglich in beliebiger Reihenfolge

Für ein Etikett oder Banner, das eine einzige Zeile enthält, eliminiert SingleLine die Analyse mehrerer Blöcke und verbessert sowohl Geschwindigkeit als auch Genauigkeit.

Eingabe

single-line-label.png ist ein schmales Versandetikett mit genau einer Zeile fettem Courier-Text: SHIPPING LABEL: TRK-2024-XR9-001.

Einzeiliges Versandetikett für den OCR-Segmentierungsmodus (Einzelzeilen).
IronTesseract ocr = new IronTesseract();

ocr.Configuration = new TesseractConfiguration
{
    PageSegmentationMode = TesseractPageSegmentationMode.SingleLine,
};

using OcrInput input = new OcrInput();
input.LoadImage("single-line-label.png");

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

Für eine gescannte Seite mit unregelmäßiger Textplatzierung erfasst SparseText mehr Inhalt als Auto.

Eingabe

receipt-scan.png ist ein Corner Market Wärmeschreibbeleg mit vier Positionen (Kaffee, Muffin, Saft, Müsliriegel), einem gestrichelten Trenner, Zwischensumme, Steuer und Gesamtbetrag. Dies ist die Art von Layout, bei der die Segmentierung in feste Blöcke Einträge an verschiedenen horizontalen Positionen nicht erfasst.

Thermobon für den OCR-SparseText-Segmentierungsmodus
IronTesseract ocr = new IronTesseract();

ocr.Configuration = new TesseractConfiguration
{
    PageSegmentationMode = TesseractPageSegmentationMode.SparseText,
};

using OcrInput input = new OcrInput();
input.LoadImage("receipt-scan.png");

OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

Nachdem die Layoutsegmentierung auf den Dokumenttyp abgestimmt wurde, besteht der nächste Schritt darin, das Ausgabeformat für die Weiterverarbeitung zu steuern.

Generieren durchsuchbarer PDFs und hOCR-Ausgabe

RenderSearchablePdf und RenderHocr steuern die Ausgabformate, die IronOCR neben dem Klartext-Ergebnis erzeugt.

RenderSearchablePdf bettet eine unsichtbare Textebene über das Originalbild ein und erzeugt ein PDF, in dem Benutzer Text suchen und kopieren können, während das gescannte Bild sichtbar bleibt. Dies ist das Standardausgabeformat für Dokumentenarchivierungs-Workflows.

Eingabe

scanned-document.pdf ist ein einseitiges Geschäftsbriefdokument von IronOCR Solutions Ltd. (datiert am 15. März 2024, Referenz DOC-2024-OCR-0315). Das Ergebnis wird als searchable-output.pdf gespeichert.

IronTesseract ocr = new IronTesseract();

ocr.Configuration = new TesseractConfiguration
{
    RenderSearchablePdf = true,
};

using OcrInput input = new OcrInput();
input.LoadPdf("scanned-document.pdf");

OcrResult result = ocr.Read(input);
result.SaveAsSearchablePdf("searchable-output.pdf");

Ausgabe

Das Ergebnis ist eine PDF-Datei, die dem Eingabedokument identisch aussieht, aber eine versteckte Textebene enthält. Öffnen Sie searchable-output.pdf und verwenden Sie Strg+F, um zu überprüfen, dass der eingebettete Text durchsuchbar und kopierbar ist.

RenderHocr erzeugt ein hOCR-Dokument, eine HTML-Datei, die den Textinhalt zusammen mit Begrenzungsrahmenkoordinaten für jedes Wort kodiert. Dies ist nützlich, wenn nachgelagerte Tools eine präzise Wortpositionierung benötigen, beispielsweise Schwärzungsprogramme oder Dokumentlayoutanalysen.

Eingabe

document-page.png ist eine Dokumentenseite mit der Überschrift "Quartalszusammenfassung Q1 2024" und zwei Absätzen mit Finanzdaten zu Umsatz, Betriebskosten und Wachstumsfaktoren. Das Ergebnis wird als output.html gespeichert.

Dokumentseiteneingabe für hOCR-Begrenzungsrahmenausgabe
IronTesseract ocr = new IronTesseract();

ocr.Configuration = new TesseractConfiguration
{
    RenderHocr = true,
};

using OcrInput input = new OcrInput();
input.LoadImage("document-page.png");

OcrResult result = ocr.Read(input);
result.SaveAsHocrFile("output.html");

Ausgabe

output.html kodiert jedes erkannte Wort mit seinen Begrenzungsrahmenkoordinaten. Öffnen Sie die Datei in einem Browser, um die hOCR-Struktur zu untersuchen, oder übergeben Sie sie an ein nachgelagertes Tool zur Layoutanalyse oder Schwärzung.

Beide Flags können gleichzeitig aktiviert werden, wenn Sie alle drei Ausgabeformate (Klartext, durchsuchbares PDF und hOCR) aus einem einzigen Leseaufruf benötigen.

Diese Ausgabeflags funktionieren unabhängig von der gelesenen Sprache, einschließlich nicht-lateinischer Schriftsysteme. Im nächsten Abschnitt wird die Anwendung der Zeichenfilterung auf japanischen Text erläutert.

Unicode-Zeichenfilterung für internationale Dokumente

Für internationale Dokumente in Chinesisch, Japanisch oder Koreanisch arbeiten die Eigenschaften WhiteListCharacters und BlackListCharacters mit Unicode-Zeichen. Dies ermöglicht es Ihnen, die Ausgabe auf bestimmte Schriftsysteme zu beschränken, z. B. nur Hiragana und Katakana für Japanisch.

Hinweis:: Stellen Sie sicher, dass das entsprechende Sprachpaket installiert ist (z. B. IronOCR ), bevor Sie fortfahren.

Eingabe

Das Dokument enthält einen Titel (テスト), einen japanischen Satz, der Hiragana und Katakana mit stimmhaften Varianten (プ, で) mischt, eine Preiszeile mit auf der schwarzen Liste stehenden Rauschsymbolen (★, ■) und Kanji (価格) sowie eine Memozeile mit einem weiteren auf der schwarzen Liste stehenden Symbol (§), mehr Kanji (購入), zusätzlichen stimmhaften Varianten (プ, デ) und Basis-Katakana (メモ, ール). Die Whitelist lässt nur Hiragana-Basiszeichen, Katakana-Basiszeichen, Ziffern und gängige japanische Satzzeichen durch; Die drei Rauschsymbole sind explizit auf der schwarzen Liste.

OCR-Erweiterte Konfiguration Japanische Eingabe

Die Unicode-Zeichenbereiche für Hiragana und Katakana werden als Zeichenfolgenliterale in WhiteListCharacters übergeben, wobei die Störsymbole in BlackListCharacters aufgelistet sind.

Warnung: Die Konsole unterstützt möglicherweise nicht die Anzeige von Unicode-Zeichen. Die Umleitung der Ausgabe in eine .txt-Datei ist eine zuverlässige Methode, um Ergebnisse bei der Verarbeitung solcher Zeichen zu überprüfen.
using IronOcr;
using System.IO;

IronTesseract ocr = new IronTesseract();

ocr.Configuration = new TesseractConfiguration
{
    // Whitelist only Hiragana, Katakana, numbers, and common Japanese punctuation
    WhiteListCharacters = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん" +
                            "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン" +
                            "0123456789、。?!()¥ー",

    // Blacklist common noise/symbols you want to ignore
    BlackListCharacters = "★■§",
};

var ocrInput = new OcrInput();

// Load Japanese input image
ocrInput.LoadImage("jp.png");

// Perform OCR on the input image with ReadPhoto method
var results = ocr.ReadPhoto(ocrInput);

// Write the text result directly to a file named "output.txt"
File.WriteAllText("output.txt", results.Text);

// You can add this line to confirm the file was saved:
Console.WriteLine("OCR results saved to output.txt");

Ausgabe

OCR-Erweiterte Konfiguration Japanische Ausgabe

Die vollständige gefilterte Ausgabe ist als Textdatei verfügbar: jp-output.txt .

Da die Whitelist nur Hiragana- und Katakana-Basiszeichen enthält, werden abgeleitete Varianten mit stimmhafter Kennzeichnung wie プ (pu) und デ (de) nicht berücksichtigt. Kanji-Zeichen wie 価格 (Preis) und 購入 (Kauf) sind ebenfalls ausgeschlossen, da sie nicht zur Liste der zulässigen Zeichen gehören. Symbole in der Blacklist wie , und § werden aktiv entfernt, unabhängig von der Whitelist.

Wohin soll ich als Nächstes reisen?

Nachdem Sie nun wissen, wie Sie IronOCR für fortgeschrittene Leseszenarien konfigurieren, erkunden Sie Folgendes:

Für den produktiven Einsatz müssen Sie eine Lizenz erwerben, um Wasserzeichen zu entfernen und die volle Funktionalität zu nutzen.

Häufig gestellte Fragen

Was ist TesseractConfiguration in IronOCR?

TesseractConfiguration in IronOCR ermöglicht es Benutzern, die OCR-Einstellungen anzupassen und so erweiterte Lesefunktionen wie Zeichen-Whitelists, Barcode-Lesen und mehrsprachige Unterstützung zu aktivieren.

Wie kann ich in IronOCR eine Zeichen-Whitelist einrichten?

In IronOCR können Sie mit TesseractConfiguration eine Zeichen-Whitelist einrichten, mit der Sie festlegen können, welche Zeichen die OCR-Engine erkennen soll. Dies ist nützlich für Aufgaben wie das Lesen von Kfz-Kennzeichen.

Kann IronOCR Barcodes und Datentabellen lesen?

Ja, IronOCR kann so konfiguriert werden, dass es Barcodes und Datentabellen liest, indem bestimmte Einstellungen in den TesseractConfiguration-Eigenschaften für eine präzise OCR-Datenextraktion angepasst werden.

Unterstützt IronOCR internationale Sprachen wie Chinesisch, Japanisch und Koreanisch?

IronOCR unterstützt internationale Sprachen, darunter Chinesisch, Japanisch und Koreanisch, durch seine mehrsprachigen TesseractConfiguration-Optionen.

Welche Vorteile bietet die Verwendung erweiterter OCR-Konfigurationen in IronOCR?

Durch die Nutzung fortschrittlicher OCR-Konfigurationen in IronOCR wird eine genauere und effizientere Texterkennung ermöglicht, wodurch spezialisierte Aufgaben wie die sprachspezifische Texterkennung und die Extraktion strukturierter Daten unterstützt werden.

Lässt sich IronOCR für spezifische OCR-Aufgaben optimieren?

Ja, IronOCR kann für spezifische OCR-Aufgaben optimiert werden, indem Einstellungen wie Zeichen-Whitelists konfiguriert und die Barcode- oder Tabellenerkennung aktiviert werden, wodurch die Leistung für die jeweiligen Anwendungen verbessert wird.

Wie aktiviere ich die Mehrsprachigkeitsunterstützung in IronOCR?

Um die Mehrsprachigkeit in IronOCR zu aktivieren, können Sie die Spracheinstellungen in der TesseractConfiguration anpassen, sodass die OCR-Engine Texte in mehreren Sprachen erkennen kann.

Was sind Zeichen-Whitelists und wie werden sie in IronOCR verwendet?

Zeichen-Whitelists in IronOCR sind Listen spezifischer Zeichen, die die OCR-Engine erkennen soll. Sie eignen sich ideal für gezielte Aufgaben wie das Lesen von Ziffern oder bestimmten Textmustern.

Kann IronOCR zum Lesen strukturierter Datenformate verwendet werden?

Ja, IronOCR kann so konfiguriert werden, dass es strukturierte Datenformate wie Barcodes und Tabellen lesen und verarbeiten kann und bietet somit vielseitige OCR-Funktionen für verschiedene Datenextraktionsanforderungen.

Welche Konfigurationen bietet IronOCR für die erweiterte Texterkennung?

IronOCR bietet Konfigurationen wie Zeichen-Whitelists, Mehrsprachigkeitsunterstützung und Barcode-Erkennung, um die erweiterten Texterkennungsfunktionen an spezifische Anforderungen anzupassen.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

...
Weiterlesen

Bereit anzufangen?

Nuget Downloads 6,236,385Version:2026.9gerade veröffentlicht

Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach "IronOCR"
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows Installer hier herunter.

  1. Laden Sie IronOCR herunter und entpacken Sie es in einem Ordner wie ~/Libs in Ihrem Lösungsverzeichnis.
  2. Klicken Sie im Visual Studio Solution Explorer mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronOCR.dll"

Lizenzen von $999

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.