Die iSeries kann viel mehr aus Druckern herausholen als man denkt.
von Terry Silva
August Utility der NEWSolutions | |
Load´n´go |
Seit Jahren gibt es auf PCs Textverarbeitungen und andere Programme, mit denen der Benutzer elegante Grafiken und Dokumente mit verschiedenen Schriftarten, Schriftgrößen und Zeilenabständen erstellen kann. Viele Anwender glauben, dass für ähnliche Dinge auf der iSeries teuere, komplizierte Zusatzsoftware von Drittanbietern oder Advanced Function Printing (AFP) erforderlich ist. Aber höhere Programmiersprachen (wie RPG) bieten die Möglichkeit, Vektorgrafiken und verschiedene Schriftarten und -größen auf einer Seite zu verwenden. Jeder Drucker, der mit der HP-Druckersprache PCL arbeitet, kann die hier beschriebene Methode für Grafiken und Schriftauswahl nutzen.
Zur Ausgabe von Grafiken und zur Auswahl von Schriftarten müssen Steuerzeichen an den Drucker gesendet werden. Einige Steuerzeichen beginnen mit dem Escape-Zeichen (hex ‚1B‘). Aber die iSeries weiß, dass alles unter hex ’20‘ nicht druckbar ist, und ersetzt nicht druckbare Zeichen freundlicherweise durch ein Leerzeichen. Wenn Sie also ein Escape-Zeichen senden wollen, müssen Sie einen Trick verwenden – oder besser gesagt OS/400.Dazu verwenden Sie Host Print Transform und erstellen einen eigenen WSCST (Workstation Customization) Befehl. Ich habe im WSCST auf meinem System eine Umsetzungstabelle eingefügt, die das Tilde-Zeichen (~) in ein Escape-Zeichen umsetzt. Wenn ich ein Tilde-Zeichen in die Druckausgabe eines RPG-Programms einfüge, wird es von OS/400 in ein Escape-Zeichen umgewandelt. Ich habe das Tilde-Zeichen ausgewählt, weil es sonst nicht verwendet wird, man könnte aber auch jedes andere Zeichen nehmen (siehe „Über WSCST“).
Sobald Sie die Möglichkeit haben, von HLL-Programmen aus das Escape-Zeichen an einen Drucker zu senden, können Sie jeden beliebigen Druckerbefehl ausgeben. Um z.B. den Zeilenabstand auf einem HP Laserdrucker auf 8 Zeilen pro Zoll zu ändern, senden Sie -&l8D und drucken danach mit dem neuen Zeilenabstand weiter. Genauso könnten Sie Schriftart, Schriftgröße, Schriftstil, Unterstreichungen und Linienstärken auswählen.
Die einzige Einschränkung sind die vom Drucker unterstützten Schriftarten. Allerdings können Sie zusätzlich zu den vom Hersteller eingebauten Schriftarten (den sogenannten Hard Fonts) auch ladbare Soft Fonts von Drittanbietern kaufen. Grafiken können aus Linien, Bögen, Kreisen und Polygonen bestehen.
Grafiken
Mit Vektorgrafiken können Sie wie mit einem Zeichenstift Linien, Flächen, Bögen und Kreise zeichnen. Die ersten grafischen Drucker waren Plotter (z.B. zum Zeichnen von Plänen), die mit einem x/y-Koordinatensystem arbeiteten. Zum Zeichnen musste man den Plotter anweisen, einen Stift mit einer bestimmten Strichstärke auszuwählen, an einer bestimmten Position aufzusetzen und eine Linie zu einem anderen Punkt zu ziehen. Diese Befehle sind auch heute noch in HPs PCL5 enthalten, obwohl wir keine Stifte mehr verwenden.
Um in PCL5 in den Grafikmodus HP/GL2 zu gelangen, geben Sie den Befehl A~%0B aus (wobei die Tilde ja durch Escape ersetzt wird). Solange Sie im Grafikmodus arbeiten, muss jede Anweisung mit einem Semikolon (;) beendet werden.
Als erstes wird mit dem Befehl AIN; der Drucker initialisiert. Obwohl wir nicht mehr mit Stiften arbeiten, müssen Sie als nächstes einen virtuellen Stift auswählen. Dazu senden Sie den Befehl ASP1;.
Danach wird die Strichstärke in Decipoints (1/1000 Inch) festgelegt. Die kleinstmögliche Strichstärke ist 0, was einem Decipoint entspricht, die größte zulässige Strichstärke ist 1, was 100 Decipoints entspricht. Die Strichstärke wird also mit Dezimalbrüchen zwischen 0 und 1 angegeben. Der Befehl APW.25,1; weist Stift Nr. 1 die Strichstärke von 25 Decipoints zu.
Wir verwenden in unserem Beispiel eine Papiergröße von 8 ½ mal 11 Inch. Wenn wir das Papier im Hochformat halten, bezeichnet 0,0 die linke untere Ecke und 8300,10150 die obere rechte Ecke. Eigentlich müßten wir die gesamte Seitengröße nutzen können, und die rechte obere Ecke läge bei 8500,11000. Aber wir müssen mit nicht bedruckbaren Rändern leben, so dass bei 8300,10150 Schluss ist.
- 7 Euro/Monat NEWSabo digital - sofort zugreifen.
- 13,5 Euro/Monat NEWSabo plus inklusive 5x Login & Print-Ausgabe - sofort zugreifen.