Dieses Szenario dient dazu, alle möglichen Daten aus einem Dokument zu extrahieren und strukturiert zu speichern. Das Ergebnis ist eine JSON-Datei, die die Struktur des Dokuments abbildet. Sie enthält alle Dokumentobjekte: gedruckten und handschriftlich erkannten Text, Tabellen, Barcodes, Häkchen und Bilder mit ihrer Position und ihren Attributen. Dieses Format eignet sich optimal für die Weiterverarbeitung, die Speicherung von Daten in einer Datenbank oder die Integration in eine andere Anwendung. In diesem Szenario durchläuft ein Dokument mehrere Verarbeitungsschritte:Documentation Index
Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
Use this file to discover all available pages before exploring further.
- Vorverarbeitung gescannter Bilder oder Fotos Bilder, die Sie mit einem Scanner oder einer Digitalkamera erfassen, müssen vor der optischen Erkennung möglicherweise noch nachbearbeitet werden. So müssen beispielsweise verrauschte Bilder oder Bilder mit verzerrten Textzeilen korrigiert werden, damit die optische Erkennung erfolgreich durchgeführt werden kann.
- Strukturierte Extraktion aller Daten aus dem Dokument Bei der Layout-Analyse werden verschiedene Objekte im Bild erkannt und Blöcken des entsprechenden Typs zugeordnet. Die Blöcke werden mit den optimalen Einstellungen für ihren jeweiligen Typ erkannt. Im Zuge der Synthese wird die logische Struktur des Dokuments konsistent wiederhergestellt. Die Reihenfolge des Textes bleibt selbst bei komplexen Layouts so erhalten, dass sie dem menschlichen Leseverhalten entspricht. Dadurch wird sichergestellt, dass eine erneute Erkennung desselben Dokuments zur gleichen Textreihenfolge führt.
- Export in ein strukturiertes Format Das erkannte Dokument wird als JSON oder XML gespeichert.
Implementierung des Szenarios
Die in diesem Thema bereitgestellten Codebeispiele sind Windows-spezifisch.
Schritt 1. ABBYY FineReader Engine laden
Schritt 1. ABBYY FineReader Engine laden
Um mit ABBYY FineReader Engine zu arbeiten, müssen Sie zunächst das Engine-Objekt erstellen. Das Engine-Objekt ist das übergeordnete Objekt in der Hierarchie der ABBYY FineReader Engine-Objekte und bietet verschiedene globale Einstellungen, einige Verarbeitungsmethoden sowie Methoden zum Erstellen weiterer Objekte.Um das Engine-Objekt zu erstellen, können Sie die Funktion InitializeEngine verwenden. Siehe auch andere Möglichkeiten zum Laden des Engine-Objekts (Win).
C#
C++ (COM)
Schritt 2. Laden der Einstellungen für das Szenario
Schritt 2. Laden der Einstellungen für das Szenario
ABBYY FineReader Engine ermöglicht das Laden aller Verarbeitungseinstellungen, die für dieses Szenario am besten geeignet sind, mithilfe der Methode LoadPredefinedProfile des Objekts Engine. Diese Methode verwendet den Profilnamen als Eingabeparameter. Weitere Informationen finden Sie unter Arbeiten mit Profilen.Die Einstellungen für dieses Szenario sind im vordefinierten Profil DataExtraction verfügbar:Wenn Sie die Verarbeitungseinstellungen ändern möchten, verwenden Sie die entsprechenden Parameterobjekte. Weitere Informationen finden Sie im Abschnitt Zusätzliche Optimierung weiter unten.
- Layout-Analyse und Erkennung priorisieren Genauigkeit vor Geschwindigkeit.
- Erkennt den gesamten Text in einem Bild, einschließlich handschriftlichem Text und kleiner Textbereiche von geringer Qualität.
- Erkennt Tabellen, Häkchen und Barcodes.
- Die logische Struktur eines Dokuments wird vollständig synthetisiert.
C#
C++ (COM)
Schritt 3. Laden und Vorverarbeiten der Bilder
Schritt 3. Laden und Vorverarbeiten der Bilder
ABBYY FineReader Engine stellt das Objekt FRDocument bereit, mit dem mehrseitige Dokumente verarbeitet werden können. Mit diesem Objekt können Sie die logische Struktur des Dokuments beibehalten und dabei den ursprünglichen Text, Spalten, Schriftarten, Stile usw. erhalten.Um Bilder eines einzelnen Dokuments zu laden und vorzuverarbeiten, sollten Sie das Objekt FRDocument erstellen und ihm Bilder hinzufügen. Sie können dazu eine der folgenden Möglichkeiten verwenden:
- Erstellen Sie das Objekt FRDocument mit der Methode CreateFRDocumentFromImage des Objekts Engine. Diese Methode erstellt das Objekt FRDocument und lädt Bilder aus der angegebenen Datei.
- Erstellen Sie das Objekt FRDocument mithilfe der Methode CreateFRDocument des Objekts Engine und fügen Sie dann Bilder aus einer Datei zum erstellten Objekt FRDocument hinzu (verwenden Sie dazu die Methode AddImageFile, AddImageFileWithPassword oder AddImageFileWithPasswordCallback des Objekts FRDocument).
C#
C++ (COM)
Schritt 4. Dokumenterkennung
Schritt 4. Dokumenterkennung
Zum Erkennen eines Dokuments empfehlen wir, die Analyse- und Erkennungsmethoden des FRDocument-Objekts zu verwenden. Dieses Objekt bietet eine Vielzahl von Methoden für Dokumentanalyse, Erkennung und Synthese. Die komfortabelste Methode, die Dokumentanalyse, Erkennung und Synthese in einem einzigen Schritt ermöglicht, ist die Methode Process. Sie nutzt außerdem die Möglichkeiten zur parallelen Verarbeitung auf Multiprozessor- und Multicore-Systemen besonders effizient. Sie können die einzelnen Schritte Vorverarbeitung, Analyse, Erkennung und Synthese jedoch auch nacheinander mit den Methoden Preprocess, Analyze, Recognize und Synthesize ausführen.
C#
C++ (COM)
Schritt 5. Dokumentexport
Schritt 5. Dokumentexport
Zum Speichern eines erkannten Dokuments können Sie die Methode Export des Objekts FRDocument verwenden, indem Sie die Konstante FileExportFormatEnum als einen der Parameter angeben. Sie können die Standardparameter für den Export über das entsprechende Exportobjekt ändern. Weitere Informationen finden Sie weiter unten unter Zusätzliche Optimierung für bestimmte Aufgaben.Nachdem Sie die Arbeit mit dem FRDocument-Objekt abgeschlossen haben, geben Sie alle von diesem Objekt verwendeten Ressourcen frei. Verwenden Sie dazu die Methode IFRDocument::Close.
C#
C++ (COM)
Schritt 6. ABBYY FineReader Engine entladen
Schritt 6. ABBYY FineReader Engine entladen
Nachdem Sie die Arbeit mit ABBYY FineReader Engine abgeschlossen haben, müssen Sie das Engine-Objekt entladen. Verwenden Sie dazu die exportierte Funktion DeinitializeEngine.
C#
C++ (COM)
Erforderliche Ressourcen
Zusätzliche Optimierung für bestimmte Aufgaben
- Scannen - nur unter Windows
- Scannen
Beschreibung des ABBYY FineReader Engine-Szenarios zum Scannen von Dokumenten.
- Scannen
- Erkennung
- Parameter für Vorverarbeitung, Analyse, Erkennung und Synthese optimieren
Anpassung der Dokumentverarbeitung mithilfe von Objekten für Analyse-, Erkennungs- und Syntheseparameter. - PageProcessingParams-Objekt
Dieses Objekt ermöglicht die Anpassung von Analyse- und Erkennungsparametern. Damit können Sie festlegen, welche Bild- und Texteigenschaften erkannt werden sollen (invertiertes Bild, Ausrichtung, Barcodes, Erkennungssprache, Fehlertoleranz bei der Erkennung). - SynthesisParamsForPage-Objekt
Dieses Objekt enthält Parameter für die Wiederherstellung der Seitenformatierung während der Synthese. - SynthesisParamsForDocument-Objekt
Dieses Objekt ermöglicht die Anpassung der Dokumentsynthese: die Wiederherstellung von Struktur und Formatierung. - MultiProcessingParams-Objekt - Implementiert für Linux und Windows
Die gleichzeitige Verarbeitung kann bei der Verarbeitung einer großen Anzahl von Bildern nützlich sein. In diesem Fall wird die Verarbeitungslast beim Öffnen und Vorverarbeiten von Bildern, bei der Layout-Analyse, Erkennung und beim Export auf die Prozessorkerne verteilt, wodurch sich die Verarbeitung beschleunigen lässt.
Die Verarbeitungsmodi (simultan oder nacheinander) werden über die Eigenschaft MultiProcessingMode festgelegt. Die Eigenschaft RecognitionProcessesCount steuert die Anzahl der Prozesse, die gestartet werden können.
- Parameter für Vorverarbeitung, Analyse, Erkennung und Synthese optimieren
- Export
- Exportparameter optimieren
Anpassung des Dokumentexports mithilfe von Objekten für Exportparameter. - XMLExportParams-Objekt
Dieses Objekt stellt die Einstellungen für den Export in das XML-Format bereit. - JsonExportParams-Objekt
Dieses Objekt stellt die Einstellungen für den Export in das JSON-Format bereit.
- Exportparameter optimieren
