Zum Fußzeileninhalt springen
OCR-WERKZEUGE

Rechnungs-OCR Maschinelles Lernen (Schritt-für-Schritt-Tutorial)

In der heutigen schnelllebigen Geschäftswelt ist die Automatisierung von Aufgaben und unstrukturierten Daten zu einer Schlüsselstrategie geworden, um Effizienz zu verbessern und manuelle Fehler zu reduzieren. Eine solche Aufgabe ist die Extraktion von Informationen aus Rechnungen oder Bestellungen, ein Prozess, der traditionell erheblichen manuellen Aufwand erforderte. Dank der Fortschritte im Bereich Machine Learning, Deep-Learning-Modelle und Softwaretechnologie zur optischen Zeichenerkennung (OCR) können Unternehmen diesen Prozess der Rechnungsinformationenextraktion nun mit Tools wie IronOCR optimieren. In diesem Artikel werden wir untersuchen, wie Machine Learning und IronOCR genutzt werden können, um die Art und Weise, wie Rechnungen verarbeitet werden, zu revolutionieren.

Verständnis des Rechnungs-OCR-Tools

OCR-Technologie gibt es schon seit einiger Zeit, doch ihre Anwendung auf die Rechnungsverarbeitung und die Extraktion von Daten hat mit dem Aufkommen des Machine Learnings einen deutlichen Schub erhalten. OCR, kurz für Optical Character Recognition, ist eine Technologie, die verschiedene Arten von Dokumenten, wie gescannte Papierdokumente mit Rechnungsinformationen, PDF-Dateien, Finanzdokumente oder Eingabebilder, die von einer Digitalkamera aufgenommen wurden, in bearbeitbare und durchsuchbare Daten umwandelt. Im Wesentlichen übersetzt es Text aus Bildern in maschinenlesbaren Text unter Verwendung von Bildvorverarbeitung.

IronOCR ist eine leistungsstarke OCR-Bibliothek, die auf Machine-Learning-Algorithmen aufbaut und in verschiedene Anwendungen und Programmiersprachen integriert werden kann, was sie zu einem vielseitigen Werkzeug für die Rechnungsverarbeitung macht. Durch die Verwendung von IronOCR können Unternehmen die Datenerfassung von Rechnungen, wie Rechnungsnummer, Datum, Anbieterdetails und Positionen, mit bemerkenswerter Genauigkeit automatisieren.

Die Vorteile der Verwendung von IronOCR für Rechnungs-OCR

Der Einsatz von IronOCR für die Rechnungsverarbeitung bietet zahlreiche Vorteile, die die Effizienz und Genauigkeit Ihrer finanziellen Abläufe in der Organisation erheblich verbessern können, wie z.B. im Bereich der Kreditorenbuchhaltung. Lassen Sie uns diese Vorteile im Detail betrachten:

1. Genauigkeit und reduzierte Fehler

IronOCR nutzt fortschrittliche Machine-Learning-Algorithmen, um Text aus Rechnungen genau zu erkennen und zu extrahieren. Dies minimiert die Chancen auf menschliche Fehler bei der Dateneingabe und stellt sicher, dass wichtige Finanzinformationen korrekt erfasst werden.

2. Zeit- und Kosteneinsparungen

Die Automatisierung der Rechnungsverarbeitung mit IronOCR reduziert erheblich die Zeit und Ressourcen, die für die manuelle Dateneingabe erforderlich sind. Dies kann zu erheblichen Kosteneinsparungen führen, indem die Arbeitszeit des Personals optimiert und die Notwendigkeit manueller Arbeit reduziert wird.

3. Verbesserte Effizienz

IronOCR kann eine große Menge an Rechnungen schnell und effizient verarbeiten. Es beseitigt die Notwendigkeit für Mitarbeiter, Daten manuell aus jeder Rechnung einzugeben, wodurch sie sich auf strategischere Aufgaben konzentrieren können.

4. Skalierbarkeit

IronOCR ist skalierbar und kann bei wachsendem Volumen von Rechnungen mit Ihrem Unternehmen expandieren. Sie müssen sich keine Sorgen über zunehmende Arbeitslasten und überbordende Arbeitseinheiten bei Ihrer Rechnungsdokumentenverarbeitung machen.

