Zum Fußzeileninhalt springen
VERWENDUNG VON IRONOCR

Wie man eine PDF-Datei OCR: Extrahieren von Text aus gescannten Dokumenten mit C# .NET OCR PDF

Eingescannte PDF-Dokumente stellen eine häufige Herausforderung für .NET-Entwickler dar: Der Text liegt nur als Bild vor, so dass es unmöglich ist, ihn zu suchen, zu kopieren oder programmatisch zu verarbeiten. Die OCR-Technologie (Optical Character Recognition) löst dieses Problem, indem sie gescannte Bilder und Bilddateien in bearbeitbare und durchsuchbare Daten umwandelt - gescannte Papierdokumente, mit einer Digitalkamera aufgenommene Bilder oder durchsuchbare PDF-Dateien werden in maschinenlesbaren Text umgewandelt. Ob es um die Digitalisierung von Papierarchiven, die Automatisierung der Datenextraktion oder die Entwicklung von KI-gestützten Dokumentenverarbeitungsanwendungen geht, die Fähigkeit, PDF-Dateien mit optischer Zeichenerkennung zu konvertieren, ist unerlässlich. IronOCR ist eine leistungsstarke .NET OCR-Bibliothek, die einen optimierten Ansatz für die PDF-OCR in C# bietet. Diese .NET-Bibliothek für optische Zeichenerkennung basiert auf der Tesseract OCR-Engine mit verbesserter Genauigkeit und ermöglicht die Extraktion von Text aus beliebigen PDF-Dokumenten mit nur wenigen Zeilen Code.

IronOCR ist eine leistungsstarke OCR-Bibliothek für .NET, die einen optimierten Ansatz für PDF OCR in C# bietet. Diese .NET-Bibliothek für optische Zeichenerkennung basiert auf der Tesseract OCR-Engine mit verbesserter Genauigkeit und ermöglicht die Extraktion von Text aus beliebigen PDF-Dokumenten mit nur wenigen Zeilen Code.

Wie kann ich OCR für ein PDF in C# durchführen?

Installieren Sie zunächst die IronOCR-Bibliothek über den NuGet Package Manager, um diese leistungsstarke OCR-Engine zu Ihrem System hinzuzufügen:

Install-Package IronOcr

Das folgende Beispiel zeigt, wie man eine PDF-Datei lädt und Text aus einem ganzen gescannten Dokument erkennt:

using IronOcr;
// Initialize the OCR engine
IronTesseract ocr = new IronTesseract();
// Load the PDF and perform OCR
using var pdfInput = new OcrPdfInput("scanned-report.pdf");
OcrResult result = ocr.Read(pdfInput);
// Output the extracted text
string extractedText = result.Text;
Console.WriteLine(extractedText);
using IronOcr;
// Initialize the OCR engine
IronTesseract ocr = new IronTesseract();
// Load the PDF and perform OCR
using var pdfInput = new OcrPdfInput("scanned-report.pdf");
OcrResult result = ocr.Read(pdfInput);
// Output the extracted text
string extractedText = result.Text;
Console.WriteLine(extractedText);
$vbLabelText   $csharpLabel

Die Klasse IronTesseract dient als primäre OCR-Engine und umhüllt Tesseract 5 mit Optimierungen für .NET Core- und .NET Framework-Anwendungen. Das OcrPdfInput-Objekt wickelt das Laden von PDF-Dateien und das Rendern von Seiten intern ab, so dass die manuelle Konvertierung von Bildformaten entfällt. Wenn Sie die Methode Lesen aufrufen, analysiert der OCR-Prozess jede Seite und gibt ein OcrResult zurück, das den extrahierten Text als Zeichenkette zusammen mit strukturierten Daten über Absätze, Zeilen, Wörter und deren Positionen enthält. Die Benutzer können die Ausgabe dann in einer TXT-Datei, einem Zielordner oder einem Word-Dokument speichern oder die API verwenden, um die Daten weiter zu verarbeiten.

Eingabe

