Webseiten-Werkzeuge

Benutzer-Werkzeuge


Formular Phase 1

Die Aufgabe des Formulars mit dem Namen sign2forms ist zum einen die, an den Positionen der Unterschriften die entsprechenden QR-Codes einzudrucken, und zum anderen die, an den Positionen der Unterschriften auch einen Aufruf für ein PCL-Makro mit dem Bild der Unterschrift anzubringen.

Für das Verständnis des Formulars ist zunächst ein Blick in die Indexdatei des Druckauftrags notwendig:

[p2f]134676745
[Client]3.5.1.5797;A$O4ER.XML
[Param]3.0;10.1.17.59
 
[Time]30.01.18 14:38:43
[Process]N0I4E38.XML
[0100F902B6]Kabel GmbH
...
[0103DE06A0]Nachweisnummer:
[0103DE08AE]0004.3805
[01043F06A0]Auftrag:
...
[010B3500C6]Unterschriften:
[010BCD0175]Techniker:
[010BCD02B1]______________________
[010C430393]S. Muster
[010BCD0609]Kunde:
[010BCD06FB]______________________
[010C510731]....................................
[010F4500D4]Bankverbindung:
...
[Page]
[End]

Für die Bestimmung der Dokumentkennung wird als erstes ein Suchfeld mit dem Namen Kennung angelegt, welches mit Hilfe eines regulären Ausdrucks die beiden Zifferngruppen aus Zeile [0103DE08AE] in einen Puffer aufnimmt.

Für den Druck der beiden QR-Codes sorgen die Barcode-Felder QR-Code Unterschrift Techniker und QR-Code Unterschrift Kunde. Die Positionen der beiden Unterschriften sind anhand der eingedruckten Basislinie für die Unterschriften leicht zu erkennen. Demzufolge werden die beiden Barcode-Felder so konfiguriert, dass sie genau diese beiden Linien suchen, und dann den Barcode relativ zur Fundstelle positionieren. Dies erfolgt mit einem Versatz, weil die QR-Codes links unterhalb der Basislinie der Unterschrift erscheinen sollen.

Der Inhalt der Barcodes besteht aus den beiden verketteten Zifferngruppen im Puffer des Suchfeldes Kennung gefolgt von einem Buchstaben 't' für die Unterschrift des Technikers, respektive dem Buchstaben 'c' für die Unterschrift des Kunden.









Damit in der Phase 2 die Bilder der Unterschriften an den richtigen Positionen eingesetzt werden können, sind zwei weitere Textfelder mit dem Namen Makro Unterschrift Techniker und Makro Unterschrift Kunde notwendig. Diese beiden Felder werden an den gleichen Positionen eingedruckt, wie die beiden QR-Codes.

Um an diesen Stellen PCL-Makros aufzurufen, bedient man sich eines stylistisch nicht ganz korrekten Tricks. Der Text der Textfelder enthält die PCL-Escape-Sequenz zum Aufruf des jeweiligen Makros mit der Nummer 32000 und 32001. Die beiden Makronummern fallen nicht vom Himmel, sondern werden im Skript des Gateways Phase 2 so festgelegt.

Die ungewöhliche Schriftgrösse von 244 Punkten ist notwendig, um ein Clippen der Unterschriften am oberen Rand des Schriftfeldes zu vermeiden. Die 244 ist willkürlich gewählt. Wenn die Unterschriftenfelder im realen Dokumente sehr gross sind, mag es sein, dass hier grössere Werte (maximal 576 Punkte) erforderlich werden.

Hinweise

  • Der Unterschied in der Verschiebung der beiden Barcodes ist dadurch bedingt, dass im Beispieldokument tatsächlich der Abstand zwischen Text und Basislinie für die Unterschrift unterschiedlich ist.
  • Die offensichtliche Abweichung beim horizontalen Versatz der beiden Barcode- und Textfeldern (ca. 6mm) ist leider historisch bedingt. Es handelt sich im Prinzip um die Breite des nicht druckbaren Bereichs am linken Rand des Blattes, der hier noch zugerechnet werden muss. Es ist geplant, dieses Manko in einer nächsten Version von print2forms für neue Installationen aus der Welt zu schaffen.
  • Das Einsetzen von PCL-Sequenzen in den Druckdatenstrom mittels eines Textfeldes ist alles andere als korrekt. In der nächsten Version von print2forms wird es hierfür eine dedizierte Lösung geben, die ohne die Formulierung von PCL-Sequenzen auskommt.
  • Der 'schmutzige Trick' mit den PCL-Sequenzen kann übrigens nicht verallgemeinert werden, um beliebige Sequenzen einzuschleusen, weil die so eingeschleuste Sequenz nur lokale Auswirkungen innerhalb des vom Textfeld selbst erzeugten Makros hat. Dieses 'Textfeld-Makro' (in dem hier wieder ein Makro aufgerufen wird) wird auch bewusst nur im lokalen Kontext ausgeführt - alle so gemachten Einstellungen (z.B. Zeilenabstand) sind sofort wieder unwirksam!
  • Werden die QR-Codes mit einer abweichenden Modulweite gedruckt, oder kodieren sie soviel Inhalt, dass sich die Gesamtgrösse des QR-Codes erhöht, ist im Skript Phase 2 eine Anpassung bezüglich der Code-Grösse notwendig (Parameter -c294 - entspricht 21 Module á 14 Pixel).
print2forms/sign2forms/formular.txt · Zuletzt geändert: 2018-02-21 15:10 (Externe Bearbeitung)