5. Globale Reichweite

IronOCR unterstützt über 125 Sprachen, sodass Unternehmen Rechnungen von Lieferanten und Kunden weltweit verarbeiten können. Unabhängig von der Sprache, in der eine Rechnung geschrieben ist, kann IronOCR Daten genau extrahieren.

6. Unterstützung für mehrere Formate

IronOCR kann Rechnungen in verschiedenen Formaten verarbeiten, einschließlich gescannter Bilder, bildbasierter PDFs und textbasierter PDFs. Diese Vielseitigkeit stellt sicher, dass Sie Rechnungen aus verschiedenen Quellen und Formaten mühelos bearbeiten können.

7. Anpassbarkeit und Datenextraktion

Sie können IronOCR anpassen, um bestimmte Datenfelder aus Rechnungen zu extrahieren, wie Rechnungsnummern, Daten, Lieferantenangaben und Artikelinformationen. Dieses Maß an Anpassung ermöglicht es Ihnen, die Lösung an Ihre spezifischen Geschäftsanforderungen anzupassen.

8. Einhaltung von Vorschriften und Audit-Trail

Die automatisierte Rechnungsverarbeitung mit IronOCR hilft, genaue Aufzeichnungen zu führen und einen Audit-Trail bereitzustellen. Dies ist entscheidend für die Einhaltung von Finanzvorschriften und die Vereinfachung des Prüfungsprozesses.

9. Reduzierter Rechnungsverarbeitungszyklus

Die optimierte und automatisierte Natur von IronOCR reduziert die Zeit, die zur Verarbeitung von Rechnungen benötigt wird, was wiederum den Rechnungsbearbeitungszyklus verkürzt. Dies kann zu schnelleren Zahlungen an Lieferanten und verbesserten Beziehungen führen.

10. Erweiterte Datenanalyse

Durch die Erstellung von Rechnungsdaten in einem strukturierten digitalen Format können Sie eine tiefergehende Datenanalyse durchführen. Dies kann helfen, Trends zu erkennen, Ausgaben zu optimieren und fundierte Finanzentscheidungen zu treffen.

Implementierung von IronOCR für die Rechnungsverarbeitung

Um IronOCR für die Rechnungsverarbeitung zu implementieren, folgen Sie diesen allgemeinen Schritten:

Schritt 1: Erstellen Sie ein neues C

Beginnen Sie damit, ein neues C#-Projekt zu erstellen oder ein bestehendes Projekt in Ihrer bevorzugten Entwicklungsumgebung (z. B. Visual Studio oder Visual Studio Code) zu öffnen. Ich verwende die Visual Studio 2022 IDE und Konsolenanwendung für diese Demonstration. Sie können dieselbe Implementierung in einem beliebigen Projekttyp verwenden, wie z. B. ASP.NET-Web-APIs, ASP.NET MVC, ASP.NET-Web-Forms oder jedem .NET Framework.

Invoice OCR Machine Learning (Step-By-Step-Tutorial): Abbildung 1 - C#-Projekt

Schritt 2: Installieren Sie IronOCR über den NuGet-Paketmanager

Um IronOCR in Ihrem Projekt zu verwenden, müssen Sie das IronOCR NuGet-Paket installieren. So geht's:

  1. Öffnen Sie die NuGet-Paket-Manager-Konsole. In Visual Studio finden Sie dies unter "Tools" > "NuGet-Paketmanager" > "Paket-Manager-Konsole".

Invoice OCR Machine Learning (Step-By-Step-Tutorial): Abbildung 2 - Paket-Manager-Konsole

  1. Führen Sie den folgenden Befehl aus, um das IronOCR-Paket zu installieren:

    Install-Package IronOcr

    Invoice OCR Machine Learning (Step-By-Step-Tutorial): Abbildung 3 - IronOCR-Installation

  2. Warten Sie, bis das Paket installiert ist. Sobald der Vorgang abgeschlossen ist, können Sie beginnen, IronOCR in Ihrem Projekt zu verwenden.

Schritt 3: Implementieren Sie OCR in Ihrem C

Nun lassen Sie uns den C#-Code schreiben, um OCR für eine Rechnung mit IronOCR durchzuführen. Wir werden die folgende Beispielformular Rechnung für dieses Beispiel verwenden.

