Skip to main content

I'm attempting to adjust the pitch to 12 characters per inch so the invoice number (green box) will fit within the designated column:

However, the output is not affected, and the HP printer just passes the code through as if it is text to be printed (yellow box).

I'm using the following code with the intention of every subsequent print statement resulting in text that is 12 chars/in.

X.ESC = CHAR(27)
X.PCL.COMMAND = X.ESC:"(s12H"
PRINT X.PCL.COMMAND

Does anything need to be enabled on the printer (hp4350) for PCL commands to take effect?

The printer in question will generate a PCL font list so I think that confirms the required software is present.

Also, does every print statement have to include the escape sequence or can it just be invoked once and remain in effect until the page/job is finished?

It's been 10+ years since I messed with this (at another site), but I don't recall having any trouble with it.



------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------

I'm attempting to adjust the pitch to 12 characters per inch so the invoice number (green box) will fit within the designated column:

However, the output is not affected, and the HP printer just passes the code through as if it is text to be printed (yellow box).

I'm using the following code with the intention of every subsequent print statement resulting in text that is 12 chars/in.

X.ESC = CHAR(27)
X.PCL.COMMAND = X.ESC:"(s12H"
PRINT X.PCL.COMMAND

Does anything need to be enabled on the printer (hp4350) for PCL commands to take effect?

The printer in question will generate a PCL font list so I think that confirms the required software is present.

Also, does every print statement have to include the escape sequence or can it just be invoked once and remain in effect until the page/job is finished?

It's been 10+ years since I messed with this (at another site), but I don't recall having any trouble with it.



------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------

Hi Shawn,