Wie man ein PDF OCR: Extrahieren von Text aus gescannten Dokumenten mit C# .NET OCR PDF: Bild 1 - Beispielhafte PDF-Eingabe

Ausgabe

Wie man ein PDF OCR: Extrahieren von Text aus gescannten Dokumenten mit C# .NET OCR PDF: Bild 2 - Konsolenausgabe

Wie lese ich bestimmte Seiten aus einer PDF-Datei?

Die Verarbeitung umfangreicher Textdokumente wird effizienter, wenn Sie sich nur auf die benötigten Seiten konzentrieren. Übergeben Sie eine Liste von Seitenindizes an den Parameter PageIndices, um gescannte PDF-Seiten selektiv zu konvertieren:

using IronOcr;
using System.Collections.Generic;
IronTesseract ocr = new IronTesseract();
// Specify pages to process (zero-based indexing)
List<int> targetPages = new List<int>() { 0, 2, 4 };
using var pdfInput = new OcrPdfInput("lengthy-document.pdf", PageIndices: targetPages);
OcrResult result = ocr.Read(pdfInput);
// Save or process the OCR results
Console.WriteLine(result.Text);
using IronOcr;
using System.Collections.Generic;
IronTesseract ocr = new IronTesseract();
// Specify pages to process (zero-based indexing)
List<int> targetPages = new List<int>() { 0, 2, 4 };
using var pdfInput = new OcrPdfInput("lengthy-document.pdf", PageIndices: targetPages);
OcrResult result = ocr.Read(pdfInput);
// Save or process the OCR results
Console.WriteLine(result.Text);
$vbLabelText   $csharpLabel

Beachten Sie, dass IronOCR eine nullbasierte Indizierung verwendet, so dass Seite 0 die erste Seite Ihres PDF-Dokuments darstellt. Dieser selektive Ansatz reduziert die Verarbeitungszeit und den Speicherbedarf bei der Arbeit mit mehrseitigen gescannten Dokumenten, bei denen nur bestimmte Abschnitte relevante durchsuchbare Daten enthalten.

Wie kann ich Daten aus einer bestimmten Region extrahieren?

Die Verarbeitung von Rechnungen, die Digitalisierung von Formularen und das Parsen von Dokumenten erfordern häufig die Extraktion von Text aus bestimmten Bereichen und nicht aus ganzen Seiten. Mit diesem OCR-Tool können Sie gezielte Scans mit dem Parameter ContentAreas erstellen, der ein Array von Rechtecken akzeptiert, die die zu verarbeitenden Regionen angeben:

using IronOcr;
using IronSoftware.Drawing;
using System;
IronTesseract ocr = new IronTesseract();
// Define the scan region (x, y, width, height in pixels)
Rectangle[] invoiceFields = {
    new Rectangle(130, 290, 250, 50)   // Invoice number area
};
using var pdfInput = new OcrPdfInput("invoice.pdf", ContentAreas: invoiceFields);
OcrResult result = ocr.Read(pdfInput);
// Extract and output the structured data
Console.WriteLine(result.Text);
using IronOcr;
using IronSoftware.Drawing;
using System;
IronTesseract ocr = new IronTesseract();
// Define the scan region (x, y, width, height in pixels)
Rectangle[] invoiceFields = {
    new Rectangle(130, 290, 250, 50)   // Invoice number area
};
using var pdfInput = new OcrPdfInput("invoice.pdf", ContentAreas: invoiceFields);
OcrResult result = ocr.Read(pdfInput);
// Extract and output the structured data
Console.WriteLine(result.Text);
$vbLabelText   $csharpLabel

Der Rectangle-Konstruktor nimmt vier Parameter entgegen: X-Position, Y-Position, Breite und Höhe - alle gemessen in Pixeln von der linken oberen Ecke der Seite. Dieser gezielte Texterkennungsansatz verbessert sowohl die Geschwindigkeit als auch die Genauigkeit erheblich, da sich die OCR-Engine auf bestimmte Inhaltsbereiche konzentriert, anstatt irrelevante Hintergrundelemente zu verarbeiten. Kombinieren Sie bei der Stapelverarbeitung von Rechnungen die Extraktion von Regionen mit der Iteration durch Ergebnisseiten, um bearbeitbare strukturierte Daten aus mehreren PDF-Dateien zu erstellen.

