Zum Hauptinhalt springen
Der Text, den ABBYY FineReader Engine verarbeitet, ist Klartext, d. h., er enthält keine Rahmen, Tabellen usw. Alle Zeichen sind Unicode-Zeichen. Klartext kann die folgenden Sonderzeichen enthalten:
  • 0x2028 — Symbol für Zeilenumbruch
  • 0x2029 — Symbol für Absatzumbruch
  • 0xFFFC — Objektersetzungszeichen (kennzeichnet ein in den Text eingebettetes Bild)
  • 0x0009 — Tabulator
  • 0x005E — Zirkumflex (^), von ABBYY FineReader Engine als Ersatz für nicht erkannte Zeichen verwendet
  • 0x00AC — Bedingter Trennstrich
Auf die Attribute und die Formatierung eines Textes kann über die entsprechenden Objekte und Eigenschaften zugegriffen werden. Sie können über das Seitenlayout eines Dokuments (Eigenschaft IFRPage::Layout) auf den erkannten Text zugreifen.

Erkannter Text im Layout

Nur Text-, Tabellen- und Barcodeblöcke enthalten nach der Erkennung Text. Andere Blöcke enthalten keinen Text. Das Objekt Text bietet Zugriff auf den erkannten Text von Text- und Tabellenblöcken, während das Objekt BarcodeText Zugriff auf den Text eines Barcodeblocks bietet. Gehen Sie wie folgt vor, um auf den erkannten Text eines Blocks zuzugreifen:
  • Für Textblöcke
Verwenden Sie die Eigenschaft ITextBlock::Text. Rufen Sie den Barcode-Text über die Eigenschaft IBarcodeBlock::BarcodeText oder IBarcodeBlock::Text ab. Die erste gibt das Objekt BarcodeText zurück, das eine Sammlung von Zeichen des erkannten Barcodes ist (die Objekte BarcodeSymbol). Die zweite gibt den Barcode-Text als einzelnen String zurück.

Text und Absätze

Das Text-Objekt enthält eine Sammlung von Absätzen. Diese Sammlung ist ein Paragraphs-Objekt, auf das über die Eigenschaft Paragraphs des Text-Objekts zugegriffen werden kann. Das Paragraphs-Objekt ist eine Sammlung von Paragraph-Objekten. Der erkannte Text ist über die Eigenschaft IParagraph::Text zugänglich. Der Text in dieser Eigenschaft ist ein Unicode-String. Es gibt auch ein ParagraphParams-Objekt, das absatzspezifische Attribute enthält, z. B. Informationen über die Ausrichtung und den Einzug. Auf dieses Objekt kann über die Eigenschaft IParagraph::ExtendedParams zugegriffen werden. Die Eigenschaft IParagraph::Lines bietet Zugriff auf eine Sammlung von Absatzzeilen, die durch das Objekt ParagraphLines dargestellt wird, das wiederum eine Sammlung von ParagraphLine-Objekten ist. Letzteres liefert Informationen über die geometrische Position einer einzelnen Absatzzeile und stellt damit die Unterteilung des Textes in Zeilen dar. Die Eigenschaft IParagraph::Words bietet Zugriff auf eine Sammlung von Wörtern eines Absatzes, die durch das Objekt Words dargestellt wird, das eine Sammlung von Word-Objekten ist. Das Word-Objekt bietet Zugriff auf ein einzelnes Wort des Absatzes.

Zeichenattribute

Jedes Zeichen des Textes hat seine eigenen Parameter. Auf sie kann über das Objekt CharParams zugegriffen werden. Das Objekt CharParams verfügt über eine große Anzahl von Zeichenattributen wie geometrische Parameter, Schriftart und Sprache. Das Objekt CharParams enthält das Zeichen selbst in der Eigenschaft SelectedCharacterRecognitionVariant. Siehe unten auch Klartext für die empfohlene Methode, um Informationen zu allen Zeichen in einem Dokument abzurufen. Die Position eines Zeichens im Text wird durch den Index seines Absatzes und seinen eigenen Index in diesem Absatz definiert. Es gibt außerdem eine sogenannte „Sonderposition“ im Text: Der Index des Absatzes entspricht der Gesamtzahl der Absätze, und der Index des Zeichens ist 0. Dies ist die Einfügemarke am Ende des Textes. Einige Methoden des Objekts Text führen Operationen an der Sonderposition aus, d. h., sie fügen dort ein weiteres Textfragment oder ein Bild ein. Die Eigenschaft SelectedCharacterRecognitionVariant des Objekts CharParams ermöglicht den Zugriff auf einen erweiterten Satz von Attributen, die für ein einzelnes Zeichen spezifisch sind und durch das Objekt CharacterRecognitionVariant dargestellt werden. Diese Attribute werden während der Erkennung festgelegt und liefern einige interne, zeichenspezifische Erkennungsinformationen. Insbesondere liefert dieses Objekt genauere Informationen über die Zuverlässigkeit der Zeichenerkennung, die Wahrscheinlichkeit, dass das Zeichen in einer Serifenschrift vorliegt, usw.

Textbearbeitung

Sie können versuchen, die Attribute des Objekts Text zu ändern, sollten dabei jedoch sehr vorsichtig vorgehen, wenn der Text in ein externes Format exportiert werden soll. Die Exportmethoden von ABBYY FineReader Engine setzen voraus, dass der erkannte Text das Ergebnis der Texterkennung ist und dass der Benutzer nur Erkennungsfehler korrigiert und keine weiteren Änderungen vorgenommen hat. Die Objekte der Text-Gruppe verfügen über zahlreiche voneinander abhängige Eigenschaften, und oft erfordert die Änderung einer dieser Eigenschaften auch Änderungen an anderen Eigenschaften. Aus diesem Grund können Änderungen an den Attributen des erkannten Texts manchmal zu unvorhersehbaren Ergebnissen beim Export führen.

Klartext

Sie können auch auf den vollständig erkannten Text eines Dokuments oder einer Seite in einem speziellen „Klartext“-Format zugreifen, das durch das Objekt PlainText repräsentiert wird. Es enthält nur Informationen über die erkannten Zeichen, ihre Erkennungssicherheit und ihre Positionen relativ zum Quellbild. Es kann jedoch nützlich sein, wenn Sie für alle Zeichen in einem großen Dokument auf diese Attribute zugreifen müssen. In FRE for Windows: Verwenden Sie die Methode GetCharacterData, mit der Sie die Daten für alle Zeichen auf einmal abrufen und in Ihrer Anwendung darüber iterieren können. Die Iteration über alle Textblöcke nimmt deutlich mehr Zeit in Anspruch, insbesondere wenn Ihre Anwendung über DCOM arbeitet.

Siehe auch

Arbeiten mit Layout und Blöcken Arbeiten mit Sprachen Einsatz von Voting-Algorithmen