IRONOCR VERWENDEN

OCR-Rechnungsverarbeitung in C# (Entwickler-Tutorial)

Veröffentlicht 14. Januar 2025
Teilen Sie:

Einführung

Die Verarbeitung von Rechnungsdaten bezieht sich auf das Empfangen, Verwalten und Validieren von Rechnungen von Lieferanten oder Anbietern und stellt sicher, dass die Zahlungen korrekt und pünktlich erfolgen. Dabei handelt es sich um Schritte, die darauf abzielen, Genauigkeit, Compliance und Effizienz bei der Abwicklung von Geschäftstransaktionen zu gewährleisten, um Papierrechnungen zu vermeiden. Die automatisierte Rechnungsverarbeitung kann manuelle Dateneingabefehler erheblich reduzieren und die Effizienz verbessern. IronOCR ist eine leistungsstarke optische Zeichenerkennung(OCR)Softwarebibliothek, die verwendet werden kann, um Daten oder Text aus Rechnungen aus einer digitalen Datei zu extrahieren, was sie zu einem hervorragenden Werkzeug zur Automatisierung der Rechnungs-OCR-Verarbeitung in C#-Anwendungen macht.

So verarbeiten Sie Rechnungsdaten mit OCR-Software wie IronOCR

  1. Erstellen Sie ein Visual Studio-Projekt.

  2. Installieren Sie die IronOCR C#-Bibliothek.

  3. Beispielrechnungseingabebild.

  4. Nutzen Sie Tesseract und extrahieren Sie Daten aus dem Belegbild.

  5. Lesen Sie nur einen Bereich eines Bildes.

Optische Zeichenerkennung (OCR)

Optische Zeichenerkennung ist eine Technologie, die es ermöglicht, verschiedene Arten von Dokumenten, PDFs oder Bildern von Texten in bearbeitbare und durchsuchbare Daten zu erkennen und umzuwandeln. OCR-Technologie verarbeitet Textbilder und extrahiert die Zeichen, wodurch sie maschinenlesbar werden. Erweiterte OCR-Rechnungssysteme unterstützen bei Finanzverwaltungstools und der Automatisierung von Rechnungen.

Wichtige Punkte über OCR

  • Funktionalität: OCR-Software scannt Bilder oder Text(z. B. Fotos oder gescannte Dokumente)und wandelt die Zeichen in digitalen Text um, der bearbeitet, durchsucht und gespeichert werden kann.
  • Anwendungen: OCR wird in verschiedenen Branchen häufig für Aufgaben wie die Digitalisierung gedruckter Dokumente, die Rechnungsverarbeitung, die Extraktion von Formulardaten und die automatisierte Kennzeichenerkennung eingesetzt.(ANPR), Kreditoren-Workflow und Bücher scannen.
  • Technologie: OCR verwendet Algorithmen, um Muster von Hell und Dunkel zu erkennen und Zeichen zu interpretieren. Moderne OCR-Systeme nutzen auch maschinelles Lernen und künstliche Intelligenz, um die Genauigkeit zu verbessern, insbesondere bei handgeschriebenem Text.
  • Vorteile: OCR steigert die Produktivität, indem es die Dateneingabe automatisiert, Fehler reduziert und eine einfachere Datensuche und -wiederherstellung ermöglicht. Es unterstützt auch die Archivierung von Dokumenten und hilft Unternehmen, papierlose Arbeitsabläufe zu verwalten.

    Die OCR-Technologie hat sich erheblich weiterentwickelt, wodurch sie äußerst präzise und nützlich für die Verarbeitung von Dokumenten und die Extraktion von Rechnungsdaten in vielen verschiedenen Rechnungsformaten ist, um die manuelle Dateneingabe zu reduzieren, die manuelle Rechnungsbearbeitung zu eliminieren und die Datensicherheit zu erhöhen.

IronOCR