Invoice OCR Machine Learning (Step-By-Step-Tutorial): Abbildung 4 - Beispielrechnungsvorlage

Der folgende Beispielcode wird das Rechnungsbild als Eingabe nehmen und Daten aus der Rechnung wie Rechnungsnummer, Bestellungen usw. extrahieren.

// Define the path to the invoice image
string invoicePath = @"D:\Invoices\SampleInvoice.png";

// Create an instance of IronTesseract for OCR processing
IronTesseract ocr = new IronTesseract();

// Use 'using' to ensure proper disposal of OcrInput resources
using (OcrInput input = new OcrInput())
{
    // Add the invoice image to the OCR input
    input.AddImage(invoicePath);

    // Perform OCR on the input image and store result
    OcrResult result = ocr.Read(input);

    // Output the extracted text from the image to the console
    Console.WriteLine(result.Text);
}
// Define the path to the invoice image
string invoicePath = @"D:\Invoices\SampleInvoice.png";

// Create an instance of IronTesseract for OCR processing
IronTesseract ocr = new IronTesseract();

// Use 'using' to ensure proper disposal of OcrInput resources
using (OcrInput input = new OcrInput())
{
    // Add the invoice image to the OCR input
    input.AddImage(invoicePath);

    // Perform OCR on the input image and store result
    OcrResult result = ocr.Read(input);

    // Output the extracted text from the image to the console
    Console.WriteLine(result.Text);
}
' Define the path to the invoice image
Dim invoicePath As String = "D:\Invoices\SampleInvoice.png"

' Create an instance of IronTesseract for OCR processing
Dim ocr As New IronTesseract()

' Use 'using' to ensure proper disposal of OcrInput resources
Using input As New OcrInput()
	' Add the invoice image to the OCR input
	input.AddImage(invoicePath)

	' Perform OCR on the input image and store result
	Dim result As OcrResult = ocr.Read(input)

	' Output the extracted text from the image to the console
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Der obige Code ist ein treffendes C#-Beispiel, das IronOCR verwendet, um OCR auf eine einzige Rechnungsabbildung (SampleInvoice.png) durchzuführen und die extrahierten Rechnungsdaten dann in der Konsole anzuzeigen. Stellen Sie sicher, dass Sie die invoicePath-Variable durch den Pfad zu Ihrer spezifischen Rechnungsbilddatei ersetzen.

Invoice OCR Machine Learning (Step-By-Step-Tutorial): Abbildung 5 - Rechnung-OCR-Ausgabe

Lassen Sie uns mehrere Rechnungsverarbeitungen auf einmal durchführen und deren Daten extrahieren. Das Folgende ist das Rechnungsverzeichnis, das wir als Eingabe verwenden.

Invoice OCR Machine Learning (Step-By-Step-Tutorial): Abbildung 6 - Rechnungsverzeichnis

Der folgende Beispielcode wird auf einmal eine Textextraktion von mehreren Rechnungen durchführen.

// Get all PNG files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.png");

// Create an instance of IronTesseract for OCR processing
IronTesseract ocr = new IronTesseract();

// Use 'using' to ensure proper disposal of OcrInput resources
using (OcrInput input = new OcrInput())
{
    // Loop through each file and add it to the OCR input
    foreach (string file in fileArray)
    {
        input.AddImage(file);
    }

    // Perform OCR on all the added images and store the result
    OcrResult result = ocr.Read(input);

    // Output the extracted text from all images to the console
    Console.WriteLine(result.Text);
}
// Get all PNG files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.png");

// Create an instance of IronTesseract for OCR processing
IronTesseract ocr = new IronTesseract();

