Hilfsprogramm p2fViewer

Anforderung

Beim Austesten von Formularen und Abläufen mit print2forms kommt irgendwann unweigerlich einmal der Wunsch auf, nicht immer alles auf einem Laserdrucker real ausgeben zu müssen - zum einen, weil es Ressourcen (Papier, Toner) verbraucht, und zum anderen, weil man nicht zum Drucker laufen oder nicht auf den Drucker warten will. Man bräuchte also ein Programm, dass einen Laserdrucker auf dem eigenen Rechner simuliert.

Ein solches Programm bietet unter anderem die amerikanische Firma Lincoln & Co (http://www.lincolnco.com) mit ihrem Produkt PageView an, welches PCL-Dateien einliest und in einem eigenen Fenster anzeigt. Dabei kann die Darstellungsgröße variiert werden, und man kann durch die verschiedenen Seiten des gedruckten Dokuments navigieren. Das Programm unterstützt sowohl Schwarz/Weiss- als auch Farbausgaben.

PageView, genauso wie die Programme der Mitbewerber, öffnen über einen Dialog eine Datei mit PCL-Daten, lesen diese ein und zeigen sie an. Damit ist aber kein flüssiges Arbeiten mit print2forms möglich, weil man immer erst eine Datei erzeugen muss, um sie im Programm PageView anzuzeigen - nicht wirklich ein großer Gewinn.

Hier setzt das Hilfsprogramm p2fViewer.exe an, das den Prozess der Dateierzeugung und des anschliessenden Öffnens der Datei automatisiert.

Realisierung

Die Grundidee hinter dem Programm p2fViewer.exe ist, im Netzwerk einen kleinen Server zur Verfügung zu stellen, der die Druckdaten eines print2forms-Clients anstatt eines realen Druckers entgegennimmt. Die Druckdaten werden dann in einer Datei zwischengespeichert, und, sobald der print2forms-Client die Netzwerkverbindung trennt, über eine Kommandozeile an ein Anzeigeprogramm übergeben.

Weil der Aufwand für einen eigenen Windows-Dienst unangemessen hoch ist, haben wir uns dazu entschieden, diesen kleinen Server im Rahmen eines Programms zu realisieren, das sich in die Task-Leiste des Windows-Systems einklinkt und dort während der gesamten Sitzungsdauer zur Verfügung steht. Das Einklinken in die Task-Leiste kann entweder durch manuellen Aufruf des Programms (Doppelklick) erfolgen, oder dadurch, dass das Programm in den Autostart-Ordner des Windows-Systems kopiert wird.

Sobald das Programm gestartet ist, erscheint ein kleines Icon in der Task-Leiste, das eine Druckseite symbolisieren soll (in der Abbildung das dritte Icon von Rechts). Das Icon kann unterschiedliche Farben haben, die Auskunft über den Zustand und die Betriebsbereitschaft des Programms geben. Die Farbe Rot zeigt an, dass das Programm nicht betriebsbereit ist. Nur in diesem Zustand können die Einstellungen des Programms geändert werden. Die Farbe Gelb zeigt an,dass das Programm auf Druckdaten wartet. Die Farbe Grün schliesslich zeigt an, dass gerade Druckdaten empfangen oder angezeigt werden.


Geht man mit dem Mauszeiger über das Icon, wird der aktuelle Zustand des Programms auch als Klartext angezeigt.

Klickt man mit der rechten Maustaste auf das Icon, erscheint ein Kontextmenü. Die einzelnen Menüpunkte sind je nach aktuellem Betriebszustand des Programms aktiviert oder deaktiviert.





Info Viewer ...

Bei Auswahl dieser immer angezeigten Option erscheint ein kleiner Dialog, der Auskunft über das Programm p2fViewer.exe gibt. Neben der Versionsnummer des Programms wird auch die Anzahl der bisher verarbeiteten Druckaufträge angezeigt.


Hilfe ...

Bei Auswahl dieser immer angezeigten Option wird die Hilfedatei zum Programm p2fViewer.exe geöffnet und angezeigt. Der Hilfetext enthält auch einen Link auf diesen Wiki-Artikel.

Starten

Diese Option wird nur angezeigt, wenn das Programm nicht betriebsbereit ist (rotes Icon). Wird die Option ausgewählt, wird der kleine Server zum Empfang von Druckdaten gestartet. Das Icon färbt sich um in Gelb, oder, falls direkt Druckdaten anstehen, auch in Grün.

Anhalten

Diese Option wird nur angezeigt, wenn das Programm betriebsbereit aber nicht aktiv ist (gelbes Icon). Wird die Option ausgewählt, wird der kleine Server zum Empfang von Druckdaten angehalten. Das Icon färbt sich um in Rot.

Einstellungen

Diese Option wird nur angezeigt, wenn das Programm angehalten ist (rotes Icon). Wird die Option ausgewählt, wird der Einstelldialog des Programms aufgerufen.

Da der Empfang der Druckdaten über das Netzwerk erfolgt, sind die Einstellungen der Netzwerkparameter für den Betrieb des Programms wichtig. Es muss eine IP-Adresse und eine Portnummer ausgewählt werden, an die sich der kleine Server zum Empfang der Druckdaten binden soll.

Die zur Verfügung stehenden Netzwerkadressen sind in einer Liste aufgeführt. Es werden sowohl TCP/IP-V4 als auch TCP/IP-V6 Schnittstellen erkannt und zur Auswahl angeboten. Die Einstellung :: steht für eine beliebige IP-V6 Adresse. Das Programm ist dann über alle IP-V6-Adressen des Rechners ansprechbar. Die Einstellung 0.0.0.0 steht für eine beliebige IP-V4-Adresse. Das Programm ist dann über alle IP-V4-Adressen des Rechners ansprechbar.

Alle anderen angebotenen Netzwerkadressen kennzeichnen ganz dediziert einzelne auf dem Rechner verfügbare Schnittstellen. Das Programm ist dann ausschliesslich nur unter dieser Adresse ansprechbar. Bei der Auswahl einer link-lokalen IP-V6-Adresse (fe80:) sind natürlich die Einschränkungen für das Routing zu beachten.

Mit der Auswahl Dateinamen kann entschieden werden, ob mit der Einstellung Fix das Programm nur eine einzige Datei für das Zwischenspeichern der Druckaufträge verwendet (mit dem Namen VIEW.PCL), oder mit der Einstellung Fortlaufend mehrere durchnumerierte Dateien erzeugt werden sollen (mit den Namen VIEW_###.PCL). Wird die Auswahl print2forms Treiber aktiviert, geht das Programm davon aus, dass mit einem print2forms-Treiber gedruckt wird. Der Name der Datei mit dem Druckauftrag ist dann der Job-Name aus dem PJL-Kommando 'SET JOB'. Kann kein Job-Name ermittelt werden, werden die Dateien wie bei der Einstellung Fortlaufend durchnumeriert.

In der Gruppe Viewer wird die Schnittstelle zum eigentlichen Anzeigeprogramm konfiguriert. Hier wird eine Kommandozeile angeboten, in die zunächst der Pfad zum Anzeigeprogramm aufzunehmen ist. Damit das Anzeigeprogramm weiss, welche Datei zu öffnen ist, wird der Dateiname als Parameter übergeben. Der Platzhalter für den Dateinamen ist %1. Vor Ausführung der Kommandozeile wird der vollständige Pfad zur Datei mit den Druckdaten für den Platzhalter eingesetzt. Wegen der im Pfad eventuell vorhandenen Leerzeichen sind die doppelten Anführungszeichen um den Platzhalter in dem meisten Fällen zwingend.

Unter Spool Verzeichnis muss das Verzeichnis ausgewählt werden, in welchem das Programm p2fViewer.exe die Dateien zur Zwischenspeicherung der Druckaufträge ablegen soll. Die Schaltfläche Auswahl öffnet den Standarddialog zur Auswahl eines Verzeichnisses.

Durch einen Klick auf die Schaltfläche OK werden die gemachten Einstellungen übernommen.

Beenden

Diese Option wird nur angezeigt, wenn das Programm nicht aktiv ist (kein grünes Icon). Wird die Option ausgewählt, wird das Programm p2fViewer.exe beendet und aus der Taskleiste entfernt.

Anwendung

Um das Programm p2fViewer.exe nach erfolgreicher Installation und Konfiguration einsetzen zu können, muss nur noch die Ausgabeseite eines print2forms-Clients statt mit einem Drucker mit diesem Programm verbunden werden. Das ist ganz einfach dadurch machbar, dass statt der Druckerangaben jetzt die IP-Adresse und die Portnummer des Programms eingetragen werden. Dabei ist allerdings zu beachten, dass der print2forms-Client keine Überwachung des Druckers (jetzt das Programm) durchführen kann. Die Einstellung Überwachung muss unbedingt auf den Wert Keine gesetzt werden.

Erzeugt nun der print2forms-Client Druckdaten, nimmt er über das Netzwerk Verbindung mit dem Programm auf und überträgt die Druckdaten. Sobald alles übertragen ist, baut der print2forms-Client die Netzwerkverbindung ab, und das Programm übergibt die eben erzeugte PCL-Datei an das Anzeigeprogramm. Für die Dauer der Anzeige bleibt das Icon des Programms Grün und es werden keine weiteren Druckdaten entgegengenommen.

Sobald das Anzeigeprogramm beendet wird, nimmt p2fViewer.exe wieder neue Druckdaten an. Dadurch ist ein streng sequenzielles Vorgehen mit maximalen Komfort gewährleistet.

Hinweise