IronOCR ist eine leistungsstarke Optical Character Recognition(OCR)Bibliothek für .NET(C#)mit dem Entwickler Text aus Bildern, PDFs und anderen Dokumentformaten extrahieren, OCR-Rechnungssoftware entwickeln und den Workflow für Kreditoren implementieren können. Es bietet eine benutzerfreundliche API zur Integration von OCR-Funktionen in das Kreditorenbuchhaltungssystem oder das Buchhaltungssystem.

Hauptmerkmale von IronOCR

  • Textextraktion: Es kann Text aus verschiedenen Bildformaten extrahieren(PNG, JPG, TIFF usw.)und PDFs, einschließlich mehrseitiger PDFs für Buchhaltungssoftware.
  • Genauigkeit: IronOCR verwendet fortschrittliche Algorithmen und maschinelles Lernen, um eine hohe Genauigkeit bei der Texterkennung zu gewährleisten, selbst bei verrauschten oder minderwertigen Bildern für Kreditorenprozesse und Skonti.
  • Sprachunterstützung: Die Bibliothek unterstützt mehrere Sprachen, darunter Englisch, Spanisch, Französisch und andere, was bei der Erkennung von Texten in verschiedenen Sprachen hilft.
  • Benutzerfreundlichkeit: IronOCR bietet eine einfache API, die es Entwicklern ermöglicht, OCR-Funktionen schnell in ihre Anwendungen zu integrieren, ohne tiefgehendes technisches Wissen über OCR-Techniken zu benötigen.
  • Barcode- und QR-Code-Erkennung: Neben der Standard-Text-Erkennung kann IronOCR auch Barcodes und QR-Codes aus Bildern erkennen und extrahieren.
  • PDF-Unterstützung: Es kann Text aus gescannten PDFs lesen und extrahieren, was es nützlich für die Verarbeitung von Rechnungen, Belegen und anderen Geschäftsdokumenten macht.
  • Anpassung: Die Bibliothek ermöglicht die Anpassung der OCR-Einstellungen für spezifische Bedürfnisse, wie das Anpassen der Genauigkeit oder das Bearbeiten unterschiedlicher Bildauflösungen.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Visual Studio ist auf Ihrem Computer installiert.
  • Grundlegende Kenntnisse der C#-Programmierung.
  • IronOCR NuGet-Paket in Ihrem Projekt installiert.

Schritt 1: Erstellen Sie ein Visual-Studio-Projekt

Öffnen Sie Visual Studio und klicken Sie auf Neues Projekt erstellen.

OCR-Rechnungsverarbeitung in C# (Entwickler-Tutorial): Abbildung 1 - Neues Projekt

Wählen Sie in den Optionen die Konsolenanwendung aus.

OCR-Rechnungsverarbeitung in C# (Entwickler-Tutorial): Abbildung 2 - Konsolenanwendung

Geben Sie den Projektnamen und den Pfad an.

OCR-Rechnungsverarbeitung in C# (Entwickler-Tutorial): Abbildung 3 - Projektkonfiguration

Wählen Sie den .NET-Versionstyp aus.

OCR-Rechnungsverarbeitung in C# (Entwickler-Tutorial): Abbildung 4 - Ziel-Framework

Schritt 2: Installieren Sie die IronOCR C#-Bibliothek

In Ihrem Projekt in Visual Studio gehen Sie zu Tools > NuGet-Paket-Manager > NuGet-Pakete für die Lösung verwalten. Klicken Sie auf die Registerkarte Durchsuchen und suchen Sie nach IronOCR. Wählen Sie IronOCR aus und klicken Sie auf Installieren.

OCR-Rechnungsverarbeitung in C# (Entwickler-Tutorial): Abbildung 5 - IronOCR

Eine weitere Möglichkeit ist die Verwendung der Konsole und des untenstehenden Befehls.

dotnet add package IronOcr --version 2024.12.2
dotnet add package IronOcr --version 2024.12.2
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronOcr --version 2024.12.2
VB   C#

Schritt 3: Beispielhafte Eingangsrechnung Bild

Beispielbild einer digitalen Rechnung mit Rechnungsnummer.

OCR-Rechnungsverarbeitung in C# (Entwickler-Tutorial): Abbildung 6 - Beispiel-Eingabe

Schritt 4: Tesseract verwenden und Daten aus dem Kassenbon-Bild extrahieren

Verwenden Sie nun den folgenden Code, um Daten aus einer Rechnung für die OCR-Rechnungsverarbeitung zu extrahieren.

using IronOcr;
License.LicenseKey = "Your License";
string filePath = "sample1.jpg"; // image for invoice OCR
// Create an instance of IronTesseract
var ocr = new IronTesseract();
// Load the image or PDF file
using (var ocrInput = new OcrInput())
{
    ocrInput.LoadImage(filePath);
    // Optionally apply filters if needed 
    ocrInput.Deskew();
    // ocrInput.DeNoise(); 
    // Read the text from the image or PDF
    var ocrResult = ocr.Read(ocrInput);
    // Output the extracted text
    Console.WriteLine("Extracted Text:");
    Console.WriteLine(ocrResult.Text);
    // next steps are to process data and use the extracted and validated data with invoice date
}
using IronOcr;
License.LicenseKey = "Your License";
string filePath = "sample1.jpg"; // image for invoice OCR
// Create an instance of IronTesseract
var ocr = new IronTesseract();
// Load the image or PDF file
using (var ocrInput = new OcrInput())
{
    ocrInput.LoadImage(filePath);
    // Optionally apply filters if needed 
    ocrInput.Deskew();
    // ocrInput.DeNoise(); 
    // Read the text from the image or PDF
    var ocrResult = ocr.Read(ocrInput);
    // Output the extracted text
    Console.WriteLine("Extracted Text:");
    Console.WriteLine(ocrResult.Text);
    // next steps are to process data and use the extracted and validated data with invoice date
}
Imports IronOcr
License.LicenseKey = "Your License"
Dim filePath As String = "sample1.jpg" ' image for invoice OCR
' Create an instance of IronTesseract
Dim ocr = New IronTesseract()
' Load the image or PDF file
Using ocrInput As New OcrInput()
	ocrInput.LoadImage(filePath)
	' Optionally apply filters if needed 
	ocrInput.Deskew()
	' ocrInput.DeNoise(); 
	' Read the text from the image or PDF
	Dim ocrResult = ocr.Read(ocrInput)
	' Output the extracted text
	Console.WriteLine("Extracted Text:")
	Console.WriteLine(ocrResult.Text)
	' next steps are to process data and use the extracted and validated data with invoice date
End Using
VB   C#

Code Erläuterung

Der bereitgestellte Code zeigt, wie die IronOCR-Bibliothek in C# verwendet wird, um Text aus einem Bild zu extrahieren.(z. B. eine Rechnung)Verwendung von OCR(Optische Zeichenerkennung). Hier ist eine Erklärung jedes Teils des Codes ohne den tatsächlichen Code:

  1. Lizenzschlüssel-Einrichtung:

    Der Code beginnt mit der Festlegung des Lizenzschlüssels für IronOCR. Dieser Schlüssel ist erforderlich, um die volle Funktionalität der Bibliothek zu nutzen. Wenn Sie über eine gültige Lizenz verfügen, ersetzen Sie "Your License" durch Ihren tatsächlichen Lizenzschlüssel.

  2. Festlegen der Eingabedatei:

    Die Variable filePath enthält den Speicherort des Bildes, das die Rechnung enthält.(in diesem Fall „sample1.jpg“). Dies ist die Datei, die zur Textextraktion verarbeitet wird.

  3. Erstellen einer OCR-Instanz:

    Eine Instanz von IronTesseract wird erstellt. IronTesseract ist die Klasse, die für die Durchführung der OCR-Operation auf den Eingabedaten verantwortlich ist.(Bild oder PDF).

  4. Bild laden:

    Der Code erstellt dann ein OcrInput-Objekt, das zum Laden des Bildes verwendet wird.(in diesem Fall eine JPG-Datei, die durch den filePath angegeben wird). Die LoadImage-Methode wird verwendet, um die Bilddatei zu laden und für die OCR vorzubereiten.

  5. Anwenden von Bildfiltern:

    Der Code enthält einen Filter-Schritt, bei dem optionale Bildverarbeitungsmethoden wie Deskew eingesetzt werden.(Korrigieren von schiefen Bildern)und DeNoise(Rauschentfernung aus dem Bild), kann angewendet werden, um die OCR-Genauigkeit zu verbessern. In diesem Fall ist nur die Deskew-Methode aktiv.

  6. Durchführung von OCR:

    • Der ocr.Lesen()Die Methode wird verwendet, um Text aus dem geladenen Bild zu extrahieren. Das ocrInput-Objekt, das das Bild enthält, wird an diese Methode übergeben, und sie gibt ein OcrResult-Objekt zurück, das den extrahierten Text enthält.
  7. Anzeigen des extrahierten Textes:

    • Der extrahierte Text wird dann in der Konsole ausgegeben. Dieser Text wurde von IronOCR aus dem Bild erkannt und kann für die weitere Verarbeitung verwendet werden.

Ausgabe

OCR-Rechnungsverarbeitung in C# (Entwickler-Tutorial): Abbildung 7 - OCR-Ausgabe mit Rechnungsnummer

Schritt 5: Nur einen Bereich eines Bildes lesen

Um die Effizienz zu verbessern, kann nur ein Teil des Bildes für die Extraktion verwendet werden.

using IronOcr;
using IronSoftware.Drawing;
License.LicenseKey = "Your Key";
string filePath = "sample1.jpg"; 
// Create an instance of IronTesseract
var ocr = new IronTesseract();
// Load the image or PDF file
using (var ocrInput = new OcrInput())
{
    var ContentArea = new Rectangle(x: 0, y: 0, width: 1000, height: 250);
    ocrInput.LoadImage(filePath, ContentArea);
    // Optionally apply filters if needed 
    ocrInput.Deskew();
    // ocrInput.DeNoise(); 
    // Read the text from the image or PDF
    var ocrResult = ocr.Read(ocrInput);
    // Output the extracted text
    Console.WriteLine("Extracted Text:");
    Console.WriteLine(ocrResult.Text);
}
using IronOcr;
using IronSoftware.Drawing;
License.LicenseKey = "Your Key";
string filePath = "sample1.jpg"; 
// Create an instance of IronTesseract
var ocr = new IronTesseract();
// Load the image or PDF file
using (var ocrInput = new OcrInput())
{
    var ContentArea = new Rectangle(x: 0, y: 0, width: 1000, height: 250);
    ocrInput.LoadImage(filePath, ContentArea);
    // Optionally apply filters if needed 
    ocrInput.Deskew();
    // ocrInput.DeNoise(); 
    // Read the text from the image or PDF
    var ocrResult = ocr.Read(ocrInput);
    // Output the extracted text
    Console.WriteLine("Extracted Text:");
    Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports IronSoftware.Drawing
License.LicenseKey = "Your Key"
Dim filePath As String = "sample1.jpg"
' Create an instance of IronTesseract
Dim ocr = New IronTesseract()
' Load the image or PDF file
Using ocrInput As New OcrInput()
	Dim ContentArea = New Rectangle(x:= 0, y:= 0, width:= 1000, height:= 250)
	ocrInput.LoadImage(filePath, ContentArea)
	' Optionally apply filters if needed 
	ocrInput.Deskew()
	' ocrInput.DeNoise(); 
	' Read the text from the image or PDF
	Dim ocrResult = ocr.Read(ocrInput)
	' Output the extracted text
	Console.WriteLine("Extracted Text:")
	Console.WriteLine(ocrResult.Text)
End Using
VB   C#

Code Erläuterung

Dieser Code extrahiert Text aus einem bestimmten Bereich eines Bildes mit IronOCR und wendet optional Filter wie das Entschiefen an, um die Genauigkeit zu verbessern. Der extrahierte Text wird dann angezeigt und ist bereit für die weitere Verwendung.

1. Lizenzinstallation:

Der erste Teil des Codes besteht darin, den Lizenzschlüssel für IronOCR festzulegen. Dies ist erforderlich, um die OCR-Funktionalität in der Bibliothek zu verwenden. Der Lizenzschlüssel sollte durch den tatsächlichen Schlüssel ersetzt werden, den Sie von IronOCR erhalten, damit Sie auf die vollständigen Funktionen der Bibliothek zugreifen können.

2. Definieren des Bilddateipfads:

Der Dateipfad des Bildes, das Sie verarbeiten möchten, wird angegeben. Dieses Bild(in diesem Fall eine JPG-Datei)enthält das Dokument oder den Inhalt, aus dem die OCR den Text extrahieren wird. Der Pfad kann auf eine Bilddatei im lokalen System oder auf einem anderen zugänglichen Speicher verweisen.

3. Erstellen einer OCR-Instanz:

Eine Instanz der IronTesseract-Klasse wird erstellt. Dieses Objekt ist der Kern-Engine, die die optische Zeichenerkennung auf dem Bild durchführen wird.

4. Definition des zu verarbeitenden Bereichs:

Ein Rechteck(Interessensgebiet)ist im Bild definiert. Dieses Rechteck gibt den Bereich des Bildes an, auf den sich die OCR-Engine konzentrieren wird. In diesem Beispiel beginnt das Rechteck in der oberen linken Ecke.(x=0, y=0)und hat eine Breite von 1000 Pixeln und eine Höhe von 250 Pixeln. Dieser Schritt hilft dem OCR-Prozess, nur den relevanten Abschnitt des Bildes zu verarbeiten, wodurch Genauigkeit und Geschwindigkeit verbessert werden.

5. Laden des Bildes:

Das Bild wird in die OCR-Engine geladen, aber nur das definierte Rechteck(der Inhaltsbereich)wird verarbeitet. Damit können Sie den Umfang von OCR auf einen bestimmten Teil des Bildes eingrenzen, was besonders nützlich ist, wenn das Bild irrelevante Bereiche, wie Hintergründe oder Logos, enthält, die Sie nicht verarbeiten möchten.

6. Anwenden von Filtern:

Der Code wendet optional einen Schräglagenkorrektur-Filter auf das Bild an. Das Entzerren ist der Prozess des Geradstellens eines Bildes, wenn es eine Neigung oder Rotation aufweist, um die Genauigkeit der OCR zu verbessern. Ein weiterer Filter, denoise, ist verfügbar, aber auskommentiert. Wenn aktiviert, würde es das Rauschen entfernen.(unerwünschte Markierungen)aus dem Bild, was die OCR-Genauigkeit weiter verbessern könnte.

7. Text extrahieren:

Die OCR-Engine liest das Bild.(oder den angegebenen Bereich davon)und extrahiert jeden erkannten Text. Das Ergebnis wird in einem Objekt gespeichert, das den erkannten Text enthält.

8. Geben Sie den extrahierten Text aus:

Schließlich wird der extrahierte Text auf die Konsole gedruckt. Dieser Text ist das Ergebnis des OCR-Prozesses und kann weiterverarbeitet, validiert oder in Anwendungen wie Dateneingabe oder Dokumentenmanagement verwendet werden.

Ausgabe

OCR-Rechnungsverarbeitung in C# (Entwickler-Tutorial): Abbildung 8 - Extrahierte Ausgabe

Lizenz (Testversion verfügbar)

IronOCR benötigt einen Schlüssel, um Daten aus Rechnungen zu extrahieren. Holen Sie sich Ihren Entwicklertestschlüssel von derlizenzierungsseite.

using IronOcr;
License.LicenseKey = "Your Key";
using IronOcr;
License.LicenseKey = "Your Key";
Imports IronOcr
License.LicenseKey = "Your Key"
VB   C#

Schlussfolgerung

Dieser Artikel lieferte ein grundlegendes Beispiel dafür, wie man mit IronOCR für die Rechnungsverarbeitung beginnen kann. Sie können diesen Code weiter anpassen und erweitern, um Ihre spezifischen Anforderungen zu erfüllen.

IronOCR bietet eine effiziente und leicht zu integrierende Lösung zur Textextraktion aus Bildern und PDFs, was es ideal für die Rechnungsverarbeitung macht. Durch die Verwendung von IronOCR in Kombination mit C#-Zeichenfolgen-Manipulation oder regulären Ausdrücken können Sie schnell wichtige Daten aus Rechnungen verarbeiten und extrahieren.

Dies ist ein einfaches Beispiel für die Rechnungsbearbeitung, und mit fortschrittlicheren Konfigurationen(wie Spracherkennung, Verarbeitung mehrseitiger PDFs usw.), können Sie die OCR-Ergebnisse anpassen, um die Genauigkeit für Ihren spezifischen Anwendungsfall zu verbessern.

Die API von IronOCR ist flexibel und kann für eine Vielzahl von OCR-Aufgaben über die Rechnungsverarbeitung hinaus verwendet werden, einschließlich Belegscannen, Dokumentenkonvertierung und Automatisierung der Dateneingabe.

NÄCHSTES >
OCR-Supermarktquittungen in C# (Entwickler-Tutorial)