Eingabe

Wie man ein PDF OCR: Extrahieren von Text aus gescannten Dokumenten mit C# .NET OCR PDF: Bild 3 - Beispielrechnung

Ausgabe

Wie man ein PDF OCR: Extrahieren von Text aus gescannten Dokumenten mit C# .NET OCR PDF: Bild 4 - Extrahierte Datenausgabe

Wie verbessere ich die OCR-Genauigkeit bei gescannten Dokumenten?

Gescannte Papierdokumente aus der realen Welt weisen oft Qualitätsprobleme auf: schiefe Seiten, niedrige Auflösung oder digitales Rauschen durch die Scansoftware. IronOCR enthält Vorverarbeitungsfilter, die diese Herausforderungen angehen und dabei helfen, Bildqualitätsprobleme in eine genaue Textkonvertierung umzuwandeln:

using IronOcr;
IronTesseract ocr = new IronTesseract();
using var input = new OcrInput();
// Load PDF with higher DPI for better text recognition
input.LoadPdf("poor-quality-scan.pdf", DPI: 300);
// Apply image correction filters to process scanned images
input.Deskew();   // Straighten rotated pages
input.DeNoise();  // Remove scanning artifacts
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
using IronOcr;
IronTesseract ocr = new IronTesseract();
using var input = new OcrInput();
// Load PDF with higher DPI for better text recognition
input.LoadPdf("poor-quality-scan.pdf", DPI: 300);
// Apply image correction filters to process scanned images
input.Deskew();   // Straighten rotated pages
input.DeNoise();  // Remove scanning artifacts
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
$vbLabelText   $csharpLabel

Der DPI-Parameter steuert die Auflösung, mit der PDF-Seiten vor dem OCR-Prozess gerendert werden. Höhere Werte (200-300 DPI) verbessern die Genauigkeit bei Dokumenten mit kleinem Text. Die Methode Deskew erkennt und korrigiert automatisch die Seitendrehung, während DeNoise Flecken und Artefakte entfernt, die die optische Zeichenerkennung (OCR) stören. Für Dokumente, die zusätzliche Bildanpassungen erfordern, bietet IronOCR Kontrastverbesserung, Binarisierung und andere Werkzeuge zur Bearbeitung der Bildqualität.

Diese .NET OCR-Bibliothek verarbeitet auch kennwortgeschützte PDF-Dokumente, indem sie während der Eingabeerstellung Anmeldedaten akzeptiert. Die Software unterstützt mehr als 125 Sprachpakete und ermöglicht die OCR von internationalen Dokumenten. Neben Standard-PDF-Dateien kann IronOCR auch PNG-, TIFF- (einschließlich mehrseitiger TIFF-Dateien) und andere Bildformate verarbeiten. Die Bereitstellung funktioniert nahtlos unter Windows, Linux, macOS und auf Cloud-Plattformen wie Azure und Docker-Containern.

Abschluss

IronOCR verwandelt die komplexe Aufgabe der PDF-Textextraktion in einen unkomplizierten Vorgang. Vom grundlegenden Lesen von Dokumenten bis hin zur gezielten Extraktion von Regionen und der Vorverarbeitung anspruchsvoller gescannter Bilder bewältigt diese OCR-Bibliothek die technische Komplexität und stellt gleichzeitig eine saubere C#-API bereit, die mit .NET Core und .NET Framework funktioniert.

Die obigen Code-Beispiele demonstrieren die Kernfunktionalität, aber IronOCR geht noch weiter, indem es Barcodes und QR-Codes liest, durchsuchbare PDF-Dateien erstellt, um gescannte PDF-Dateien in bearbeitbare, durchsuchbare Dokumente zu konvertieren, und strukturierte Daten ausgibt, einschließlich Vertrauensbewertungen und Textpositionierung. Entdecken Sie die vollständige API-Referenz für fortgeschrittene Implementierungen - oder probieren Sie die Funktionen der kostenlosen Pro-Version während Ihrer Testphase aus.

