Difference between revisions of "Setting up a VISTA Printer"
Line 4: | Line 4: | ||
This is an updated page. See [[Setting_up_a_Linux_Printer_Old|this page]] for old content. | This is an updated page. See [[Setting_up_a_Linux_Printer_Old|this page]] for old content. | ||
− | === | + | === Cache/Linux printing === |
− | + | You can use Pipes in Cache as well to print on Linux/Unix. Here's an operative example. | |
+ | |||
+ | <pre> | ||
+ | NAME: SAM'S PHARMACY PRINTER $I: /usr/bin/lpr -PSAN_FL6 -l | ||
+ | OPEN PARAMETERS: "QW" SUBTYPE: P-HPLJ4SI-P12 | ||
+ | TYPE: TERMINAL | ||
+ | </pre> | ||
+ | |||
+ | === GT.M/Linux printing === | ||
+ | Pipes again; just like Cache. | ||
<pre style="padding:1em;border:1px dashed #2f6fab;color:black;background-color:#f9f9f9;line-height:1.1em"> | <pre style="padding:1em;border:1px dashed #2f6fab;color:black;background-color:#f9f9f9;line-height:1.1em"> | ||
Line 58: | Line 67: | ||
No need to do pre-open and post-close executes on the device which dynamically change IOs. | No need to do pre-open and post-close executes on the device which dynamically change IOs. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Avoiding the Staircase effect when printing from GT.M/Cache on *Nix === | === Avoiding the Staircase effect when printing from GT.M/Cache on *Nix === | ||
For an explanation of the Staircase effect, see this: | For an explanation of the Staircase effect, see this: | ||
Line 211: | Line 83: | ||
On the other hand, if you are asking cups to handle the formatting (lpr without the -l option), cups properly formats the line returns through a cups filter, so you don't have to do anything. | On the other hand, if you are asking cups to handle the formatting (lpr without the -l option), cups properly formats the line returns through a cups filter, so you don't have to do anything. | ||
+ | |||
+ | === Advanced printing topics === | ||
+ | [[VISTA_Advanced_printing_topics|Advanced printing topics]] |
Revision as of 15:50, 9 June 2015
Back to Programming VistA Issues
Contents
This is an updated page. See this page for old content.
Cache/Linux printing
You can use Pipes in Cache as well to print on Linux/Unix. Here's an operative example.
NAME: SAM'S PHARMACY PRINTER $I: /usr/bin/lpr -PSAN_FL6 -l OPEN PARAMETERS: "QW" SUBTYPE: P-HPLJ4SI-P12 TYPE: TERMINAL
GT.M/Linux printing
Pipes again; just like Cache.
NAME: PHAR-IP-DM $I: PHAR-IP-DM LOCATION OF TERMINAL: Inpatient Pharmacy Dot-Matrix OPEN PARAMETERS: (shell="/bin/sh":comm="lpr -l -P PHAR-IP-DM 2>/dev/null":WRITEONLY)::"pipe" SUBTYPE: P-EPSON-DM-P15-5L TYPE: TERMINAL NAME: PHAR-IP-LS $I: PHAR-IP LOCATION OF TERMINAL: Inpatient Pharmacy Landscape OPEN PARAMETERS: (shell="/bin/sh":comm="lpr -P PHAR-IP -l":WRITEONLY)::"pipe" SUBTYPE: P-HPLJ4SI-P13-LS TYPE: TERMINAL NAME: PHAR-IP-POR-P12 $I: PHAR-IP LOCATION OF TERMINAL: Inpatient Pharmacy Portrait (PL) OPEN PARAMETERS: (shell="/bin/sh":comm="lpr -P PHAR-IP -l":WRITEONLY)::"pipe" MNEMONIC: PL SUBTYPE: P-HPLJ4SI-P12 TYPE: TERMINAL NAME: PHAR-IP-POR-P16 $I: PHAR-IP LOCATION OF TERMINAL: Inpatient Pharmacy Portrait (MAR) OPEN PARAMETERS: (shell="/bin/sh":comm="lpr -P PHAR-IP -l":WRITEONLY)::"pipe" MNEMONIC: MAR SUBTYPE: P-HPLJ2-P16 TYPE: TERMINAL
How does this work? The way this works is that $I becomes the IO variable. The open parameters tells VISTA how to open the device.
Vista does this:
S IO=[$I] S param=[OPEN PARAMETERS] O IO:param U IO Send Open Execute from Subtype U IO(0) Interact with user; open another job, etc... U IO write write write Send Close Execute from Subtype C IO etc.
No need to do pre-open and post-close executes on the device which dynamically change IOs.
Avoiding the Staircase effect when printing from GT.M/Cache on *Nix
For an explanation of the Staircase effect, see this: http://www.digitalissues.co.uk/html/os/unix/stair.html
Basically, the new line doesn't do a carriage return with it, so our output just flows off the page. So when you print a 10 line document, you may only see one line, as the rest was printed outside of the margin.
If you are sending raw output (lpr with the -l option) from VISTA to any PCL compatible printer (and VISTA by and large uses PCL for formatting plain text output), you need to add this to your open execute:
W $C(27),"&k2G"
This tells the PCL compatible printer to append a CR to each LF or FF.
On the other hand, if you are asking cups to handle the formatting (lpr without the -l option), cups properly formats the line returns through a cups filter, so you don't have to do anything.