Zum Hauptinhalt springen
Bei der Arbeit mit Papierdokumenten müssen Fehler oder absichtlich vorgenommene Änderungen erkannt und korrigiert werden. Verwenden Sie die Document Comparison API, um solche Änderungen schnell und effizient zu finden. Dieses Szenario wird verwendet, um besonders wichtige Dokumente wie Verträge und Bankunterlagen mit ihren Kopien zu vergleichen. Das Vergleichsergebnis enthält Informationen über Unterschiede im Inhaltstyp (nur Text), die Art der Änderung (gelöscht, eingefügt oder geändert) sowie deren Positionen im Original und in der Kopie. Sie können die Liste der erkannten Unterschiede oder die Region einer beliebigen Änderung abrufen und das Vergleichsergebnis zur weiteren Verarbeitung oder langfristigen Speicherung in einer externen Datei speichern. Um Dokumente oder Seiten zu vergleichen, durchlaufen durch Scannen erfasste oder in einem elektronischen Format gespeicherte Dateien in der Regel mehrere Verarbeitungsschritte, von denen jeder seine eigenen Besonderheiten aufweist:
  1. Vorverarbeitung gescannter Dateien oder Bilder
Die Dateien und ihre Kopien müssen vor der Erkennung vorverarbeitet werden, wenn sie Mängel oder absichtlich angebrachte Vermerke wie Unterschriften oder Stempel enthalten.
  1. Erkennung mit vollständiger Wiederherstellung der Dokumentstruktur und Formatierung
Bei der Erkennung eines Dokuments werden verschiedene Layoutelemente des Dokuments identifiziert (Text, Tabellen, Bilder, Separatoren usw.). Im Verlauf der Dokumentsynthese wird die logische Struktur des Dokuments wiederhergestellt, während die Seitensynthese eine vollständige Wiederherstellung der Dokumentformatierung (Schriftarten, Stile usw.) ermöglicht.
  1. Vergleich von Dokumenten oder Seiten
Um Dokumente oder Seiten mit ihren Kopien zu vergleichen, verwenden Sie Dateien, die mit ABBYY FineReader Engine erkannt wurden. Dabei können Sie zwei Versionen eines Dokuments in unterschiedlichen Formaten verwenden. Nach dem Vergleich erhalten Sie ein Ergebnis mit einer Liste der Änderungen, anhand derer Sie Informationen über deren Position abrufen können. Wenn Sie eine manuelle Verifizierung verwenden, können Sie diese Informationen nutzen, um Änderungen im Text hervorzuheben und so dem Operator die Arbeit zu erleichtern.
  1. Export in ein externes Format
Sie können das Vergleichsergebnis auch im XML- und DOCX-Format speichern. Das unten beschriebene Verfahren wird auch durch das Dokumentenvergleich-Beispiel für Linux und macOS sowie durch das Windows-Demotool Dokumentenvergleich veranschaulicht.

Implementierung des Szenarios

Die in diesem Thema bereitgestellten Codebeispiele sind Windows-spezifisch.
Nachfolgend finden Sie eine detaillierte Beschreibung der empfohlenen Methode zur Verwendung von ABBYY FineReader Engine in diesem Szenario.
Um mit ABBYY FineReader Engine zu arbeiten, müssen Sie das Objekt Engine erstellen. Das Engine-Objekt ist das oberste Objekt in der Hierarchie der ABBYY FineReader Engine-Objekte und stellt verschiedene globale Einstellungen, einige Verarbeitungsmethoden sowie Methoden zum Erstellen anderer Objekte bereit.Zum Erstellen des Engine-Objekts können Sie die Funktion InitializeEngine verwenden. Siehe auch weitere Möglichkeiten zum Laden des Engine-Objekts (Win).

C#

ABBYY FineReader Engine stellt das FRDocument-Objekt bereit, mit dem mehrseitige Dokumente verarbeitet werden können. Mit diesem Objekt können Sie die logische Struktur des Dokuments beibehalten und den ursprünglichen Text sowie Spalten, Schriftarten, Stile usw. erhalten. Verwenden Sie das FRPage-Objekt, wenn Sie Seiten miteinander vergleichen möchten.Um Bilder eines einzelnen Dokuments zu laden und vorzuverarbeiten, sollten Sie das FRDocument-Objekt erstellen und ihm Bilder hinzufügen. Dazu haben Sie folgende Möglichkeiten:

C#

Um ein Dokument zu erkennen, empfehlen wir die Analyse- und Erkennungsmethoden des FRDocument-Objekts. Dieses Objekt bietet eine ganze Reihe von Methoden für Dokumentanalyse, Erkennung und Synthese. Die komfortabelste Methode, die Dokumentanalyse, Erkennung und Synthese in einem Schritt bereitstellt, ist die Process-Methode. Außerdem nutzt sie die Möglichkeiten zur gleichzeitigen Verarbeitung auf Multiprozessor- und Multicore-Systemen besonders effizient. Sie können die aufeinanderfolgenden Schritte Vorverarbeitung, Analyse, Erkennung und Synthese jedoch auch mit den Methoden Preprocess, Analyze, Recognize und Synthesize ausführen.
Sie können die Erkennungsparameter für Ihre Dokumente festlegen, indem Sie ein geeignetes vordefiniertes Profil laden (weitere Informationen finden Sie unter Arbeiten mit Profilen).

