Der Token-Mechanismus

Token-Maschine

MadeToPrint bietet eine leistungsstarke Token-Engine, die bei der Definition von Regeln zur Erzeugung dynamischer Zeichenfolgen hilft, z.B. für Dateinamen, Zielverzeichnissen und einer Vielzahl von Statusinformationen für den Auftragsbereich (Infobar).

Die Token (Variablen) sind über Pulldown-Menüs unter Dateiname; Infobar und anderen Funktionsbereichen von MadeToPrint zugänglich. Eine Beschreibung der einzelnen Variablen finden Sie in der Token-Hilfe.

Wenn Sie weitere Fragen bzgl. der Token haben, z.B. zu benutzerdefinierten Token-Sequenzen, dann kontaktieren Sie bitte: [email protected]

Wie es funktioniert

Jeder Token startet mit « und endet mit ». Die Token können aus Funktionen (z.B. pagelabel()), Zahlen (z.B. 123), Zeichenketten (z.B. "Text") und Operatoren (z.B. +) bestehen. Funktionen können zusätzliche Parameter erfordern. Diese sind in der Token-Hilfe im Bereich Dateiname aufgelistet. Zwischenraumzeichen (Leerzeichen, Tabulatoren und Zeilenumbrüche) innerhalb der Token werden ignoriert, so dass man komplexere Token auch „formatieren“ kann.


Beispiel: Zahlen und Zeichenketten

  • Um die Token-Maschine zu verstehen, starten wir mit den einfachsten „Optionen“: Zahlen und Zeichenketten.
    • «5» => 5
    • «"MadeToPrint"» => MadeToPrint
  • Wie erwähnt, werden Zwischenraumzeichen innerhalb der Token ignoriert, nicht jedoch in Funktionsnamen und Zeichenketten:
    • «5    » => 5
    • «    5» => 5
    • «  5  » => 5
    • «  "MadeToPrint Token"    » => MadeToPrint Token
    • «  "MadeToPrint   Token"  » => MadeToPrint   Token

Beispiel: Mathematische Operatoren

  • Die Token-Maschine unterstützt die grundlegenden mathematischen Operatoren. Diese können auch kombiniert werden und berücksichtigen dabei die Operatorrangfolge.
    • « 5 + 4 » => 9
    • « 5 - 4 » => 1
    • « 5 * 4 » => 20
    • « 5 / 4 » => 1.25
    • « 5 + 4 * 3 » => 17
    • «(5 + 4)* 3 » => 27

Beispiel: & Operator

  • Kombiniert zwei Zeichenketten und kann in Reihe benutzt werden
    • «"Made" & "To" & "Print"» => MadeToPrint
  • Kann mit Funktionen kombiniert werden
    • «RIGHT( "000" & PAGELABEL(), 3 )»

Beispiel: % (modulo) Operator

  • Gibt den Rest einer Division zurück
    • « 2 % 2 » => 0
    • « 5 % 3 » => 2
  • Kann in Kombination mit Funktionen z.B. genutzt werden, um „Linke Seite“ / „Rechte Seite“ zu identifizieren:
    • «IF( PAGELABEL()%2, "Rechts", "Links")»

Example: Funktionen

  • MadeToPrint stellt verschiedene Funktionen bereit, die Informationen über die Umgebung oder das Dokument liefern können, oder sogar aus Textdateien auf der Festplatte lesen können. Funktionsnamen ignorieren Groß-/Kleinschreibung.
    • « ABS(-2) » => 2
    • «Abs( -2 )» => 2

Example: Mehrere Tokens

  • In Eingabefeldern, in denen Token evaluiert werden, können auch mehrere Token hintereinander genutzt werden
    • «"Made" & "To" & "Print"» => MadeToPrint
    • «"Made"»«"To"»«"Print"  » => MadeToPrint
  • Token können auch mit reinem Text gemixt werden
    • « "Made" »To«  "Print"  » => MadeToPrint

Regelbasierte Abfragen (ASK-Token)

Mit Hilfe sogenannter ASK-Token ist es möglich, Abfragen zu erstellen, um z.B. die Eingabe von Markierungen zu ermöglichen, die während der Ausführung eines Druckauftrags in der Infobar erscheinen werden. Das ASK-Token folgt dieser Syntax:

«ASK( "Eingabeaufforderung", "Umfang", "Format", "Fehler" )» 

Der unter „Eingabeaufforderung“ eingegebene Text wird während der Ausführung eines Jobs als Eingabeaufforderung innerhalb des Dialogfensters angezeigt.

Die Angaben unter "Umfang", "Format" und "Fehler" sind optional und bedeuten:

