[Script] Suche nach einem zusammengesetzten String

Hallo zusammen,

ich habe eine Frage bzgl. der Suche nach einem bestimmten Text-Fragment in einer PDF+Text Datei mittels Applescript.

Im Detail handelt es sich um immer wiederkehrende Belege, die an einer x-beliebigen Stelle im Text

      Referenz          120231

stehen haben. Die Nummer ist hierbei nicht unbedingt fortlaufend, da die Belege unsortiert gescannt wurden aber der Aufbau ist immer der Gleiche. Allerdings kann der Abstand, bzw. die Anzahl der Leerzeichen zwischen Vorgangsnummer und der Zahl etwas differieren.

Kann mir bitte jemand einen Tipp geben wie ich nach diesem zusammengesetzten String (Wort und Nummer) mittels Applescript suchen kann und diesen abschließend in eine Variable zu schreibe!?

Ich will mit dem Workflow abschließend die PDF Datei in ‘Referenz 120231.pdf’ umbenennen.

Ich danke euch im Voraus.

Efty

Das folgende Beispiel durchsucht den Text des sichtbaren Dokuments nach Referenz+Nummer:


property pWord : "Referenz"

tell application id "DNtp"
	set theRecord to content record
	set theText to plain text of theRecord
	set theWords to words of theText
	repeat with i from 1 to count of theWords
		if item i of theWords is pWord then return ((item (i + 1) of theWords) as integer)
	end repeat
	return -1
end tell

Hallo cgrunenberg,

Entschuldigung dafür, dass ich mich jetzt erst zu ihrem Skript melde.

Danke erstmal für die Lösung! Das Skript macht genau was es soll und arbeitet fehlerfrei.

ABER…

Die OCR Engine vom Abby Finereader speichert den extrahierten ASCII Text nicht in dem Layout wie es auf dem Original Dokument abgebildet ist. Soll heissen…

Folgendes Beispiel wird vom Skript erkannt da es so auf dem Originalbeleg steht und ebenfalls so OCRed wurde


Belegnummer 1000
Datum 1.1.2014

Stehen aber die Angaben z. B. in Spalten, etwa so


Belegnummer              1000
Datum                    1.1.2014

dann steht im OCRten ASCII Text folgendes und der String wird nicht gefunden


Belegnummer Datum
1000 1.1.2014

Eine Logik die der Abby Fingernder da anwendet lässt sich für mich leider nicht erkennen. Das einzige was ich sagen kann ist, dass die OCR-Engine in dem Fall wirklich miserable ist. Zwar lässt es sich prima nach der Belegnummer suchen, da sie ja irgendwo richtigerweise im ASCII Text steht, aber die Möglichkeiten von geskripteten Workflows gehen damit gegen Null.

Ist dieses Verhalten bekannt oder mache ich etwas falsch!?

Vielen Dank im Voraus.
Efty

Das hängt vermutlich stark vom Layout der Seite und den verwendeten Schriften ab, d.h. auf die Arbeitsweise der Abbyy Engine haben wir leider keinen Einfluss. Allerdings wird eine kommende Version eine aktuellere Engine verwenden.