// Use 'using' to ensure proper disposal of OcrInput resources
using (OcrInput input = new OcrInput())
{
    // Loop through each file and add it to the OCR input
    foreach (string file in fileArray)
    {
        input.AddImage(file);
    }

    // Perform OCR on all the added images and store the result
    OcrResult result = ocr.Read(input);

    // Output the extracted text from all images to the console
    Console.WriteLine(result.Text);
}
' Get all PNG files from the specified directory
Dim fileArray() As String = Directory.GetFiles("D:\Invoices\", "*.png")

' Create an instance of IronTesseract for OCR processing
Dim ocr As New IronTesseract()

' Use 'using' to ensure proper disposal of OcrInput resources
Using input As New OcrInput()
	' Loop through each file and add it to the OCR input
	For Each file As String In fileArray
		input.AddImage(file)
	Next file

	' Perform OCR on all the added images and store the result
	Dim result As OcrResult = ocr.Read(input)

	' Output the extracted text from all images to the console
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Der obige Code wird alle PNG-Bilder aus dem Ordner abrufen, Daten extrahieren und dann die extrahierten Daten aller Rechnungen im Ordner auf der Konsole anzeigen.

Invoice OCR Machine Learning (Step-By-Step-Tutorial): Abbildung 7 - Extrahierte Daten

Extrahierte Daten als durchsuchbare PDF-Rechnung speichern

Der folgende Code liest alle Bilder aus dem Ordner, führt Datenextraktion durch und speichert sie als eine einzelne durchsuchbare PDF-Rechnung.

// Get all PNG files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.png");

// Create an instance of IronTesseract for OCR processing
IronTesseract ocr = new IronTesseract();

// Use 'using' to ensure proper disposal of OcrInput resources
using (OcrInput input = new OcrInput())
{
    // Loop through each file and add it to the OCR input
    foreach (string file in fileArray)
    {
        input.AddImage(file);
    }

    // Perform OCR on all the added images and store the result
    OcrResult result = ocr.Read(input);

    // Save the result as a searchable PDF
    result.SaveAsSearchablePdf(@"D:\Invoices\Searchable.pdf");
}
// Get all PNG files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.png");

// Create an instance of IronTesseract for OCR processing
IronTesseract ocr = new IronTesseract();

// Use 'using' to ensure proper disposal of OcrInput resources
using (OcrInput input = new OcrInput())
{
    // Loop through each file and add it to the OCR input
    foreach (string file in fileArray)
    {
        input.AddImage(file);
    }

    // Perform OCR on all the added images and store the result
    OcrResult result = ocr.Read(input);

    // Save the result as a searchable PDF
    result.SaveAsSearchablePdf(@"D:\Invoices\Searchable.pdf");
}
' Get all PNG files from the specified directory
Dim fileArray() As String = Directory.GetFiles("D:\Invoices\", "*.png")

' Create an instance of IronTesseract for OCR processing
Dim ocr As New IronTesseract()

' Use 'using' to ensure proper disposal of OcrInput resources
Using input As New OcrInput()
	' Loop through each file and add it to the OCR input
	For Each file As String In fileArray
		input.AddImage(file)
	Next file

	' Perform OCR on all the added images and store the result
	Dim result As OcrResult = ocr.Read(input)

	' Save the result as a searchable PDF
	result.SaveAsSearchablePdf("D:\Invoices\Searchable.pdf")
End Using
$vbLabelText   $csharpLabel

Der Code ist beinahe in allen Beispielen ähnlich; wir machen nur leichte Änderungen, um verschiedene Anwendungsfälle zu demonstrieren. Das Ausgabe-PDF ist unten gezeigt:

Invoice OCR Machine Learning (Step-By-Step-Tutorial): Abbildung 8 - PDF-Ausgabe

Auf diese Weise bietet IronPDF die einfachste Möglichkeit, die Rechnungsverarbeitung und Dokumentenverarbeitung zu automatisieren.

Rechnungsdaten aus PDF-Rechnungen extrahieren

Um Daten aus PDF-Rechnungen mit IronOCR zu extrahieren, können Sie einen ähnlichen Ansatz wie im vorherigen Code-Beispiel folgen. IronOCR ist in der Lage, sowohl bildbasierte als auch textbasierte PDFs zu verarbeiten. Hier ist ein kurzes Beispiel, wie Sie Daten aus einer PDF-Rechnung extrahieren:

// Get all PDF files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.pdf");

// Create an instance of IronTesseract for OCR processing
IronTesseract ocr = new IronTesseract();

// Use 'using' to ensure proper disposal of OcrInput resources
using (OcrInput input = new OcrInput())
{
    // Loop through each file and add it to the OCR input
    foreach (string file in fileArray)
    {
        input.AddPdf(file);
    }

    // Perform OCR on all the added PDFs and store the result
    OcrResult result = ocr.Read(input);

    // Output the extracted text from all PDFs to the console
    Console.WriteLine(result.Text);
}
// Get all PDF files from the specified directory
string[] fileArray = Directory.GetFiles(@"D:\Invoices\", "*.pdf");

// Create an instance of IronTesseract for OCR processing
IronTesseract ocr = new IronTesseract();

// Use 'using' to ensure proper disposal of OcrInput resources
using (OcrInput input = new OcrInput())
{
    // Loop through each file and add it to the OCR input
    foreach (string file in fileArray)
    {
        input.AddPdf(file);
    }

    // Perform OCR on all the added PDFs and store the result
    OcrResult result = ocr.Read(input);

    // Output the extracted text from all PDFs to the console
    Console.WriteLine(result.Text);
}
' Get all PDF files from the specified directory
Dim fileArray() As String = Directory.GetFiles("D:\Invoices\", "*.pdf")

' Create an instance of IronTesseract for OCR processing
Dim ocr As New IronTesseract()

' Use 'using' to ensure proper disposal of OcrInput resources
Using input As New OcrInput()
	' Loop through each file and add it to the OCR input
	For Each file As String In fileArray
		input.AddPdf(file)
	Next file

	' Perform OCR on all the added PDFs and store the result
	Dim result As OcrResult = ocr.Read(input)

	' Output the extracted text from all PDFs to the console
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Der obige Code verarbeitet effizient in einem Stapelverfahren mehrere PDF-Rechnungen, die sich in einem Verzeichnis ("D:\Invoices\") befinden, mit IronOCR. Er ruft die Dateipfade ab, fügt jede PDF zur OCR-Verarbeitung hinzu, kombiniert den extrahierten Text und gibt das Ergebnis in der Konsole aus. Dieser Ansatz rationalisiert die Rechnungsdatenextraktion für Organisationen, die mit einer großen Anzahl von Rechnungen zu tun haben, steigert die Effizienz und reduziert die manuelle Arbeit.

Invoice OCR Machine Learning (Step-By-Step-Tutorial): Abbildung 9 - Extrakt-Ausgabe

Abschluss

Zusammenfassend lässt sich sagen, dass die Verschmelzung von Machine Learning und fortschrittlicher OCR-Technologie wie IronOCR die Art und Weise, wie Rechnungen verarbeitet werden, neu gestaltet. Dieser Artikel hat Sie durch die Verwendung von IronOCR geführt und seine bemerkenswerten Vorteile dargestellt. Durch die Einführung von IronOCR können Unternehmen eine höhere Genauigkeit erzielen, Zeit und Geld sparen und mühelos Rechnungen in verschiedenen Formaten und Sprachen bearbeiten. Die Beseitigung manueller Dateneingabe erhöht nicht nur die Effizienz, sondern reduziert auch die Wahrscheinlichkeit teurer Fehler bei Finanztransaktionen. IronOCR vereinfacht und verbessert den Workflow der Rechnungsverarbeitung, was es zu einer intelligenten Wahl für Unternehmen macht, die ihre Finanzabläufe in der heutigen wettbewerbsorientierten Umgebung verbessern möchten. Darüber hinaus bietet IronOCR eine Reihe leistungsstarker Funktionen, einschließlich Unterstützung für über 125 Sprachen, anpassbare Datenextraktion und Kompatibilität mit bildbasierten und textbasierten PDFs.

While IronOCR's feature set is impressive, it's also noteworthy that IronOCR's pricing model is designed to accommodate a wide range of business needs, offering flexible options with a free trial for both small enterprises and larger corporations. Egal, ob Sie nur wenige Rechnungen verarbeiten oder mit einer großen Menge an Finanzdokumenten umgehen, IronOCR ist eine zuverlässige und kostengünstige Lösung.

Kannaopat Udonpant
Software Ingenieur
Bevor er Software-Ingenieur wurde, absolvierte Kannapat ein PhD in Umweltressourcen an der Hokkaido University in Japan. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Fakultät für Bioproduktionstechnik ist. Im Jahr 2022 nutzte er seine C#-Kenntnisse, um dem Engineering-Team von Iron Software ...
Weiterlesen