==== Test Phase 1 ==== Für den Test der //Phase 1// liegt im Unterverzeichnis //C:\sign2forms\Demo// der Beispieldaten eine PCL-Datei mit dem Namen //Leistungsnachweis.pcl//. Diese Datei enthält die Druckdaten des Beispieldokuments, das man sich als PDF-Datei mit dem Namen //Leistungsnachweis.pdf// direkt ansehen kann. Wie in der nebenstehenden Abbildung zu sehen, enthält das Dokument erwartungsgemäss noch keine QR-Codes. Um für den Test nun zu drucken, kommt das Hilfsprogramm **PrintFile.exe** zum Einsatz, das jeder (p2f)-Installation beiliegt. {{print2forms:sign2forms:printfile.png}} {{print2forms:sign2forms:dokument.png?300}} In der Konfiguration des Programms muss neben dem %%PCL%%-Dokument auch noch der Testdrucker ausgewählt werden. Beim Klicken auf die Schaltfläche //Drucken// sollte folgendes geschehen: * Der Client des Testdruckers empfängt die Druckdaten und bearbeitet sie mit dem Prozess //sign2forms// (das steht so im PJL-Header der Datei //Leistungsnachweis.pcl//). * Aufgrund der Angaben in diesem Dokumentprozess druckt der Client zum einen das Dokument auf dem physischen Drucker. Diese Druckausgabe enthält auch die beiden QR-Codes, die durch das Formular //sign2forms// eingefügt worden sind. Ebenfalls enthalten - aber nicht sichtbar - sind die beiden Makroaufrufe. Da beide Makros auf dem Drucker undefiniert sind, wird das Druckbild nicht beeinflusst. * Der Client gibt eine Kopie des Druckauftrags an den Router, der im Druckerobjekt für diesen Client festgelegt worden ist. Diese Kopie wird in die Warteschlange des Gateways //Phase 1// abgelegt. Unterstellt, die Warteschlange //Phase 1// ist freigegeben, wird der Router das Druckdokument gleich an das Gateway //Phase 1// weiterleiten. * Das Gateway //Phase 1// empfängt den Druckauftrag und bearbeitet ihn mit dem Druckprozess //Unterschriften//, fügt also die beiden QR-Codes und die Makroaufrufe ein. Eine %%PCL%%-Datei und eine Indexdatei werden im Verzeichnis //C:\sign2forms\Work// abgelegt. Das Gateway ruft unmittelbar anschliessend das Skript //sign_1.php// auf. * Das Skript extrahiert aus der Indexdatei die Dokumentkennung. Die %%PCL%%-Datei wird entsprechend umbenannt, und die Indexdatei wird gelöscht. Es bleibt eine Datei mit dem Namen //00043805.pcl// übrig. Die Phase 1 ist damit abgeschlossen. Sollte die Datei //00043805.pcl// nicht erscheinen, gilt es, festzustellen, wo der Ablauf ins Stocken gerät: * Erscheint die Druckausgabe gefühlt um viele Sekunden verzögert, liegt es oft daran, dass der Client den Router nicht erreichen kann. Eine entsprechende Meldung findet sich in der Ablaufverfolgung des Clients. In der Regel ist der Router dann nicht richtig konfiguriert oder er läuft schlicht und einfach gar nicht. * Erscheint die Druckausgabe sofort, aber am Gateway tut sich nichts, kann es sein, dass die Warteschlange //Phase 1// im Router nicht freigegeben ist. Das kann mit dem Programm **p2fRouterAdmin.exe** kontrolliert und gegebenenfalls abgestellt werden. * Werden die Druckdaten an das Gateway //Phase 1// weitergeben, aber die Datei //00043805.pcl// erscheint trotzdem nicht, funktioniert eventuell der Aufruf des Skriptes //sign_1.php// nicht, oder das Skript selbst funktioniert nicht. Ob das Skript tatsächlich aufgerufen wurde, kann in der Ablaufverfolgung des Gateways kontrolliert werden. * Um die Ausführung des Skripts selbst zu kontrollieren, ist eine Testumgebung für %%PHP-Skripte%% notwendig. Wie diese installiert und konfiguriert wird, steht in diesem Wiki in den Tips [[print2forms:tips:tip70|Visual Studio Code für PHP installieren]], [[print2forms:tips:tip71|Test von PHP-Skripten]] und [[print2forms:tips:tip72|PHP-Skript ohne Gateway testen]]. Im nachfolgenden Bild ist zu sehen, wie man so die Vergabe des neuen Dokumentnamens beobachten und kontrollieren kann. \\ {{print2forms:sign2forms:test1.gif}} \\ \\ === Hinweise === * Das %%PDF%%-Dokument für den Test direkt aus einem %%PDF%%-Reader heraus zu drucken, wird in der Regel nicht auf Anhieb funktionieren. Das liegt daran, dass diese Programme - auch sehr abhängig von ihrer Konfiguration - die Druckausgabe anders aufbereiten und sich damit eine abweichende Indexdatei ergibt. Das Formular //sign2forms// und auch das Skript für das Gateway //Phase 1// müssen dann angepasst werden. * Für den Fall, dass man das Skript //sign_1.php// lokal testen möchte, befinden sich im Verzeichnis //C:\sign2forms\Demo// die Dateien //%%B6TL4J8_35.PCL%%// und //B6TL4J8_35.CTL// als Beispiel für vom Gateway erzeugten Dateien. Diese können im Visual Studio Code direkt als Eingabe für das Skript verwendet werden.