Nutzen des Seitentextes
Mit den neuen Befehlen bzw. Einstellungen „tblsearch", „tbllookup", „rawpage", „writetexttofile"
ergeben sich neue Möglichkeiten Informationen aus dem gedruckten Text zu verwenden.
Der „tbllookup"- Operator ermöglicht ein einfaches Nachschlagen eines Begriffes in einem
Konfigurationsabschnitt. Damit lässt sich das Beispiel zum „Benutzerabhängigen Drucker" viel
einfacher gestalten.
Der „tblsearch" – Operator geht alle Einträge eines Abschnitts der Reihe nach durch und gibt den
(berechneten) Wert auf der rechten Seite zurück, falls der Eintrag in dem entsprechenden Parameter
(unten „1;rawpage") enthalten ist.
Achtung!!! „tbllookup" unterscheidet nicht zwischen Groß- und Kleinbuchstaben; „tblsearch"
schon.
[ColorUsers]
Dieter=$(#Z;100;<)
Gustav=0
[Printers]
#invoice#=PrinterInvoice
#delivery#=PrinterDelivery
[ActionTblTest]
Active=1
Color=$(;ColorUsers;#U;0;tbllookup)
Printer=$(;Printers;1;rawpage;TestPrinter;tblsearch)
; Example for a different configuration file and the use of all pages
; Printer=$(%PM_INSTALLPATH%\users.ini;;rawpage;TestPrinter;tblsearch)
_TextFile=%TEMP%\#P_#C.txt
WriteTextToFile=#(_TextFile)I
Execute=y
ExecuteCmd=wscript "%PM_INSTALLPATH%\PDFCreation\textextract.vbs" "#(_TextFile)I"
Hier noch ein paar Erläuterungen:
Auf der rechten Seite einer Zuweisung kann wieder ein auswertbarer Ausdruck stehen. „Dieter"
würde nur in Farbe drucken dürfen, bei Dokumenten mit weniger als 100 Seiten.
Falls die Einstellungen für „tblsearch" oder „tbllookup" auf eine andere Datei verweisen, wird
diese bei jeder Auswertung neu geladen. Das erleichtert womöglich eine dynamische Änderung
an den Konfigurationsdateien.
Der neue „rawpage" Operator liefert einen Text, der alle gedruckten Texte hintereinander ohne
Trennzeichen enthält. Als erster Parameter kann eine Seitennummer, beginnend bei eins
angegeben werden. Ohne Angabe enthält der Text alle Seiten. Neue Seiten werden durch ein
Zeilenende gekennzeichnet. Durch die fehlenden Trennzeichen müssen gesuchte Textpassagen
durch besondere Zeichen eingefasst werden (hier ‚#'). Der gedruckte Text kann unsichtbar sein
durch die Verwendung von weißer Farbe.
„WriteTextToFile" ist sinnvoll bei der Suche nach Problemen, falls etwas nicht gefunden werden
sollte. Die Datei kann auch wie im Beispiel durch ein Script ausgewertet werden. Das Script
„textextract.vbs" wird mitgeliefert. Das Format der Textdatei ist UTF16.
43