===== Preisschild ===== Bei der Gestaltung von farbigen Dokumenten und Etiketten gilt es ein paar Dinge zu beachten, die sich aus den Eigenarten von PCL5c-Farbdruckern ergeben. Die PCL-Drucker können Farben nicht im üblichen Sinne mischen. Es gibt nur vordefinierte logische Operationen mit denen der bereits bedruckte Hintergrund mit den neu zu druckenden Objekten (Texte, Bilder, Linien) verrechnet werden kann. Die Ergebnisse sind aber selbst für Spezialisten nur schwer vorherzusagen. Daher werden in (p2f) diese logischen Operationen gar nicht erst angeboten. {{ print2forms:tutorial:preis5.png?450}}Stattdessen werden farbige Objekte immer so gedruckt, dass sie den Hintergrund abdecken. Es findet also de facto keinerlei Mischung statt. Das führt dazu, dass mit (p2f) in Schichten gedacht werden muss. Das soll anhand eines farbigen Etiketts demonstriert werden, wie es etwa im Möbelhandel als Preisschild eingesetzt werden könnte. Der alte Preis soll ausgestrichen werden, und der neue Preis soll mit einem an die Länge des Preises angepassten farbigen Hintergrund hervorgehoben werden. Die verwendeten Texte sollen unterschiedliche Farben haben, und ein Barcode für die interne Logistik soll das Etikett komplettieren. \\ \\ \\ Das Etikett könnte zwar als Formular mit unterschiedlichen Text-, Ressourcen- und Barcode-Feldern erzeugt werden, aber in diesem Fall ist es viel einfacher, eine Vorlage zu verwenden. Vorlagen in (p2f) sind Ressourcen, in denen Platzhalter definiert werden, die beim Druck der Vorlage gegen Druckdaten ausgetauscht werden. {{ print2forms:tutorial:preis1.png?450}}Um in (p2f) Vorlagen zu erstellen, kann im Prinzip jedes Programm verwendet werden, das in der Lage ist, das gewünschte Layout zu erzeugen. Im Beispiel hier wurde die Textverarbeitung aus dem kostenlosen //Open Office// Paket verwendet. Die Vorlage gibt das Layout des neuen Etiketts vor. Die verwendeten Schrifttypen, Schriftstile, Schriftgrössen, Positionen und Farben werden hier festgelegt. Wie in der Abbildung rechts zu sehen ist, sind bereits zahlreiche Platzhalter für die späteren Druckdaten zu erkennen: **Bezeichnung**, **Detailzeile1** bis **Detailzeile4**, **9.999,99** für den alten Preis und **8.888,88** für den neuen Preis. \\ {{print2forms:tutorial:preis4.png?450 }} Ist das Etikett fertig gestaltet, muss es in (p2f) als Ressource importiert werden. Dazu wird das Etikett einfach über den (p2f)-Farbdruckertreiber auf das Import-Gateway gedruckt. Im Druckdialog von //OpenOffice// wird das Import-Gateway ausgesucht und der Eigenschaftendialog des (p2f)-Farbdruckertreibers aufgerufen. Dort sind im Reiter //Import// die notwendigen Einstellungen vorzunehmen. Für die folgenden Ausführungen nehmen wir an, dass die neue Ressource den Namen //Preisschild// bekommt und wie die weiteren Ressourcen in einem Subcontainer //Preisschild// gespeichert wird. Dieser Subcontainer liegt seinerseits im Subcontainer //Etiketten//. Die bereits erwähnten Platzhalter werden im anschliessenden Dialog den (vorher aufgezeichneten) Druckdaten zugewiesen. Ist die Vorlage vollständig bearbeitet, kann diese durch Klicken auf die Schaltfläche //Import// zum Import-Gateway gesendet werden. \\ {{ print2forms:tutorial:preis2.png?230}} Für das Etikett werden jetzt noch fünf weitere Ressourcen benötigt. Zum einen sind dies die vier Hintergründe für ein- bis vierstellige Preise. Sie werden mit einem Graphikprogramm, wie zum Beispiel dem kostenlosen //Gimp// erstellt, und ebenfalls über den (p2f)-Farbdruckertreiber auf das Import-Gateway übertragen. Da hier keine Platzhalter erkannt werden, kann beim Import ohne weitere Aktion einfach auf die Schaltfläche //Import// geklickt werden. Für die folgenden Ausführungen nehmen wir an, dass die Namen dieser Ressourcen //Hintergrund 1// (für einstelligen Preis) bis //Hintergrund 4// (für vierstelligen Preis) sind. Als letzte Ressource wird noch ein kleines rotes Kreuz zum Ausstreichen des alten Preises benötigt. Dieses wird als Ressource mit dem Namen //Kreuz// importiert. Auch diese Ressourcen werden im Subcontainer //Etiketten/Preisschilder// abgelegt. Diese insgesamt sechs Ressourcen müssen jetzt über ein Formular so miteinander kombiniert werden, dass das gewünschte Ergebnis entsteht. Mit der Kenntnis, dass (p2f) bei Farbdrucken in Schichten arbeitet, wird klar, dass die Ressourcen //Hintergrund x// auf dem Papier sein müssen, bevor der Preis darüber gedruckt wird. Obwohl man das Kreuz zum Ausstreichen des alten Preises so erstellen könnte, dass die gesamten nicht roten Teile transparent sind (so ist es in der Tat auch), nützt das nur wenig, weil der PCL-Drucker mit Transparenzen nicht umgehen kann. Die halbtransparenten Ränder des Kreuzes werden vom Druckertreiber gegen Weiss als Hintergrund gemischt und alle volltransparenten Bereiche werden mit Weiss gefüllt. Das Kreuz über den Preis zu drucken, ist daher keine gute Idee, weil der Preis dann überdeckt wird. Also muss auch das Kreuz bereits auf dem Papier sein, bevor der alte Preis gedruckt wird. Es wird also klar, dass bei farbigen Etiketten die Reihenfolge von Feldern eine entscheidende Rolle spielt. \\ \\ Es stellt sich die Frage, wie ein Formular, dass einen Verweis auf eine Vorlage enthält, dafür sorgen kann, dass bereits ein Hintergrund auf dem Papier ist, bevor die Vorlage ausgefüllt und gedruckt wird. Hier muss man sich Detailwissen über (p2f) zu Hilfe nehmen. In (p2f) können Formulare sogenannte Unterformulare enthalten. Diese Unterformulare werden immer (!) vor dem eigentlichen Hauptformular gedruckt. Somit bietet sich ein Unterformular an, das den Hintergrund für die Vorlage druckt. ((In den aktuellen Versioen von (p2f) wurden die Druckprozesse dergestalt erweitert, dass zusätzlich zum Formular auch ein [[print2forms:objekte:prc:backgr|Hintergrund]] eingedruckt werden kann. Dieser wird direkt am Anfang der Druckdaten für eine Seite ausgegeben. Das wird hier, in diesem etwas älterem Beispiel, noch nicht genutzt.\\ \\ )) [Time]19.11.15 13:20:17 [Computer]thinkcentre3.spe-gmbh.de [User]Volker [Model]p2f Printer [Job]`Preisschild [File]1 [Form]Preisschild [Process]R$YYEMU.XML [0101D10000]Leder-Wohnlandschaft [01020D0000]Füße Metall [0102490000]ca. 247 x 346 x 168 cm [0102850000]Gegen Mehrpreis: Schlaffunktion, Relaxrücken, [0102C10000]Einzelvorziehsitz, Kopfstütze, Armverstellung [0102FD0000]5.802,- [0103390000]1.999,- [0103750000]5671237 [Page] … Bevor an die Definition dieses Hintergrund-Formulars gegangen wird, muss ein Blick auf die Indexdatei mit den Nutzdaten geworfen werden. Der Hintergrund ist ja nicht statisch, sondern ändert sich abhängig von der Länge des anzuzeigenden Preises. Um diese Länge festzustellen, muss mit einem regulären Ausdruck der neue Preis am Index ''[0003390000]'' getestet werden. Die vier Ressourcenfelder für den Hintergrund müssen also über die Ausdrücke ''#\.###,.*'', ''###,.*'', ''##,.*'' und ''#,.*'', konditioniert werden. Die Ausdrücke enden auf ''.*'' weil zulässig sein soll, statt '99,00' auch '99,-' zu schreiben. Es werden also zwei Formulare gebraucht: eines mit dem Namen //Preisschild//, das die Vorlage aufruft, und eines mit dem Namen //Hintergrund//, das als Unterformular aufgerufen wird, um den farbigen Hintergrund zu drucken. {{print2forms:tutorial:preis7.png}}\\ \\ Die beiden Ressourcenfelder //Hintergrund 2// und //Hintergrund 3// (rechte Abbildung) wurden der Übersichtlichkeit halber nicht ausgeklappt gezeigt. Ihr Inhalt ist analog zu den beiden sichtbaren Ressourcenfeldern. Das Ressourcenfeld //Kreuz// druckt das Kreuz zum Ausstreichen des alten Preises an eine fixe Position. Die Grösse des Kreuzes und seine Position sind unabhängig von der Länge des alten Preises. \\ \\ {{print2forms:tutorial:preis8.png}} {{print2forms:tutorial:preis6.png}}\\ \\ Bei der Definition des Druckprozesses (linke Abbildung) für den Druck des Etiketts ist darauf zu achten, dass als Seitentyp ''Nutzdatenseite'' angegeben wird, weil die Druckdaten selbst nicht auf's Papier kommen sollen, sondern nur als ersetzter Platzhalter innerhalb der Vorlage. Das Papierformat wird passend zur Grösse des Etiketts auf DIN A5 quer eingestellt. Die Grösse wurde bereits beim Entwurf der Vorlage in //Open Office// so festgelegt. \\ ==== Druckergebnis ==== Ist alles richtig eingerichtet, sollte sich das folgende Druckbild ergeben (vier einzelne DIN A5 Seiten): {{print2forms:tutorial:preis3.png}} \\ \\ ==== Hinweise ==== * Das Übereinaderdrucken von Bildern geht im Allgemeinen in (p2f) nicht. Einmal von exakt rechteckigen oder quadratischen Bildern abgesehen, ergibt sich immer das Problem des nicht transparenten Hintergrunds, was in der Regel zu weissen Fehlstellen im Hintergrund führt. Hier muss man sich abhängig von der Anzahl der Bilder andere Vorgehensweisen einfallen lassen und beispielsweise die bereits fertig gemischten Bilder als Ressource importieren. \\ \\