==== Druckeranpassungen ==== Obwohl alle von (p2f) unterstützten Drucker auf der von Hewlett-Packard definierten Printer Command Language (PCL) basieren, unterscheiden sie sich doch in vielen Punkten. Insbesondere was die Ansteuerung von Papierschächten und Papiernachbearbeitung (Heften, Lochen, Binden, etc) oder Schachtsteuerung betrifft, gehen viele Hersteller eigene Wege. Damit (p2f) mit den unterschiedlichen Druckermodellen klarkommt, müssen die Drucker und die Gateways diese besonderen Steuersequenzen kennen. Eine Beschreibung dieser Sequenzen wird in den sogenannten **Anpassungen** bereitgestellt. Anpassungen sind Texte, die nach einem festen Format aufgebaut sind. Jede Anpassung hat einen Namen und kann auf diese Weise von anderen Anpassungen unterschieden werden. Innerhalb der Anpassung gibt es durch Klammern gekennzeichnete Gruppen von Informationen, die die eigentlichen Informationen über die Steuersequenzen enthalten. Diese Gruppen haben meist ebenfalls Namen und beschreiben zum Beispiel Dinge wie die Ansteuerung der Papiereinzüge oder die Ablage von Daten auf der Festplatte des Druckers. Neben den eigentlichen an den Drucker zu sendenden Sequenzen enthalten die Anpassungen auch Angaben darüber, ob es sich um eine PCL- oder PJL-Sequenz handelt, und an welcher Stelle des Druckdatenstroms die Sequenz auszugeben ist, also etwa am Anfang des Druckauftrags oder am Ende einer Seite, etc. Zur Illustration im folgenden ein Ausschnitt aus einer Anpassung: /*----------------------------------------------------------------------*/ ( FM /* form mapping */ ( Choice, /* decode choices */ /* process data */ ( "Disk", AtBeginOfJob, ( "USER", PJL, "SET USERNAME = $22#S$22" ), /* name of box */ ( "FILE", PJL, "SET JOBNAME = $22#S$22" ), /* name of file */ ( "PRIV", PJL, "SET HOLD = ON", /* private box */ "SET HOLDTYPE = PRIVATE", "SET HOLDKEY = $22#S$22" ), ( "PUBL", PJL, "SET HOLD = ON", /* public box */ "SET HOLDTYPE = PUBLIC", "SET HOLDKEY = $22$22" ), ( "PROF", PJL, "SET HOLD = PROOF", /* proof print box */ "SET HOLDTYPE = PUBLIC", "SET HOLDKEY = $22$22" ) ), ( "Quant", AtBeginOfJob, ( "QTY", PJL, "SET QTY = #S" ) /* setup number of copies */ ), ( "MulUp", AtBeginOfJob, ( "FILE", NOP ), /* spool file */ ( "1", NOP ), /* 1-up */ ( "2", INV ), /* 2-up */ ( "4", INV ) /* 4-up */ ), ... \\ \\ Anpassungen können zum einen innerhalb des Containers mit der Bezeichnung **Anpassungen** hinterlegt werden, zum anderen können sie aber auch in eigenen Dateien abgespeichert werden, die dann bei der Konfiguration des Druckers oder des Gateways ausgewählt werden müssen. Für einige Druckermodelle existieren im Container **Anpassungen** bereits geeignete Anpassungen, auf deren Basis eigene Modifikationen vorgenommen werden können. Die Inhalte dieser Anpassungen können per 'Copy and Paste' in externe Dateien übernommen werden, die sich dann leicht mit einem einfachen Texteditor (keine Textverarbeitungsprogramme wie Word, etc) an die jeweiligen Erfordernisse des Druckers anpassen lassen. Die Nutzung einer als Datei abgelegten Anpassung wird dadurch erzwungen, daß die Angabe **Druckeranpassung** im Druckerobjekt leer gelassen wird. Die Schaltfläche **Auswahl** neben dem Feld Anpassungen im Konfigurationsdialog eines Druckers oder Gateways wird dann aktiviert, und es kann dann eine Datei mit Anpassungen ausgewählt werden. Die Nutzung einer Datei mit Anpassungen ist insbesondere bei der Anpassung neuer Druckermodelle sinnvoll. Wird nämlich an den Anpassungen im Container **Anpassungen** direkt geändert, betrifft dies natürlich auch alle Drucker und Gateways, die diese Anpassung verwenden und während der Änderungsphase neu gestartet werden. Bereits laufende Drucker oder Gateways greifen nicht mehr auf den Container **Anpassungen** zu, und bekommen die Änderungen daher zunächst nicht mit. Deshalb sollte zunächst mit einer Anpassungsdatei auf einem ganz bestimmten Drucker oder Gateway ausgiebig getestet werden, bevor dann der Inhalt dieser Anpassungsdatei wieder per 'Copy and Paste' in ein existentes oder neues Anpassungsobjekt übernommen wird. \\ === Hinweise === * Die Anpassung wird beim Starten eines Druckers oder eines Gateways auf syntaktische Korrektheit überprüft. Sollten sich dabei schon Fehler zeigen, wird der Drucker oder das Gateway gar nicht erst starten. Im Kontrollfeld wird eine entsprechende Fehlernummer angezeigt. Die Art und Position des Fehlers in der Anpassung kann dann der Ablaufverfolgung entnommen werden. * Wird ein Anpassungsobjekt modifiziert, gilt diese Modifikation für alle Drucker und Gateways, die in Ihrem Drucker- oder Gatewayobjekt eine Referenz auf diese Anpassung enthalten. Das gilt natürlich auch, wenn Anpassungsdateien verwendet werden, und diese von mehreren Druckern oder Gateways benutzt werden. * Innerhalb der Anpassung werden eine Reihe von Bezeichnern verwendet, die innerhalb von (p2f) vordefiniert sind, und deshalb unbedingt auch genau so geschrieben werden müssen. Hier die Liste dieser Bezeichner: 'Number', 'Choice', 'List', 'Reference', 'String', 'NOP', 'INT', 'PCL', 'PJL', 'SUP', 'LBL', 'INV', 'AtBeginOfJob', 'AtEndOfJob', 'AtBeginOfPage', 'AtEndOfPage', 'Operation', 'AtAttachment', 'AtCondition', 'AtRouter', 'AtRedirection', 'AtAny', 'AtBegin' und 'AtEnd'. * Vom Prinzip her können Gateways mit den gleichen Anpassungen betrieben werden wie Drucker. In Einzelfällen kann es aber abhängig von der Aufgabe des Gateways notwendig sein, Änderungen vorzunehmen, weil sich das durch das Gateway gestartete Programm oder Skript an bestimmten Eigenschaften des Datenstroms stört. Beispielsweise sind bei der Erzeugung von PDF-Dateien Dinge wie Schachtsteuerung, Kuvertiermarken, Tonerdichte, etc ohne Bedeutung oder störend. * Die Anpassungen entsprechen dem, was im **convert****4****print**-System als 'Druckerressourcen' bezeichnet wird. Der Begriff 'Ressource' ist aber in (p2f) bereits für die Ablage der Druckerdatenströme vorbelegt und deshalb mit Begriff 'Anpassung' ersetzt worden. Es ist bei der Verwendung beider Systeme auf dem gleichen Rechnersystem sehr sorgfältig darauf zu achten, daß diese Begriffe und die dazugehörigen Dateien nicht verwechselt werden! * Es ist richtig, daß die Anpassungen in (p2f) mit einem Komma enden, weil die Anpassungen noch um weitere Angaben aus dem Drucker oder Gateway ergänzt werden müssen!