VISTA Advanced printing topics
Contents
Advanced Printing Topics
Authored mainly by Sam Habiel, the printer "sensei".
How do computers communicate with printers, software-wise?
This is a pretty difficult topic. Cheaper printers only accept binary data that is hardcoded by the computers; typically these printers are only supported on Windows, and thus are named "Winprinters". Higher end printers have a processor on them that can typically interpret PCL5, PCL6, and PS; and possibly PDF. These printers are easily supported in Linux.
VISTA and what it really sends
VISTA sends PCL5 to printers. You need to make sure that your printer supports PCL5. All HP Printers support PCL5, no matter how cheap; other manufacturers only support it on their higher end printers. If you need to look it up, go to the manufacturer's website and look at the technical specs sheet. The section is typically called "supported emulations"; or "supported languages". What VISTA sends is determined by the sub-type defined for the device.
Testing Printers
To test printers in VISTA after setting it up, there are a few steps you have a to go through.
Invoke via %ZIS first.
D ^%ZIS DEVICE: HOME//MY PRINTER U IO W "TEST",!,"TEST",! D ^%ZISC
See the output. If it's okay, you are ready to move to the next step. If you see the "staircase" effect, you need to go back and set-up the terminal type correctly here.
The next menu option to try is Send Test Pattern to Terminal [XUTTEST]. If that works, then you are good to go.
Various troubleshooting topics -- how fun!
There are various issue that come up regularly with VISTA.
Use this page as a reference for PCL:
http://www.pclviewer.com/resources/reference/
Extra pages
Extra pages can happen for three different reasons:
- By default, VISTA prints an extra page after each print job. This is for historical reasons; as most of the early printers were dot-matrix. Today, it's recommended to disable this. To disable this, you can do it at the device level or the terminal type level. At the device level, set
SUPPRESS FORM FEED AT CLOSE
to yes. For the terminal type, setCLOSE EXECUTE
toS IONOFF="" W $C(27)_"E"
- The text doesn't fit the page and spills over to the next page. VISTA printing options must follow the IOSL value (Page Length in Terminal Type or Device--Device overrides Terminal Type). Most of the time this has to do with the fact that the text size for the report is too large; or that the margins are not appropriate. Based on visual inspection, you should decide what to do. The unlikely case is that the VISTA programmer is not obeying IOSL; but that is for you to determine.
- If both of the above fail, it's likely that VISTA sends a hard coded form feed to the printer. You need to capture the output by capturing the print to a file (use HFS;subtype) and visually examine it in a programming editor.
Wrapping
Typically this has to do with whether the printer is configured to take 132 characters or 80 characters; if not, then it has to do with the font size.
VISTA has these typical formats for printing:
- 12 cpi 8 lpi Portrait (most reports)
- 17 cpi 7 lpi Portrait (MAR)
- 14 cpi 6 lpi Landscape (132 wide reports)
- 22 cpi 12 lpi Landscape (228 wide reports)