Link to home
Start Free TrialLog in
Avatar of john_p_walker

asked on

When I print a line on a PCL5 printer, that is over 132 colums long, it prints fine, but when I do the same on a PCL6 printer, it prints a blank line afterward

I initialize the printer with
then print a line that is 8.3" long, but fits well on the 11" wide paper.
On an HP PCL6 printer, it skips a line after any line 133 or more characters long (but does print the whole line).
On a PCL5 printer, it prints the whole line, and does not skip a blank line.
I do not use any print driver, as I am printing from an IBM Mainframe, not Windows.
Avatar of DansDadUK
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of hdhondt
If you use a PCL5 and PCL6 driver on the same printer, does it then print differently? If it doesn't, then the problem is caused by differences in printer settings between your PCL5 and PCL6 printers.
Avatar of john_p_walker


From the mainframe, there are no printer drivers, it is all sent to the printer RAW. For CR/LF options, the EBCDIC character set does not contain such things, so it must be applied as part of the translate table to ASCII, as it leaves the mainframe. The way it works for all other lines of text, at the end of each record, it does a CR/LF of some fashion that looks perfect. If I send 140 characters, the printer prints all 140 characters, but then leaves a blank line, but only on the one printer.

I tried all 4 Line Termination options, and two of them (0G and 2G) left a blank line as before, but the other two (1G and 3G) left blank lines between every line (double spaced), and extra blank lines after the long lines.

I checked further into the Translate table, and found out that the one that works uses a different translate table than the one that doesn't work. I had them switched and now it works. It is something very odd in the translate table that was causing it, nothing that was lacking in  the initialization sequences.

Thanks for your help.
His suggestion had me look into the CR/LF options, which led me to describe the mainframe to printer process, which led to the translate table, where the problem was found.
I'm pleased that:
You've resolved the problem.
You've briefly explained the resolution, since (after I posted my earlier reply), I couldn't really see how the "Line Termination" value would affect only long lines!
Mention of EBCDIC brought back some memories (although for me it was using ICL VME/B mainframes, rather than those from IBM); I think that the character set included the NewLine control code at hex(15).