C#

So vergleichen Sie Dokumente oder Seiten mit ihren Kopien:
  1. Stellen Sie sicher, dass Ihre ABBYY FineReader Engine-Lizenz das Modul Compare Documents unterstützt.
  2. Erstellen Sie mithilfe der Methode CreateComparator des Engine-Objekts ein Objekt vom Typ Comparator.
  3. [optional] Verwenden Sie das Objekt ComparisonParams, um die Eigenschaften auf die gewünschten Werte festzulegen.
  4. Rufen Sie die Methode CompareDocuments des Objekts Comparator auf, um das Originaldokument mit der Kopie zu vergleichen. Sie erhalten ein Objekt vom Typ ComparisonResult, das Informationen zu den erkannten Änderungen enthält.

C#

Das Objekt ComparisonResult enthält die vollständige Liste der Unterschiede und stellt Methoden bereit, mit denen Sie die Unterschiede für einzelne Seiten abrufen können. Sie können mit den Methoden GetChangesForReferencePage und GetChangesForUserPage auf die Änderungen im Originaldokument und in seiner Kopie zugreifen. Verwenden Sie das Objekt ChangeLocation, um Informationen über die Position der Änderung abzurufen, und die Eigenschaft RegionForPage, um die Region der Änderung auf der angegebenen Seite zu erhalten.

C#

Um das Vergleichsergebnis zu exportieren, rufen Sie die Methode Export des Objekts ComparisonResult auf und übergeben den Pfad zur Datei als Eingabeparameter. Die Daten können als XML-Datei oder als DOCX-Datei mit nachverfolgten Änderungen gespeichert werden.C#
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#

Erforderliche Ressourcen

Sie können die Datei FREngineDistribution.csv verwenden, um automatisch eine Liste der Dateien zu erstellen, die erforderlich sind, damit Ihre Anwendung funktioniert. Wählen Sie für die Verarbeitung in diesem Szenario in Spalte 5 (RequiredByModule) die folgenden Werte aus: Core Core.Resources Opening Opening, Processing Processing Processing.OCR Processing.OCR, Processing.ICR Processing.OCR.NaturalLanguages Processing.OCR.NaturalLanguages, Processing.ICR.NaturalLanguages Export Export, Processing Wenn Sie das Standardszenario ändern, passen Sie die erforderlichen Module entsprechend an. Außerdem müssen Sie die Oberflächensprachen, Erkennungssprachen und alle zusätzlichen Funktionen angeben, die Ihre Anwendung verwendet (z. B. Opening.PDF, wenn Sie PDF-Dateien öffnen müssen, oder Processing.OCR.CJK, wenn Sie Texte in CJK-Sprachen erkennen müssen). Weitere Informationen finden Sie unter Arbeiten mit der Datei FREngineDistribution.csv.

Zusätzliche Optimierung für bestimmte Aufgaben

Nachfolgend finden Sie eine Übersicht der Hilfethemen mit zusätzlichen Informationen zur Anpassung von Einstellungen in verschiedenen Verarbeitungsphasen:
  • Scannen – nur unter Windows
    • Scannen
      Beschreibung des ABBYY FineReader Engine-Szenarios zum Scannen von Dokumenten.
  • Erkennung
    • Anpassen von Parametern für Vorverarbeitung, Analyse, Erkennung und Synthese
      Anpassung der Dokumentverarbeitung mithilfe von Parameterobjekten für Analyse, Erkennung und Synthese.
    • PageProcessingParams-Objekt
      Dieses Objekt ermöglicht die Anpassung von Analyse- und Erkennungsparametern. Mit diesem Objekt können Sie angeben, welche Bild- und Texteigenschaften erkannt werden sollen (invertiertes Bild, Ausrichtung, Barcodes, Erkennungssprache, zulässige Fehlermarge bei der Erkennung).
    • SynthesisParamsForPage-Objekt
      Dieses Objekt enthält Parameter, die für die Wiederherstellung der Seitenformatierung während der Synthese verantwortlich sind.
    • SynthesisParamsForDocument-Objekt
      Dieses Objekt ermöglicht die Anpassung der Dokumentsynthese: die Wiederherstellung der Struktur und Formatierung des Dokuments.
    • MultiProcessingParams-Objekt - Für Linux und Windows implementiert
      Die gleichzeitige Verarbeitung kann beim Verarbeiten 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, bei der Erkennung und beim Export auf die Prozessorkerne verteilt, wodurch die Verarbeitung beschleunigt werden kann.
      Die Verarbeitungsmodi (gleichzeitig oder nacheinander) werden mit der Eigenschaft MultiProcessingMode festgelegt. Die Eigenschaft RecognitionProcessesCount steuert die Anzahl der Prozesse, die gestartet werden können.

Siehe auch

Implementierung grundlegender Anwendungsszenarien