Erwerben Sie eine Lizenz, um IronOCR in Produktionsumgebungen für .NET-Anwendungen einzusetzen, oder sprechen Sie mit unserem technischen Team, um eine projektspezifische Anleitung zu erhalten.

Sind Sie bereit, OCR in Ihren .NET-Anwendungen durchzuführen? Starten Sie mit einer kostenlosen Testversion, um den vollen Funktionsumfang zu erkunden und das SDK herunterzuladen.

Häufig gestellte Fragen

Was ist OCR und warum ist es für .NET-Entwickler wichtig?

OCR (Optical Character Recognition) ist eine Technologie, die gescannte Bilder und PDF-Dateien in editierbaren und durchsuchbaren Text umwandelt. Dies ist entscheidend für .NET-Entwickler, die Dokumentbilder programmatisch verarbeiten müssen, um Funktionen wie das Suchen und Kopieren von Text zu ermöglichen.

Wie verbessert IronOCR den OCR-Prozess?

IronOCR verbessert den OCR-Prozess, indem es auf der Tesseract OCR-Engine aufbaut und eine verbesserte Genauigkeit und einen rationalisierten Ansatz für die Extraktion von Text aus gescannten Dokumenten in C# bietet.

Kann IronOCR PDF-Dateien direkt für die Textextraktion verarbeiten?

Ja, IronOCR kann PDF-Dateien direkt verarbeiten und ermöglicht es Entwicklern, mit nur wenigen Zeilen C#-Code Text aus gescannten PDF-Dokumenten zu extrahieren.

Welche Dokumenttypen kann IronOCR verarbeiten?

IronOCR kann eine Vielzahl von Dokumenten verarbeiten, darunter gescannte Papierdokumente, mit Digitalkameras aufgenommene Bilder und durchsuchbare PDF-Dateien, und sie in maschinenlesbaren Text umwandeln.

Ist IronOCR für die Automatisierung von Datenextraktionsaufgaben geeignet?

IronOCR eignet sich hervorragend für die Automatisierung von Datenextraktionsaufgaben, da es gescannte Bilder in strukturierte, bearbeitbare Daten umwandeln kann, was die Arbeitsabläufe rationalisiert und die Produktivität steigert.

Welche Vorteile bietet der Einsatz von IronOCR für KI-gestützte Anwendungen zur Dokumentenverarbeitung?

IronOCR bietet den Vorteil, dass Dokumente in maschinenlesbaren Text umgewandelt werden können, was für den Aufbau von KI-gestützten Dokumentenverarbeitungsanwendungen, die Texterkennungs- und -analysefunktionen erfordern, unerlässlich ist.

Wie einfach ist es, IronOCR in ein C#-Projekt zu implementieren?

Die Implementierung von IronOCR in einem C#-Projekt ist unkompliziert und erfordert nur wenige Codezeilen, um die OCR-Funktionen zu integrieren und Text aus Dokumenten zu extrahieren.

Verbessert IronOCR die OCR-Engine von Tesseract?

Ja, IronOCR baut auf der Tesseract OCR-Engine auf und verbessert deren Genauigkeit und Leistung, um hervorragende Texterkennungsergebnisse zu erzielen.

Kann IronOCR für die Digitalisierung von Papierarchiven verwendet werden?

Ja, IronOCR eignet sich gut für die Digitalisierung von Papierarchiven, da es gescannte Papierdokumente in durchsuchbaren und bearbeitbaren digitalen Text umwandeln kann, was die Dokumentenverwaltung erleichtert.

Welche Programmiersprachen unterstützt IronOCR für die OCR-Implementierung?

IronOCR unterstützt die OCR-Implementierung in C# und ist damit ein leistungsstarkes Werkzeug für Entwickler, die im .NET Framework arbeiten.

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