===== Steuerung von Heft- oder Falzmaschinen =====
==== Anforderung ====
Zur Steuerung von Maschinen zur Nachbearbeitung von gedruckten Dokumenten gibt es leider eine ganze Menge sehr herstellerspezifischer Verfahren. Vom einfachen Strichcode am Rande der Blätter bis hin zum komplexen 2d-Barcode ist da alles anzutreffen.
Im Tip [[print2forms:tips:tip11|Steuerung von Kuvertiermaschinen]] wurde beschrieben, wie mit Hilfe der Druckeranpassung einfache Markierungen angebracht werden. Ebenfalls in diesem Tip wurde beschrieben, wie mit Hilfe des Programms **p2fFold.exe** eine bestimmte Gruppe von Kuvertiermaschinen aus (p2f) heraus angesteuert werden kann.
In diesem Tip wird ein weiteres Programm **p2fFold.exe** vorgestellt, welches für die Steuerung einer Heft- oder Falzmaschine zum Einsatz kommt, die, um erhöhten Sicherheitsanforderungen zu genügen, neben einem Seitenzähler auch noch einen Dokumentenzähler benötigt.
\\
\\
==== Die Systemfeldapplikation p2fFold ====
Für Fälle, in denen das normale Leistungsspektrum von (p2f) nicht ausreicht, gibt es bei der Definition von Formularen ein **System-Anfragefeld**. Mit Hilfe diese Feldes kann während der Erzeugung eines Formulars ein externes Programm aufgerufen werden, das dann die verlangte Aufgabe übernimmt. Dabei können natürlich Parameter an das Programm übergeben werden, die die zu lösende Anforderung definieren.
Das externe Programm - eine sogenannte Systemfeldapplikation - erzeugt in der Regel eine Zeichenkette, die dann mit Hilfe anderer Felder (Texte, Barcodes, Ressourcen) weiterverarbeitet werden können.
Für die Steuerung von Heft- oder Falzmaschinen dient die Systemfeldapplikation **p2fFold**, die folgende Leistungsmerkmale unterstützt:
* Dokumentenzähler mit 3 Bit
* Seitenzähler mit 4 Bit
Diese Systemfeldapplikation ist für Heft- oder Falzmaschinenen, wie etwa die der Firma Holtzer, einsetzbar.
Ein Aufruf der Systemfeldapplikation ohne Parameter über die Kommandozeile (DOS-Box, Eingabeaufforderung, Konsole) zeigt eine kurze Beschreibung, die möglichen Parameter und ein paar beispielhafte Aufrufe an. Auch die Rückkehrwerte des Programms sind aufgelistet.
p2fFold V1.0 (c) 2013 by SPE Systemhaus GmbH
Description:
Generates marks for controlling a folder
and stapling machine.
An 3 bit counter for a document group and a 4-bit
counter for pages within a document is supported.
Program parameters are:
Mandatory parameter:
Identifier of calling client or gateway
Optional parameters:
-f Fold or staple. Increase group counter.
Reset page counter to one.
-r Reset both counters to one. No marks.
-c Display counter for test.
General return codes:
0 - Success
-1 - Failed
-2 - Unknown program option
-3 - Program option expected
n - Windows error code
Usage in system request field:
p2fFold -f
Force fold or staple
p2fFold -r
reset document and page counter
print2forms (R) is a registered trademark
of SPE Systemhaus GmbH
Wie anhand der Beschreibung zu sehen ist, gibt es noch einen Parameter, um die Zähler wieder zurückzusetzen (-r), sowie einen Parameter, um die Zähler während des Testens optisch direkt sichtbar zu machen - die Zählerstände werden über dem Strichcode als Ziffern ausgegeben (-c).
\\
\\
==== Aufruf im System-Anfragefeld ====
Genau wie bei der Benutzung der fest eingebauten Unterstützung für Papiernachbearbeitungsmaschinen muss beim Drucken zunächst ein Dokumentenprozess aufgerufen werden, der die Anzahl der Seiten im Dokument ermittelt - und bei dieser Gelegenheit auch grössere Druckaufträge in Einzeldokumente zerlegen kann. Wie die Dokumentgrenze definiert ist, hängt vom jeweiligen Anwendungsfall ab. Ist die Dokumentgrenze erkannt, wird an den Druckprozess übergeben, der dann die Strichcodes zur Steuerung der Maschine aufbringt.
Im Druckprozess muss das letzte oder einzige Blatt des Dokuments erkannt werden, weil dort die Markierung für das eigentliche Heften oder Falzen aufzubringen ist. Daher ist der erste Zustand in der Seitenfolge eine Abfrage auf die letzte Seite des Dokuments - was auch den Fall einseitiger Dokumente einschliesst, weil bei den hier diskutierten Strichcodes keine Unterscheidung notwendig ist. Ist dies die letzte Seite im Dokument, wird ein Formular gedruckt, das den Strichcode zum Auslösen des Falzvorgangs druckt. Ist es nicht die letzte Seite, wird hingegen ein Formular aufgerufen, das einen Strichcode zum Aufsammeln druckt.
In den im Prozess aufgerufenen Formularen ist dann das System-Anfragefeld mit dem Aufruf der Systemfeldapplikation **p2fFold** enthalten. Das geschieht alles ganz analog zum Tip [[print2forms:tips:tip11|Steuerung von Kuvertiermaschinen]].
\\
\\
Für das Aufbringen der Strichcodes werden die beiden Formulare **Marke Heften** und **Marke Sammeln** benötigt. Sie unterscheiden sich nur im Aufruf der Systemfeldapplikation. Beide Formulare enthalten jeweils ein System-Anfragefeld und ein Textfeld.
{{print2forms:tips:0036-1.png}}
{{print2forms:tips:0036-2.png}}
Die Angabe **Ausführung abwarten** im System-Anfragefeld sorgt dafür, dass mit dem Druck des Formulars gewartet wird, bis die Systemfeldapplikation beendet wurde und die angefragten Daten wirklich zur Verfügung stehen. Die Angabe des **Zeichensatzes** ist in diesem Fall unkritisch, weil die Kommandos für **p2fFold** nur ASCII-Zeichen enthalten.
Da eine Systemfeldapplikation letztendlich nur eine Zeichenkette erzeugt, wird das Textfeld benötigt, um die gelieferte Information zu verarbeiten. In diesem Fall besteht die Verarbeitung lediglich darin, diese Zeichenkette an den linken Rand des Blattes zu drucken. Dabei bestimmen die Positionierungsangaben des Textfeldes die Position des Strichcodes. In der **Schablone** findet sich eine Referenz auf das System-Anfragefeld. Die sonstigen Angaben im Textfeld sind hier ohne weitere Bedeutung.
\\
\\
==== Hinweise ====
* Vor seiner erstmaligen Benutzung muss das Programm **p2fFold** in das Installationsverzeichnis von (p2f) kopiert werden. Der Aufruf im System-Anfragefeld kann dann, wie hier gezeigt, ohne Pfadangabe erfolgen.
* Das Programm **p2fFold** kann nur über ein System-Anfragefeld mit Parametern aufgerufen werden. Der Grund dafür liegt darin, dass noch weitere Parameter benötigt werden, die vom Client oder Gateway vor dem eigentlichen Aufruf berechnet und in das sichtbare Aufrufkommando eingebaut werden müssen. In einer Konsole kann das Programm lediglich ohne Parameter aufgerufen werden, um die Hilfeinformation zu lesen.
* Das Programm **p2fFold** muss sich den aktuellen Zählerstand merken. Dies geschieht mit Hilfe eines speziellen Registry-Eintrags der beim jeweiligen Client oder Gateway gespeichert wird. Dadurch wird vermieden, dass durch die parallele Nutzung des Programms durch mehrere Clients oder Gateways die Seitenzähler 'Sprünge machen'.
* Für Fälle, in denen der Zähler auf Eins zurückgesetzt werden muss, ist ein spezieller Parameter vorfügbar. Abhängig von den Gründen für das Zurücksetzten, muss dann natürlich ein entsprechendes Formular mit diesem Aufruf bestückt werden.
* Für die Verwendung des Programms **p2fFold** ist ein Eintrag in der Lizenzdatei der verwendeten Management-Konsole erforderlich.