Der Bereich "Umfang" ("Scope")

  • "Scope" definiert den Zeitpunkt der Abfrage. Mögliche Werte für "Scope" sind "Job", "Session" und "Page".
    • "Job" diese Abfrage erscheint während der Ausführung eines Druckauftrags. Dies ist eine Standardeinstellung und muss nicht eingegeben werden.
    • "Session" diese Abfrage erscheint vor jeder InDesign-Sitzung, so dass Sie sie nur nach einem Neustart von InDesign bestätigen müssen.
    • "Seite" diese Abfrage erscheint für jede Seite des auszugebenden Dokuments.

Der Bereich "Format"

  • "Format" wird verwendet, um z.B. Regeln (Bedingungen) für die Eingabe zu definieren,
    • "\\w" begrenzt die Eingabe auf alphanumerische Werte
    • "\\d" begrenzt die Eingabe auf numerische Werte
    • "\\d{6}" begrenzt die Eingabe auf eine 6-stellige Zahl

Der Bereich "Fehler"

Wenn die unter "Format" definierte Regel nicht mit dieser übereinstimmt, wird die folgende Standardfehlermeldung angezeigt: Dieser Eintrag ist in den Job-Einstellungen nicht erlaubt. Es ist möglich, diese voreingestellte Fehlermeldung durch Angabe eines Eintrags in "Fehler" anzupassen.

Beispiele:

Das einfache Token «ASK("Geben Sie Ihren Namen ein:")» zeigt bei jeder Ausführung eines Druckauftrags einen Dialog an. Die Eingabe ist nicht begrenzt, so dass der Benutzer beliebig viele Zeichen in den Abfragedialog eingeben kann.

Das erweiterte Token

«ASK("Veröffentlichungsdatum [DDMMJJ]:","Job","\\d{6}","Fehler, geben Sie ein Datum ein!")»

bewirkt, dass jedes Mal, wenn ein Druckauftrag ausgeführt wird, ein Abfragedialog erscheint. Die Eingabe ist auf sechs numerische Werte beschränkt. Immer wenn die Eingabe falsch ist, erscheint die Meldung "Fehler, geben Sie ein Datum ein!"

Wenn Sie das Token im Bereich "Format" ändern, wird sogar die Validierung der eingegebenen Zahlenwerte während der Eingabe überprüft.

«ASK("Veröffentlichungsdatum [DDMMJJ]:","Job","([12][0-9]|3[01]|0[1-9])(0[1-9]|1[012])([0-9][0-9])","Fehler, geben Sie ein Datum ein!")»

Der reguläre Ausdruck "([12][0-9]|3[01]|0[1-9])(0[1-9]|1[012])([0-9][0-9])" beschreibt die Regeln zur Eingabe von Tag (01 bis max. 31), Monat und Jahr.

([12][0-9]|3[01]|0[1-9]) beschreibt den Tag (01 bis max. 31) und erlaubt nur 1 oder 2 an der ersten Stelle, gefolgt von 0 bis 9. Wenn die erste Zahl 3 ist, kann ihr nur 0 oder 1 folgen. Ist die erste Zahl 0, dann dürfen nur Ziffern von 1 bis 9 folgen.

Diese Regeln gelten auch für Monat und Jahr.

Seitenzahlen in Dateinamen

Das Token «PAGENUMBER( )» setzt die aktuelle Seitennummer in z.B. den Dateinamen ein. Das Token «PAGELABEL( )» kann hier auch genutzt werden. Im Gegensatz zur aktuellen Seitenzahl wird hier die Seitenmarkierung genutzt, die in den Nummerierungsoptionen in Adobe InDesign genutzt wurden. In Verbindung mit dem Token «DOCUMENTNAME()» kann man folgende Namenskonvention erreichen

«PAGENUMBER()»_«DOCUMENTNAME()»

Das Ergebnis sieht etwa so aus:

  • 1_Dokument.pdf
  • 2_Dokument.pdf
  • 3_Dokument.pdf …

Es ist auch möglich, eine dreistellige Seitenzahl zu erreichen (mit führenden Nullen), in dem man folgende Kombination nutzt:

«RIGHT("000"&PAGENUMBER(), 3 )»_«DOCUMENTNAME()»

Das Token «RIGHT("000"&PAGENUMBER(), 3 )» nimmt aus der angegeben Zeichenkette die drei Zeichen von rechts aus gesehen. Der Text besteht aus den drei übergebenen Nullen "000"  und der Seitennummer, z.B. also "0001". Davon werden die drei Zeichen genommen, die rechts stehen, also z.B. "001". Das Resultat wäre dann:

  • 001_Dokument.pdf
  • 002_Dokument.pdf
  • 003_Dokument.pdf …

0 Kommentare

Kommentar hinzufügen

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.