View Full Version : Transparenzdruck ?
hi hans-joachim,
X'1B45' steht doch für Esc E :confused:
45 ist aber der ascii-hexwert.
ich hatte in meinem beispielen die ebcdic-hexwerte verwendet :o
und wenn ich mir jetzt nicht mühe machen will, für die ganzen pcl-commandos die richtigen hexwerte herauszuknobeln hatte ich eben gedacht, ich nehme einen string, schreibe z.b.
"Esc (s30v2p305h24720T" hinein und lasse diesen mit QDCXLATE in ascii umsetzen.
hi hans-joachim,
X'1B45' steht doch für Esc E :confused:
45 ist aber der ascii-hexwert.
ich hatte in meinem beispielen die ebcdic-hexwerte verwendet :o
und wenn ich mir jetzt nicht mühe machen will, für die ganzen pcl-commandos die richtigen hexwerte herauszuknobeln hatte ich eben gedacht, ich nehme einen string, schreibe z.b.
"Esc (s30v2p305h24720T" hinein und lasse diesen mit QDCXLATE in ascii umsetzen.
also ich habe das, was ich brauchte (bis auf barcode) alles 1b45 usw.
benutzt.
doch bevor ich mein abitur in pcl gemacht habe, bin ich dann doch lieber auf dds zurückgegangen (bei mir ging es ja :) )
irgendetwas mache ich wohl noch falsch - kann mir jemand helfen ?
hier die DDS meines PRTF (leider etwas gestaucht):
A 1 2'Barcode-Test EAN128 - Anfang'
A
A* '~ ( s 7 2 V 4 P 1 0 5 H 2 4 7 2 0 T'
A 10 2DFT(X'1B287337325634503130354832343-
A 7323054')
A TRNSPY
A
A* MUSTERBARCODE
A +1'0003700147000000236910678425193219'
A
A 35 2'Barcode-Test EAN128 - Ende'
der drucker ist als 3812 mit *LAN und TRANSFORM(*YES) konfiguriert - muss evtl. hier etwas geändert werden ?
danke im voraus
sigi
Wichtig ist tatsächlich, dass das gesamte Feld mit TRNSPY in ASCII ausgegeben werden muss !
Zusätzlich ist auch RPLUNPRT(*NO) erforderlich, da sonst x'1B' in x'20' ersetzt wird.
Eine Trennung in 2 Felder, 1 für x'1B' und der Rest funktioniert nicht, da jedes DDS-Feld einzeln von Hosttransform in eigene ESC's gepackt wird.
Ich wüsste nicht, dass DFT bei PRTF's funktioniert.
Normalerweise gibts halt nur Textkonstanten oder Felder. DFT gilt nur bei DSPF's.
Für die Umwandlung EBCDIC-ASCII kannst du QDCXLATE mit der Tabelle QUSRSYS/QASCII verwenden da nur nicht variante Zeichen (A-Z und 0-9) als Barcode gedruckt werden müssen.
nun ist land in sicht (fehler war vor dem bildschirm :o ):
es funktioniert wie von jajonowak beschrieben:
- ESC-sequenz in ASCII-Hex mit TRNSPY ausgeben
- nutzdaten als normales feld
- DFT geht übrigens auch bei PRTF
sidoc_Support
18-09-06, 17:22
Natürlich muss man ASCII Hex angeben! Sonst wäre es ja nicht transparent.
Es ist u.a. notwendig, eine String-Umsetzung nach HEX zu schreiben, die EBCDIC->ASCII umsetzt. Da gibt es z.B. das genannte API. Alle Steuersequenzen sind aber am besten hart-codiert anzugeben - wie das besagte 1B45. 1B ist das ESC-Zeichen für ASCII. Da wird nix umgesetzt. Soll es ja auch nicht!!!
Ebcdic-Zeichen wird kein (nicht IBM) Laserdrucker verstehen.
Gruß
M.