You need to send the decimal ESC not ASCII i.e. (27)(s12H

Cheers



------------------------------
Justin Gledhill
Business Analyst
Ecolab Incorporated
NSW AU
------------------------------

I'm attempting to adjust the pitch to 12 characters per inch so the invoice number (green box) will fit within the designated column:

However, the output is not affected, and the HP printer just passes the code through as if it is text to be printed (yellow box).

I'm using the following code with the intention of every subsequent print statement resulting in text that is 12 chars/in.

X.ESC = CHAR(27)
X.PCL.COMMAND = X.ESC:"(s12H"
PRINT X.PCL.COMMAND

Does anything need to be enabled on the printer (hp4350) for PCL commands to take effect?

The printer in question will generate a PCL font list so I think that confirms the required software is present.

Also, does every print statement have to include the escape sequence or can it just be invoked once and remain in effect until the page/job is finished?

It's been 10+ years since I messed with this (at another site), but I don't recall having any trouble with it.



------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------

I checked our invoice print routine and the 1st line shows as "\\D027(s1p10v0s3b4099T" (\\D027=Esc), which sets the
font to courier bold.

Also, the the driver for the print queue is set to "cat /uvsp/5SINORM - | lp -d hpit0".  It looks like this is what
sets up the PCL.  (\\D027=Esc)

5SINORM
 Basic Editor           &UVSPOOL&                                     11-30-23
 Acct: UCPPGM           5SINORM                                       07:39:38
0001:\\D027(8U\\D027(s0p21h0s3b4102T\\D027&l8D\\D027&l4E\\D027&a10L
EOI


I have the following code in an INCLUDE so I don't have to remember all of the syntax.
*****
    ESC = CHAR(27)
    HP.RESET = ESC:'*E'
    HP.GL2 = ESC:'%0B'  ;** HP-GL/2 mode
    HP.PCL = ESC:'%0A'  ;** PCL mode (default)
    HP.UNDLINE.FLOAT = ESC:'&d0D'
    HP.UNDLINE.FIXED = ESC:'&d3D'
    HP.NOLINE = ESC:'&d@'
    HP.FIXED = ESC:'(s0p'
    HP.PROP = ESC:'(s1p'
    HP.PORTRAIT = ESC:'&l0O'
    HP.LANDSCAPE = ESC:'&l1O'
    HP.SIMPLEX = ESC:'&l0S'
    HP.DUPLEX = ESC:'&l1S'
    HP.ENDPLEX = ESC:'%-12345X'
    HP.TBMARGIN = ESC:'&l'
    HP.TMARGIN = 'E'         ;** HP.TB.MARGIN:5:HP.TMARGIN
** FORM LENGTH
    HP.BMARGIN = 'L'         ;** HP.TB.MARGIN:76:HP.BMARGIN
    HP.FORMLEN = 'F'         ;** HP.TB.MARGIN:88:HP.FORMLEN
    HP.LRMARGIN = ESC:'&a'
    HP.LMARGIN = 'L'         ;** HP.LR.MARGIN:5:HP.LMARGIN
    HP.RMARGIN = 'M'         ;** HP.LR.MARGIN:5:HP.RMARGIN
    HP.CLR.HMARGIN = ESC:9 ;** CLEAR HORIZONTAL MARGINS
    HP.TRAY1 = ESC:'&l8H'
    HP.TRAY2 = ESC:'&l1H'
    HP.TRAY3 = ESC:'&l4H'
    HP.TRAY4 = ESC:'&l5H'  ;** 2000 SHEET
    HP.CPI = ''
    HP.4LPI = ESC:'&l4D'
    HP.6LPI = ESC:'&l6D'
    HP.8LPI = ESC:'&l8D'
    HP.10LPI = ESC:'&l10D'
    HP.12LPI = ESC:'&l12D'
    HP.14LPI = ESC:'&l14D'
    HP.16LPI = ESC:'&l16D'
    HP.300DPI = ESC:'*t300R'
    HP.600DPI = ESC:'*t600R'
    HP.HV.POS = ESC:'&a'   ;** ROWS/COLUMNS
    HP.VPOS = 'R'          ;** HP.HV.POS:5:HP.VPOS
    HP.HPOS = 'C'          ;** HP.HV.POS:10:HP.HPOS
    HP.HV.DPOS = ESC:'&p'  ;** DOTS
    HP.VDPOS = 'Y'         ;** HP.HV.DPOS:5:HP.VDPOS
    HP.HDPOS = 'X'         ;** HP.HV.DPOS:10:HP.HDPOS
    HP.HV.DPTPOS = ESC:'&a';** DECIPOINTS
    HP.VDPTPOS = 'Y'       ;** HP.HV.DPTPOS:5:HP.VDPTPOS
    HP.HDPTPOS = 'X'       ;** HP.HV.DPTPOS:10:HP.HDPTPOS
** HP SIMPLE COLOR PALLETE RGB
    HP.CLR.RGB = ESC:'*r3U'
    HP.CLR.RGB.BLACK = HP.CLR.RGB:ESC:'*v0S'
    HP.CLR.RGB.RED = HP.CLR.RGB:ESC:'*v1S'
    HP.CLR.RGB.GREEN = HP.CLR.RGB:ESC:'*v2S'
    HP.CLR.RGB.YELLOW = HP.CLR.RGB:ESC:'*v3S'
    HP.CLR.RGB.BLUE = HP.CLR.RGB:ESC:'*v4S'
    HP.CLR.RGB.MAGENTA = HP.CLR.RGB:ESC:'*v5S'
    HP.CLR.RGB.CYAN = HP.CLR.RGB:ESC:'*v6S'
    HP.CLR.RGB.WHITE = HP.CLR.RGB:ESC:'*v7S'
** SPECIAL EFFECTS ON FONTS
    HP.OUTLINE = ESC:'(s32S'
    HP.INLINE = ESC:'(s64S'
    HP.SHADOW = ESC:'(s128S'
    HP.SHADOW.OUT = ESC:'(s160S'
** DEFAULT FONTS
    HP.FONT.INITF = HP.FIXED
    HP.FONT.INITP = HP.PROP
    HP.FONT.INIT = ESC:'(s1P'
** PROPORTIONAL
    HP.ALBERTUS     = 'v0s0b4362T'    ;** HP.FONT.INIT:size:HP.ALBERTUS
    HP.ALBERTUS.B   = 'v0s3b4362T'
    HP.ALBERTUS.I   = 'v1s0b4362T'
    HP.ALBERTUS.B.I = 'v1s3b4362T'
    HP.ANTOLIVE     = 'v0s0b4168T'
    HP.ANTOLIVE.B   = 'v0s3b4168T'
    HP.ANTOLIVE.I   = 'v1s0b4168T'
    HP.ANTOLIVE.B.I = 'v1s3b4168T'
    HP.ARIAL     = 'v0s0b16602T'
    HP.ARIAL.B   = 'v0s3b16602T'
    HP.ARIAL.I   = 'v1s0b16602T'
    HP.ARIAL.B.I = 'v1s3b16602T'
    HP.CGTIMES     = 'v0s0b4101T'
    HP.CGTIMES.B   = 'v0s3b4101T'
    HP.CGTIMES.I   = 'v1s0b4101T'
    HP.CGTIMES.B.I = 'v1s3b4101T'
    HP.CGOMEGA     = 'v0s0b4113T'
    HP.CGOMEGA.B   = 'v0s3b4113T'
    HP.CGOMEGA.I   = 'v1s0b4113T'
    HP.CGOMEGA.B.I = 'v1s3b4113T'
    HP.CORONET     = 'v0s0b4116T'
    HP.CORONET.B   = 'v0s3b4116T'
    HP.CORONET.I   = 'v1s0b4116T'
    HP.CORONET.B.I = 'v1s3b4116T'
    HP.CLARENDON     = 'v0s0b4140T'
    HP.CLARENDON.B   = 'v0s3b4140T'
    HP.CLARENDON.I   = 'v1s0b4140T'
    HP.CLARENDON.B.I = 'v1s3b4140T'
    HP.COURIER     = 'v0s0b4099T'
    HP.COURIER.B   = 'v0s3b4099T'
    HP.COURIER.I   = 'v1s0b4099T'
    HP.COURIER.B.I = 'v1s3b4099T'
    HP.GARAMOND     = 'v0s0b4197T'
    HP.GARAMOND.B   = 'v0s3b4197T'
    HP.GARAMOND.I   = 'v1s0b4197T'
    HP.GARAMOND.B.I = 'v1s3b4197T'
    HP.GOTHIC     = 'v0s0b4102T'
    HP.GOTHIC.B   = 'v0s3b4102T'
    HP.GOTHIC.I   = 'v1s0b4102T'
    HP.GOTHIC.B.I = 'v1s3b4102T'
    HP.LPTR     = 'v0s0b0T'
    HP.LPTR.B   = 'v0s3b0T'
    HP.LPTR.I   = 'v1s0b0T'
    HP.LPTR.B.I = 'v1s3b0T'
    HP.MARIGOLD     = 'v0s0b16901T'
    HP.MARIGOLD.B   = 'v0s3b4297T'
    HP.MARIGOLD.I   = 'v1s0b4297T'
    HP.MARIGOLD.B.I = 'v1s3b4297T'
    HP.TIMESROMAN     = 'v0s0b16901T'
    HP.TIMESROMAN.B   = 'v0s3b16901T'
    HP.TIMESROMAN.I   = 'v1s0b16901T'
    HP.TIMESROMAN.B.I = 'v1s3b16901T'
    HP.UNIVERS     = 'v0s0b4148T'
    HP.UNIVERS.B   = 'v0s3b4148T'
    HP.UNIVERS.I   = 'v1s0b4148T'
    HP.UNIVERS.B.I = 'v1s3b4148T'
** FIXED
    HP.ALBERTUSF     = 'h0s0b4362T'    ;** HP.FONT.INIT:size:HP.ALBERTUS
    HP.ALBERTUSF.B   = 'h0s3b4362T'
    HP.ALBERTUSF.I   = 'h1s0b4362T'
    HP.ALBERTUSF.B.I = 'h1s3b4362T'
    HP.ANTOLIVEF     = 'h0s0b4168T'
    HP.ANTOLIVEF.B   = 'h0s3b4168T'
    HP.ANTOLIVEF.I   = 'h1s0b4168T'
    HP.ANTOLIVEF.B.I = 'h1s3b4168T'
    HP.ARIALF     = 'h0s0b16602T'
    HP.ARIALF.B   = 'h0s3b16602T'
    HP.ARIALF.I   = 'h1s0b16602T'
    HP.ARIALF.B.I = 'h1s3b16602T'
    HP.CGTIMESF     = 'h0s0b4101T'
    HP.CGTIMESF.B   = 'h0s3b4101T'
    HP.CGTIMESF.I   = 'h1s0b4101T'
    HP.CGTIMESF.B.I = 'h1s3b4101T'
    HP.CGOMEGAF     = 'h0s0b4113T'
    HP.CGOMEGAF.B   = 'h0s3b4113T'
    HP.CGOMEGAF.I   = 'h1s0b4113T'
    HP.CGOMEGAF.B.I = 'h1s3b4113T'
    HP.CORONETF     = 'h0s0b4116T'
    HP.CORONETF.B   = 'h0s3b4116T'
    HP.CORONETF.I   = 'h1s0b4116T'
    HP.CORONETF.B.I = 'h1s3b4116T'
    HP.CLARENDONF     = 'h0s0b4140T'
    HP.CLARENDONF.B   = 'h0s3b4140T'
    HP.CLARENDONF.I   = 'h1s0b4140T'
    HP.CLARENDONF.B.I = 'h1s3b4140T'
    HP.COURIERF     = 'h0s0b4099T'
    HP.COURIERF.B   = 'h0s3b4099T'
    HP.COURIERF.I   = 'h1s0b4099T'
    HP.COURIERF.B.I = 'h1s3b4099T'
    HP.GARAMONDF     = 'h0s0b4197T'
    HP.GARAMONDF.B   = 'h0s3b4197T'
    HP.GARAMONDF.I   = 'h1s0b4197T'
    HP.GARAMONDF.B.I = 'h1s3b4197T'
    HP.GOTHICF     = 'h0s0b4102T'
    HP.GOTHICF.B   = 'h0s3b4102T'
    HP.GOTHICF.I   = 'h1s0b4102T'
    HP.GOTHICF.B.I = 'h1s3b4102T'
    HP.LPTRF     = 'h0s0b0T'
    HP.LPTRF.B   = 'h0s3b0T'
    HP.LPTRF.I   = 'h1s0b0T'
    HP.LPTRF.B.I = 'h1s3b0T'
    HP.MARIGOLDF     = 'h0s0b16901T'
    HP.MARIGOLDF.B   = 'h0s3b4297T'
    HP.MARIGOLDF.I   = 'h1s0b4297T'
    HP.MARIGOLDF.B.I = 'h1s3b4297T'
    HP.TIMESROMANF     = 'h0s0b16901T'
    HP.TIMESROMANF.B   = 'h0s3b16901T'
    HP.TIMESROMANF.I   = 'h1s0b16901T'
    HP.TIMESROMANF.B.I = 'h1s3b16901T'
    HP.UNIVERSF     = 'h0s0b4148T'
    HP.UNIVERSF.B   = 'h0s3b4148T'
    HP.UNIVERSF.I   = 'h1s0b4148T'
    HP.UNIVERSF.B.I = 'h1s3b4148T'
    ARIAL.6 = HP.FONT.INITP:6:HP.ARIAL
    ARIAL.6B = HP.FONT.INITP:6:HP.ARIAL.B
    ARIAL.8 = HP.FONT.INITP:8:HP.ARIAL
    ARIAL.8B = HP.FONT.INITP:8:HP.ARIAL.B
    ARIAL.10 = HP.FONT.INITP:10:HP.ARIAL
    ARIAL.10B = HP.FONT.INITP:10:HP.ARIAL.B
    ARIAL.12 = HP.FONT.INITP:12:HP.ARIAL
    ARIAL.12B = HP.FONT.INITP:12:HP.ARIAL.B
    ARIAL.14 = HP.FONT.INITP:14:HP.ARIAL
    ARIAL.14B = HP.FONT.INITP:14:HP.ARIAL.B
    ARIAL.14BI = HP.FONT.INITP:14:HP.ARIAL.B.I
    ARIAL.16 = HP.FONT.INITP:16:HP.ARIAL
    ARIAL.16B = HP.FONT.INITP:16:HP.ARIAL.B
    ARIAL.16BI = HP.FONT.INITP:16:HP.ARIAL.B.I
    ARIAL.20B = HP.FONT.INITP:20:HP.ARIAL.B
    ARIAL.22B = HP.FONT.INITP:22:HP.ARIAL.B
    ARIAL.24B = HP.FONT.INITP:24:HP.ARIAL.B
    ARIAL.26B = HP.FONT.INITP:26:HP.ARIAL.B
    ARIALF.2 = HP.FONT.INITF:2:HP.ARIALF
    ARIALF.2B = HP.FONT.INITF:2:HP.ARIALF.B
    ARIALF.3 = HP.FONT.INITF:3:HP.ARIALF
    ARIALF.3B = HP.FONT.INITF:3:HP.ARIALF.B
    ARIALF.4 = HP.FONT.INITF:4:HP.ARIALF
    ARIALF.4B = HP.FONT.INITF:4:HP.ARIALF.B
    ARIALF.6 = HP.FONT.INITF:6:HP.ARIALF
    ARIALF.6B = HP.FONT.INITF:6:HP.ARIALF.B
    ARIALF.8 = HP.FONT.INITF:8:HP.ARIALF
    ARIALF.8B = HP.FONT.INITF:8:HP.ARIALF.B
    ARIALF.10 = HP.FONT.INITF:10:HP.ARIALF
    ARIALF.10B = HP.FONT.INITF:10:HP.ARIALF.B
    ARIALF.12 = HP.FONT.INITF:12:HP.ARIALF
    ARIALF.12B = HP.FONT.INITF:12:HP.ARIALF.B
    ARIALF.14 = HP.FONT.INITF:14:HP.ARIALF
    ARIALF.14B = HP.FONT.INITF:14:HP.ARIALF.B
    ARIALF.16 = HP.FONT.INITF:16:HP.ARIALF
    ARIALF.16B = HP.FONT.INITF:16:HP.ARIALF.B
    COURIER.6 = HP.FONT.INITP:6:HP.COURIER
    COURIER.6B = HP.FONT.INITP:6:HP.COURIER.B
    COURIER.8 = HP.FONT.INITP:8:HP.COURIER
    COURIER.8B = HP.FONT.INITP:8:HP.COURIER.B
    COURIER.10 = HP.FONT.INITP:10:HP.COURIER
    COURIER.10B = HP.FONT.INITP:10:HP.COURIER.B
    COURIER.11 = HP.FONT.INITP:11:HP.COURIER
    COURIER.11B = HP.FONT.INITP:11:HP.COURIER.B
    COURIER.12 = HP.FONT.INITP:12:HP.COURIER
    COURIER.12B = HP.FONT.INITP:12:HP.COURIER.B
    COURIER.12BI = HP.FONT.INITP:12:HP.COURIER.B.I
    COURIER.14 = HP.FONT.INITP:14:HP.COURIER
    COURIER.14B = HP.FONT.INITP:14:HP.COURIER.B
    COURIER.14BI = HP.FONT.INITP:14:HP.COURIER.B.I
    COURIER.16 = HP.FONT.INITP:16:HP.COURIER
    COURIER.16B = HP.FONT.INITP:16:HP.COURIER.B
    COURIER.16BI = HP.FONT.INITP:16:HP.COURIER.B.I
    COURIERF.8 = HP.FONT.INITF:8:HP.COURIERF
    COURIERF.8B = HP.FONT.INITF:8:HP.COURIERF.B
    COURIERF.10 = HP.FONT.INITF:10:HP.COURIERF
    COURIERF.10B = HP.FONT.INITF:10:HP.COURIERF.B
    COURIERF.11 = HP.FONT.INITF:11:HP.COURIERF
    COURIERF.11B = HP.FONT.INITF:11:HP.COURIERF.B
    COURIERF.12 = HP.FONT.INITF:12:HP.COURIERF
    COURIERF.12B = HP.FONT.INITF:12:HP.COURIERF.B
    COURIERF.13 = HP.FONT.INITF:13:HP.COURIERF
    COURIERF.13B = HP.FONT.INITF:13:HP.COURIERF.B
    COURIERF.14 = HP.FONT.INITF:14:HP.COURIERF
    COURIERF.14B = HP.FONT.INITF:14:HP.COURIERF.B
    COURIERF.16 = HP.FONT.INITF:16:HP.COURIERF
    COURIERF.16B = HP.FONT.INITF:16:HP.COURIERF.B
    COURIERF.18 = HP.FONT.INITF:18:HP.COURIERF
    COURIERF.18B = HP.FONT.INITF:18:HP.COURIERF.B
    COURIERF.20 = HP.FONT.INITF:20:HP.COURIERF
    COURIERF.20B = HP.FONT.INITF:20:HP.COURIERF.B
    COURIERF.22 = HP.FONT.INITF:22:HP.COURIERF
    COURIERF.22B = HP.FONT.INITF:22:HP.COURIERF.B
    GARAMOND.10 = HP.FONT.INITP:10:HP.GARAMOND
    GARAMOND.10B = HP.FONT.INITP:10:HP.GARAMOND.B
    GARAMOND.12 = HP.FONT.INITP:12:HP.GARAMOND
    GARAMOND.12B = HP.FONT.INITP:12:HP.GARAMOND.B
    GARAMOND.14 = HP.FONT.INITP:14:HP.GARAMOND
    GARAMOND.14B = HP.FONT.INITP:14:HP.GARAMOND.B
    GARAMOND.16BI = HP.FONT.INITP:16:HP.GARAMOND.B.I
    GARAMONDF.10 = HP.FONT.INITF:10:HP.GARAMONDF
    GARAMONDF.10B = HP.FONT.INITF:10:HP.GARAMONDF.B
    GARAMONDF.12 = HP.FONT.INITF:12:HP.GARAMONDF
    GARAMONDF.12B = HP.FONT.INITF:12:HP.GARAMONDF.B
    GARAMONDF.14 = HP.FONT.INITF:14:HP.GARAMONDF
    GARAMONDF.14B = HP.FONT.INITF:14:HP.GARAMONDF.B
    TIMESROMAN.8 = HP.FONT.INITP:8:HP.TIMESROMAN
    TIMESROMAN.8B = HP.FONT.INITP:8:HP.TIMESROMAN.B
    TIMESROMAN.10 = HP.FONT.INITP:10:HP.TIMESROMAN
    TIMESROMAN.10B = HP.FONT.INITP:10:HP.TIMESROMAN.B
    TIMESROMAN.12 = HP.FONT.INITP:12:HP.TIMESROMAN
    TIMESROMAN.12B = HP.FONT.INITP:12:HP.TIMESROMAN.B
    TIMESROMAN.14 = HP.FONT.INITP:14:HP.TIMESROMAN
    TIMESROMAN.14B = HP.FONT.INITP:14:HP.TIMESROMAN.B
    TIMESROMAN.16BI = HP.FONT.INITP:16:HP.TIMESROMAN.B.I
    TIMESROMANF.10 = HP.FONT.INITF:10:HP.TIMESROMANF
    TIMESROMANF.10B = HP.FONT.INITF:10:HP.TIMESROMANF.B
    TIMESROMANF.12 = HP.FONT.INITF:12:HP.TIMESROMANF
    TIMESROMANF.12B = HP.FONT.INITF:12:HP.TIMESROMANF.B
    TIMESROMANF.14 = HP.FONT.INITF:14:HP.TIMESROMANF
    TIMESROMANF.14B = HP.FONT.INITF:14:HP.TIMESROMANF.B



------------------------------
Mark Vander Veen
Project Leader, System Administrator
University of Chicago Distribution Center
Chicago IL US
------------------------------

Hi Shawn,

You need to send the decimal ESC not ASCII i.e. (27)(s12H

Cheers



------------------------------
Justin Gledhill
Business Analyst
Ecolab Incorporated
NSW AU
------------------------------

Thank you for the feedback, Justin.

All the other examples (unidata context) that I have reviewed have the escape character specified by using CHAR(27).

And that is what I used with success in the past.



------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------

I checked our invoice print routine and the 1st line shows as "\\D027(s1p10v0s3b4099T" (\\D027=Esc), which sets the
font to courier bold.

Also, the the driver for the print queue is set to "cat /uvsp/5SINORM - | lp -d hpit0".  It looks like this is what
sets up the PCL.  (\\D027=Esc)

5SINORM
 Basic Editor           &UVSPOOL&                                     11-30-23
 Acct: UCPPGM           5SINORM                                       07:39:38
0001:\\D027(8U\\D027(s0p21h0s3b4102T\\D027&l8D\\D027&l4E\\D027&a10L
EOI


I have the following code in an INCLUDE so I don't have to remember all of the syntax.
*****
    ESC = CHAR(27)
    HP.RESET = ESC:'*E'
    HP.GL2 = ESC:'%0B'  ;** HP-GL/2 mode
    HP.PCL = ESC:'%0A'  ;** PCL mode (default)
    HP.UNDLINE.FLOAT = ESC:'&d0D'
    HP.UNDLINE.FIXED = ESC:'&d3D'
    HP.NOLINE = ESC:'&d@'
    HP.FIXED = ESC:'(s0p'
    HP.PROP = ESC:'(s1p'
    HP.PORTRAIT = ESC:'&l0O'
    HP.LANDSCAPE = ESC:'&l1O'
    HP.SIMPLEX = ESC:'&l0S'
    HP.DUPLEX = ESC:'&l1S'
    HP.ENDPLEX = ESC:'%-12345X'
    HP.TBMARGIN = ESC:'&l'
    HP.TMARGIN = 'E'         ;** HP.TB.MARGIN:5:HP.TMARGIN
** FORM LENGTH
    HP.BMARGIN = 'L'         ;** HP.TB.MARGIN:76:HP.BMARGIN
    HP.FORMLEN = 'F'         ;** HP.TB.MARGIN:88:HP.FORMLEN
    HP.LRMARGIN = ESC:'&a'
    HP.LMARGIN = 'L'         ;** HP.LR.MARGIN:5:HP.LMARGIN
    HP.RMARGIN = 'M'         ;** HP.LR.MARGIN:5:HP.RMARGIN
    HP.CLR.HMARGIN = ESC:9 ;** CLEAR HORIZONTAL MARGINS
    HP.TRAY1 = ESC:'&l8H'
    HP.TRAY2 = ESC:'&l1H'
    HP.TRAY3 = ESC:'&l4H'
    HP.TRAY4 = ESC:'&l5H'  ;** 2000 SHEET
    HP.CPI = ''
    HP.4LPI = ESC:'&l4D'
    HP.6LPI = ESC:'&l6D'
    HP.8LPI = ESC:'&l8D'
    HP.10LPI = ESC:'&l10D'
    HP.12LPI = ESC:'&l12D'
    HP.14LPI = ESC:'&l14D'
    HP.16LPI = ESC:'&l16D'
    HP.300DPI = ESC:'*t300R'
    HP.600DPI = ESC:'*t600R'
    HP.HV.POS = ESC:'&a'   ;** ROWS/COLUMNS
    HP.VPOS = 'R'          ;** HP.HV.POS:5:HP.VPOS
    HP.HPOS = 'C'          ;** HP.HV.POS:10:HP.HPOS
    HP.HV.DPOS = ESC:'&p'  ;** DOTS
    HP.VDPOS = 'Y'         ;** HP.HV.DPOS:5:HP.VDPOS
    HP.HDPOS = 'X'         ;** HP.HV.DPOS:10:HP.HDPOS
    HP.HV.DPTPOS = ESC:'&a';** DECIPOINTS
    HP.VDPTPOS = 'Y'       ;** HP.HV.DPTPOS:5:HP.VDPTPOS
    HP.HDPTPOS = 'X'       ;** HP.HV.DPTPOS:10:HP.HDPTPOS
** HP SIMPLE COLOR PALLETE RGB
    HP.CLR.RGB = ESC:'*r3U'
    HP.CLR.RGB.BLACK = HP.CLR.RGB:ESC:'*v0S'
    HP.CLR.RGB.RED = HP.CLR.RGB:ESC:'*v1S'
    HP.CLR.RGB.GREEN = HP.CLR.RGB:ESC:'*v2S'
    HP.CLR.RGB.YELLOW = HP.CLR.RGB:ESC:'*v3S'
    HP.CLR.RGB.BLUE = HP.CLR.RGB:ESC:'*v4S'
    HP.CLR.RGB.MAGENTA = HP.CLR.RGB:ESC:'*v5S'
    HP.CLR.RGB.CYAN = HP.CLR.RGB:ESC:'*v6S'
    HP.CLR.RGB.WHITE = HP.CLR.RGB:ESC:'*v7S'
** SPECIAL EFFECTS ON FONTS
    HP.OUTLINE = ESC:'(s32S'
    HP.INLINE = ESC:'(s64S'
    HP.SHADOW = ESC:'(s128S'
    HP.SHADOW.OUT = ESC:'(s160S'
** DEFAULT FONTS
    HP.FONT.INITF = HP.FIXED
    HP.FONT.INITP = HP.PROP
    HP.FONT.INIT = ESC:'(s1P'
** PROPORTIONAL
    HP.ALBERTUS     = 'v0s0b4362T'    ;** HP.FONT.INIT:size:HP.ALBERTUS
    HP.ALBERTUS.B   = 'v0s3b4362T'
    HP.ALBERTUS.I   = 'v1s0b4362T'
    HP.ALBERTUS.B.I = 'v1s3b4362T'
    HP.ANTOLIVE     = 'v0s0b4168T'
    HP.ANTOLIVE.B   = 'v0s3b4168T'
    HP.ANTOLIVE.I   = 'v1s0b4168T'
    HP.ANTOLIVE.B.I = 'v1s3b4168T'
    HP.ARIAL     = 'v0s0b16602T'
    HP.ARIAL.B   = 'v0s3b16602T'
    HP.ARIAL.I   = 'v1s0b16602T'
    HP.ARIAL.B.I = 'v1s3b16602T'
    HP.CGTIMES     = 'v0s0b4101T'
    HP.CGTIMES.B   = 'v0s3b4101T'
    HP.CGTIMES.I   = 'v1s0b4101T'
    HP.CGTIMES.B.I = 'v1s3b4101T'
    HP.CGOMEGA     = 'v0s0b4113T'
    HP.CGOMEGA.B   = 'v0s3b4113T'
    HP.CGOMEGA.I   = 'v1s0b4113T'
    HP.CGOMEGA.B.I = 'v1s3b4113T'
    HP.CORONET     = 'v0s0b4116T'
    HP.CORONET.B   = 'v0s3b4116T'
    HP.CORONET.I   = 'v1s0b4116T'
    HP.CORONET.B.I = 'v1s3b4116T'
    HP.CLARENDON     = 'v0s0b4140T'
    HP.CLARENDON.B   = 'v0s3b4140T'
    HP.CLARENDON.I   = 'v1s0b4140T'
    HP.CLARENDON.B.I = 'v1s3b4140T'
    HP.COURIER     = 'v0s0b4099T'
    HP.COURIER.B   = 'v0s3b4099T'
    HP.COURIER.I   = 'v1s0b4099T'
    HP.COURIER.B.I = 'v1s3b4099T'
    HP.GARAMOND     = 'v0s0b4197T'
    HP.GARAMOND.B   = 'v0s3b4197T'
    HP.GARAMOND.I   = 'v1s0b4197T'
    HP.GARAMOND.B.I = 'v1s3b4197T'
    HP.GOTHIC     = 'v0s0b4102T'
    HP.GOTHIC.B   = 'v0s3b4102T'
    HP.GOTHIC.I   = 'v1s0b4102T'
    HP.GOTHIC.B.I = 'v1s3b4102T'
    HP.LPTR     = 'v0s0b0T'
    HP.LPTR.B   = 'v0s3b0T'
    HP.LPTR.I   = 'v1s0b0T'
    HP.LPTR.B.I = 'v1s3b0T'
    HP.MARIGOLD     = 'v0s0b16901T'
    HP.MARIGOLD.B   = 'v0s3b4297T'
    HP.MARIGOLD.I   = 'v1s0b4297T'
    HP.MARIGOLD.B.I = 'v1s3b4297T'
    HP.TIMESROMAN     = 'v0s0b16901T'
    HP.TIMESROMAN.B   = 'v0s3b16901T'
    HP.TIMESROMAN.I   = 'v1s0b16901T'
    HP.TIMESROMAN.B.I = 'v1s3b16901T'
    HP.UNIVERS     = 'v0s0b4148T'
    HP.UNIVERS.B   = 'v0s3b4148T'
    HP.UNIVERS.I   = 'v1s0b4148T'
    HP.UNIVERS.B.I = 'v1s3b4148T'
** FIXED
    HP.ALBERTUSF     = 'h0s0b4362T'    ;** HP.FONT.INIT:size:HP.ALBERTUS
    HP.ALBERTUSF.B   = 'h0s3b4362T'
    HP.ALBERTUSF.I   = 'h1s0b4362T'
    HP.ALBERTUSF.B.I = 'h1s3b4362T'
    HP.ANTOLIVEF     = 'h0s0b4168T'
    HP.ANTOLIVEF.B   = 'h0s3b4168T'
    HP.ANTOLIVEF.I   = 'h1s0b4168T'
    HP.ANTOLIVEF.B.I = 'h1s3b4168T'
    HP.ARIALF     = 'h0s0b16602T'
    HP.ARIALF.B   = 'h0s3b16602T'
    HP.ARIALF.I   = 'h1s0b16602T'
    HP.ARIALF.B.I = 'h1s3b16602T'
    HP.CGTIMESF     = 'h0s0b4101T'
    HP.CGTIMESF.B   = 'h0s3b4101T'
    HP.CGTIMESF.I   = 'h1s0b4101T'
    HP.CGTIMESF.B.I = 'h1s3b4101T'
    HP.CGOMEGAF     = 'h0s0b4113T'
    HP.CGOMEGAF.B   = 'h0s3b4113T'
    HP.CGOMEGAF.I   = 'h1s0b4113T'
    HP.CGOMEGAF.B.I = 'h1s3b4113T'
    HP.CORONETF     = 'h0s0b4116T'
    HP.CORONETF.B   = 'h0s3b4116T'
    HP.CORONETF.I   = 'h1s0b4116T'
    HP.CORONETF.B.I = 'h1s3b4116T'
    HP.CLARENDONF     = 'h0s0b4140T'
    HP.CLARENDONF.B   = 'h0s3b4140T'
    HP.CLARENDONF.I   = 'h1s0b4140T'
    HP.CLARENDONF.B.I = 'h1s3b4140T'
    HP.COURIERF     = 'h0s0b4099T'
    HP.COURIERF.B   = 'h0s3b4099T'
    HP.COURIERF.I   = 'h1s0b4099T'
    HP.COURIERF.B.I = 'h1s3b4099T'
    HP.GARAMONDF     = 'h0s0b4197T'
    HP.GARAMONDF.B   = 'h0s3b4197T'
    HP.GARAMONDF.I   = 'h1s0b4197T'
    HP.GARAMONDF.B.I = 'h1s3b4197T'
    HP.GOTHICF     = 'h0s0b4102T'
    HP.GOTHICF.B   = 'h0s3b4102T'
    HP.GOTHICF.I   = 'h1s0b4102T'
    HP.GOTHICF.B.I = 'h1s3b4102T'
    HP.LPTRF     = 'h0s0b0T'
    HP.LPTRF.B   = 'h0s3b0T'
    HP.LPTRF.I   = 'h1s0b0T'
    HP.LPTRF.B.I = 'h1s3b0T'
    HP.MARIGOLDF     = 'h0s0b16901T'
    HP.MARIGOLDF.B   = 'h0s3b4297T'
    HP.MARIGOLDF.I   = 'h1s0b4297T'
    HP.MARIGOLDF.B.I = 'h1s3b4297T'
    HP.TIMESROMANF     = 'h0s0b16901T'
    HP.TIMESROMANF.B   = 'h0s3b16901T'
    HP.TIMESROMANF.I   = 'h1s0b16901T'
    HP.TIMESROMANF.B.I = 'h1s3b16901T'
    HP.UNIVERSF     = 'h0s0b4148T'
    HP.UNIVERSF.B   = 'h0s3b4148T'
    HP.UNIVERSF.I   = 'h1s0b4148T'
    HP.UNIVERSF.B.I = 'h1s3b4148T'
    ARIAL.6 = HP.FONT.INITP:6:HP.ARIAL
    ARIAL.6B = HP.FONT.INITP:6:HP.ARIAL.B
    ARIAL.8 = HP.FONT.INITP:8:HP.ARIAL
    ARIAL.8B = HP.FONT.INITP:8:HP.ARIAL.B
    ARIAL.10 = HP.FONT.INITP:10:HP.ARIAL
    ARIAL.10B = HP.FONT.INITP:10:HP.ARIAL.B
    ARIAL.12 = HP.FONT.INITP:12:HP.ARIAL
    ARIAL.12B = HP.FONT.INITP:12:HP.ARIAL.B
    ARIAL.14 = HP.FONT.INITP:14:HP.ARIAL
    ARIAL.14B = HP.FONT.INITP:14:HP.ARIAL.B
    ARIAL.14BI = HP.FONT.INITP:14:HP.ARIAL.B.I
    ARIAL.16 = HP.FONT.INITP:16:HP.ARIAL
    ARIAL.16B = HP.FONT.INITP:16:HP.ARIAL.B
    ARIAL.16BI = HP.FONT.INITP:16:HP.ARIAL.B.I
    ARIAL.20B = HP.FONT.INITP:20:HP.ARIAL.B
    ARIAL.22B = HP.FONT.INITP:22:HP.ARIAL.B
    ARIAL.24B = HP.FONT.INITP:24:HP.ARIAL.B
    ARIAL.26B = HP.FONT.INITP:26:HP.ARIAL.B
    ARIALF.2 = HP.FONT.INITF:2:HP.ARIALF
    ARIALF.2B = HP.FONT.INITF:2:HP.ARIALF.B
    ARIALF.3 = HP.FONT.INITF:3:HP.ARIALF
    ARIALF.3B = HP.FONT.INITF:3:HP.ARIALF.B
    ARIALF.4 = HP.FONT.INITF:4:HP.ARIALF
    ARIALF.4B = HP.FONT.INITF:4:HP.ARIALF.B
    ARIALF.6 = HP.FONT.INITF:6:HP.ARIALF
    ARIALF.6B = HP.FONT.INITF:6:HP.ARIALF.B
    ARIALF.8 = HP.FONT.INITF:8:HP.ARIALF
    ARIALF.8B = HP.FONT.INITF:8:HP.ARIALF.B
    ARIALF.10 = HP.FONT.INITF:10:HP.ARIALF
    ARIALF.10B = HP.FONT.INITF:10:HP.ARIALF.B
    ARIALF.12 = HP.FONT.INITF:12:HP.ARIALF
    ARIALF.12B = HP.FONT.INITF:12:HP.ARIALF.B
    ARIALF.14 = HP.FONT.INITF:14:HP.ARIALF
    ARIALF.14B = HP.FONT.INITF:14:HP.ARIALF.B
    ARIALF.16 = HP.FONT.INITF:16:HP.ARIALF
    ARIALF.16B = HP.FONT.INITF:16:HP.ARIALF.B
    COURIER.6 = HP.FONT.INITP:6:HP.COURIER
    COURIER.6B = HP.FONT.INITP:6:HP.COURIER.B
    COURIER.8 = HP.FONT.INITP:8:HP.COURIER
    COURIER.8B = HP.FONT.INITP:8:HP.COURIER.B
    COURIER.10 = HP.FONT.INITP:10:HP.COURIER
    COURIER.10B = HP.FONT.INITP:10:HP.COURIER.B
    COURIER.11 = HP.FONT.INITP:11:HP.COURIER
    COURIER.11B = HP.FONT.INITP:11:HP.COURIER.B
    COURIER.12 = HP.FONT.INITP:12:HP.COURIER
    COURIER.12B = HP.FONT.INITP:12:HP.COURIER.B
    COURIER.12BI = HP.FONT.INITP:12:HP.COURIER.B.I
    COURIER.14 = HP.FONT.INITP:14:HP.COURIER
    COURIER.14B = HP.FONT.INITP:14:HP.COURIER.B
    COURIER.14BI = HP.FONT.INITP:14:HP.COURIER.B.I
    COURIER.16 = HP.FONT.INITP:16:HP.COURIER
    COURIER.16B = HP.FONT.INITP:16:HP.COURIER.B
    COURIER.16BI = HP.FONT.INITP:16:HP.COURIER.B.I
    COURIERF.8 = HP.FONT.INITF:8:HP.COURIERF
    COURIERF.8B = HP.FONT.INITF:8:HP.COURIERF.B
    COURIERF.10 = HP.FONT.INITF:10:HP.COURIERF
    COURIERF.10B = HP.FONT.INITF:10:HP.COURIERF.B
    COURIERF.11 = HP.FONT.INITF:11:HP.COURIERF
    COURIERF.11B = HP.FONT.INITF:11:HP.COURIERF.B
    COURIERF.12 = HP.FONT.INITF:12:HP.COURIERF
    COURIERF.12B = HP.FONT.INITF:12:HP.COURIERF.B
    COURIERF.13 = HP.FONT.INITF:13:HP.COURIERF
    COURIERF.13B = HP.FONT.INITF:13:HP.COURIERF.B
    COURIERF.14 = HP.FONT.INITF:14:HP.COURIERF
    COURIERF.14B = HP.FONT.INITF:14:HP.COURIERF.B
    COURIERF.16 = HP.FONT.INITF:16:HP.COURIERF
    COURIERF.16B = HP.FONT.INITF:16:HP.COURIERF.B
    COURIERF.18 = HP.FONT.INITF:18:HP.COURIERF
    COURIERF.18B = HP.FONT.INITF:18:HP.COURIERF.B
    COURIERF.20 = HP.FONT.INITF:20:HP.COURIERF
    COURIERF.20B = HP.FONT.INITF:20:HP.COURIERF.B
    COURIERF.22 = HP.FONT.INITF:22:HP.COURIERF
    COURIERF.22B = HP.FONT.INITF:22:HP.COURIERF.B
    GARAMOND.10 = HP.FONT.INITP:10:HP.GARAMOND
    GARAMOND.10B = HP.FONT.INITP:10:HP.GARAMOND.B
    GARAMOND.12 = HP.FONT.INITP:12:HP.GARAMOND
    GARAMOND.12B = HP.FONT.INITP:12:HP.GARAMOND.B
    GARAMOND.14 = HP.FONT.INITP:14:HP.GARAMOND
    GARAMOND.14B = HP.FONT.INITP:14:HP.GARAMOND.B
    GARAMOND.16BI = HP.FONT.INITP:16:HP.GARAMOND.B.I
    GARAMONDF.10 = HP.FONT.INITF:10:HP.GARAMONDF
    GARAMONDF.10B = HP.FONT.INITF:10:HP.GARAMONDF.B
    GARAMONDF.12 = HP.FONT.INITF:12:HP.GARAMONDF
    GARAMONDF.12B = HP.FONT.INITF:12:HP.GARAMONDF.B
    GARAMONDF.14 = HP.FONT.INITF:14:HP.GARAMONDF
    GARAMONDF.14B = HP.FONT.INITF:14:HP.GARAMONDF.B
    TIMESROMAN.8 = HP.FONT.INITP:8:HP.TIMESROMAN
    TIMESROMAN.8B = HP.FONT.INITP:8:HP.TIMESROMAN.B
    TIMESROMAN.10 = HP.FONT.INITP:10:HP.TIMESROMAN
    TIMESROMAN.10B = HP.FONT.INITP:10:HP.TIMESROMAN.B
    TIMESROMAN.12 = HP.FONT.INITP:12:HP.TIMESROMAN
    TIMESROMAN.12B = HP.FONT.INITP:12:HP.TIMESROMAN.B
    TIMESROMAN.14 = HP.FONT.INITP:14:HP.TIMESROMAN
    TIMESROMAN.14B = HP.FONT.INITP:14:HP.TIMESROMAN.B
    TIMESROMAN.16BI = HP.FONT.INITP:16:HP.TIMESROMAN.B.I
    TIMESROMANF.10 = HP.FONT.INITF:10:HP.TIMESROMANF
    TIMESROMANF.10B = HP.FONT.INITF:10:HP.TIMESROMANF.B
    TIMESROMANF.12 = HP.FONT.INITF:12:HP.TIMESROMANF
    TIMESROMANF.12B = HP.FONT.INITF:12:HP.TIMESROMANF.B
    TIMESROMANF.14 = HP.FONT.INITF:14:HP.TIMESROMANF
    TIMESROMANF.14B = HP.FONT.INITF:14:HP.TIMESROMANF.B



------------------------------
Mark Vander Veen
Project Leader, System Administrator
University of Chicago Distribution Center
Chicago IL US
------------------------------

Thank you, Mark.

I'll check our printer setup.

BTW, i'm digging that INCLUDE record.



------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------

Thank you for the feedback, Justin.

All the other examples (unidata context) that I have reviewed have the escape character specified by using CHAR(27).

And that is what I used with success in the past.



------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------

Interesting... I'm not familiar with UniData. Using UniVerse we are more in line with Mark's example... \\d027 etc.



------------------------------
Justin Gledhill
Business Analyst
Ecolab Incorporated
NSW AU
------------------------------

I'm attempting to adjust the pitch to 12 characters per inch so the invoice number (green box) will fit within the designated column:

However, the output is not affected, and the HP printer just passes the code through as if it is text to be printed (yellow box).

I'm using the following code with the intention of every subsequent print statement resulting in text that is 12 chars/in.

X.ESC = CHAR(27)
X.PCL.COMMAND = X.ESC:"(s12H"
PRINT X.PCL.COMMAND

Does anything need to be enabled on the printer (hp4350) for PCL commands to take effect?

The printer in question will generate a PCL font list so I think that confirms the required software is present.

Also, does every print statement have to include the escape sequence or can it just be invoked once and remain in effect until the page/job is finished?

It's been 10+ years since I messed with this (at another site), but I don't recall having any trouble with it.



------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------

I have run into similar issue and it came down to the defined printer driver modifying the pcl commands being sent.  Try defining the printer as a generic text or raw (as opposed to a HP driver) and see if it resolves your issue.  You typically can define multiple queues with different drivers going to the same physical printer to handle the various types of jobs.



------------------------------
doug miller
dir tech services
Rocket Forum Shared Account
Carrollton TX US
------------------------------

I have run into similar issue and it came down to the defined printer driver modifying the pcl commands being sent.  Try defining the printer as a generic text or raw (as opposed to a HP driver) and see if it resolves your issue.  You typically can define multiple queues with different drivers going to the same physical printer to handle the various types of jobs.



------------------------------
doug miller
dir tech services
Rocket Forum Shared Account
Carrollton TX US
------------------------------

Don Miller's comment is correct, all of our printers are set up as generic.  I also set them up in AIX with 2000 columns to deal with the added coding for PCL.



------------------------------
Mark Vander Veen
Project Leader, System Administrator
University of Chicago Distribution Center
Chicago IL US
------------------------------

I'm attempting to adjust the pitch to 12 characters per inch so the invoice number (green box) will fit within the designated column:

However, the output is not affected, and the HP printer just passes the code through as if it is text to be printed (yellow box).

I'm using the following code with the intention of every subsequent print statement resulting in text that is 12 chars/in.

X.ESC = CHAR(27)
X.PCL.COMMAND = X.ESC:"(s12H"
PRINT X.PCL.COMMAND

Does anything need to be enabled on the printer (hp4350) for PCL commands to take effect?

The printer in question will generate a PCL font list so I think that confirms the required software is present.

Also, does every print statement have to include the escape sequence or can it just be invoked once and remain in effect until the page/job is finished?

It's been 10+ years since I messed with this (at another site), but I don't recall having any trouble with it.



------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------

Hey Shawn, when messing with PCL escape codes, it is always good practice to first send an ESC:'E' to reset the printer. Then you can squirt in your desired combo of configurations followed by the job data and lastly followed by another ESC:'E' to reset and print the last page.

The reason the printer is printing the s12 and not interpretting it as a PCL command might be because the printer cannot deal with that option in its current state. Resetting it beforehand should do the trick.

Also there's a nice little feature in the UV spooler (in unix)  that allows you to cat a file to standard-in and standard-out effectively wrapping the print job in a header and footer. In these files you can place PCL commands, assign the files to a print queue and each time you print to that queue you get that particular PCL configuration sent to the printer for each job. Easy to then write a maintenance routine to set the files to do portrait/landscape, font stuff and the like.

Hope this helps
Cheers



------------------------------
Peter Cheney
Developer and Systems Superstar
Firstmac
Brisbane Qld Australia
------------------------------

Don Miller's comment is correct, all of our printers are set up as generic.  I also set them up in AIX with 2000 columns to deal with the added coding for PCL.



------------------------------
Mark Vander Veen
Project Leader, System Administrator
University of Chicago Distribution Center
Chicago IL US
------------------------------

Thank you, Doug and Mark.

We've adjusted the printer in question to use the generic text driver instead of the HP postscript driver, and we're now waiting for feedback from the user again.



------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------

Hey Shawn, when messing with PCL escape codes, it is always good practice to first send an ESC:'E' to reset the printer. Then you can squirt in your desired combo of configurations followed by the job data and lastly followed by another ESC:'E' to reset and print the last page.

The reason the printer is printing the s12 and not interpretting it as a PCL command might be because the printer cannot deal with that option in its current state. Resetting it beforehand should do the trick.

Also there's a nice little feature in the UV spooler (in unix)  that allows you to cat a file to standard-in and standard-out effectively wrapping the print job in a header and footer. In these files you can place PCL commands, assign the files to a print queue and each time you print to that queue you get that particular PCL configuration sent to the printer for each job. Easy to then write a maintenance routine to set the files to do portrait/landscape, font stuff and the like.

Hope this helps
Cheers



------------------------------
Peter Cheney
Developer and Systems Superstar
Firstmac
Brisbane Qld Australia
------------------------------

Thank you for the suggestions, Peter.

And I recall using this reset-character-sending technique in the past, so thank you for the reminder!



------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------

I have run into similar issue and it came down to the defined printer driver modifying the pcl commands being sent.  Try defining the printer as a generic text or raw (as opposed to a HP driver) and see if it resolves your issue.  You typically can define multiple queues with different drivers going to the same physical printer to handle the various types of jobs.



------------------------------
doug miller
dir tech services
Rocket Forum Shared Account
Carrollton TX US
------------------------------

I can finally confirm that this worked.
Though I couldn't get two other options to work (with 'generic' in the name),  one labeled 'Local Raw Printer (grayscale)' did the trick.

Thank you!

And a big thank you to everyone else who offered very helpful feedback.



------------------------------
Shawn Waldie
enterprise application developer
Rocket Forum Shared Account
Los Angeles CA US
------------------------------