Home > Handbuch > Entwicklerhilfe > Makro-Referenz OmAPI > AcroExchGetTextFromRect AcroExchGetTextFromRect
|
Liest Text von einer fest vorgegebenen Position in PDF-Dokumenten.
Syntax
{AcroExchGetTextFromRect:FileName,PageNum,Left,Right,Bottom,Top,Relative[,ReplaceFrom,ReplaceTo,DebugInfo]}
{PDFGetTextFromRect:FileName,PageNum,Left,Right,Bottom,Top,Relative[,ReplaceFrom,ReplaceTo,DebugInfo]}
FileName: Dateiname des Dokumentes, z. B. {CurrDocFileName} oder {Source}.
PageNum: Seitennummer "1" für Seite 1 usw. "-1" für die letzte, "-2" für die vorletzte usw.
Während einer Stapeltrennung mit Makros könne Sie mit StackScanPage auf die aktuelle Seite zugreifen.
Left, Right, Bottom, Top: Definiert ein Rechteck auf der Seite, in dem sich der zu extrahierende Text befindet. Left und Right geben den Abstand vom linken Seitenrand, Bottom und Top den Abstand vom unteren Rand an. Es sind nur ganze Zahlen erlaubt. Tipp: der Wert von Bottom ist immer kleiner als Top, Left ist kleiner als Right.
Die beiden Funktionen unterscheiden sich bei der Ermittlung, welcher Text im Rechteck enthalten ist. Die Acrobat-Funktion schneidet den Text so aus, als wäre die Seite ein Bild. PDFGetTextFromRect hingegen prüft bei jedem Wort des Dokuments, ob dieses vollständig vom Rechteck umschlossen ist und gibt die enthaltenen Wörter mit Leerzeichen getrennt zurück..
Relative: 0, 1 oder 2. Bei 0 wird das Rechteck in der Maßeinheit des PDF-Dokuments (z. B. absolute Pixel) angegeben.
Bei 1 enthalten Left, Right, Bottom und Top prozentuale Werte, wobei Left=10 beispielsweise 10% der Seitenbreite angibt. Berechnungsbeispiel für A4-Seitenbreite: Prozentwert = Runden([mm von links] x 100 / 210).
2 ist ebenfalls relativ, jedoch mit einer berechneten Auflösung von 10.000 statt 100. Berechnungsbeispiel für A4-Seitenbreite: Wert = Runden([mm von links] x 10000 / 210).
Optionale Parameter:
ReplaceFrom, ReplaceTo: Mit diesen optionalen Parametern kann eine Textersetzung (s. a. StringReplace) durchgeführt werden.
Beispiel: {AcroExchGetTextFromRect:...,1,{Chr:13}{Chr:10},-} ersetzt alle Zeilenumbrüche durch einen Bindestrich.
DebugInfo: 0 oder 1. Bei 1 wird eine temporäre PDF-Datei geöffnet, in welcher Sie den angegebenen Ausschnitt überprüfen können. Der Parameter sollte nach erfolgreichen Tests wieder entfernt oder auf 0 gesetzt werden.
Dokumententext, der sich im definierten Rechteck befindet.
Beschreibung
Die Funktion gibt den Text zurück, der sich innerhalb des angegebenen Rechtecks im PDF-Dokument befindet. Sie wird beispielsweise beim Scannen oder Importieren für eine Formularerkennung verwendet, um die Dokumentattribute, wie Kategorie oder Kundenname, automatisch zu erfassen. Bei gescannten Dokumenten muss zuvor eine OCR-Texterkennung ausgeführt werden, welche die erkannten Texte wortgenau hinter dem Pixelbild positioniert..
AcroExchGetTextFromRect nutzt einen installierten Adobe Acrobat, PDFGetTextFromRect wird mit programminternen Funktionen ausgeführt.
Beispiele
Das Adressfeld im aktuell markierten Dokument einlesen und zur Kontrolle das Rechteck in einer Debug-Datei einblenden:
{AcroExchGetTextFromRect:{CurrDocFileName},1,7,40,70,90,1,,,1}
{PDFGetTextFromRect:{CurrDocFileName},1,7,40,70,90,1,,,1}
Systemvoraussetzungen für AcroExchGetTextFromRect
Office Manager Enterprise-Edition
Adobe Acrobat-Vollversion
Siehe auch