This contains the various functions for printing in Linux/Unix
Printing anything with `lp` command:
echo "123" > lp
Printing a file with `lpr` command:
lpr [ options ] [ filename ... ]
lpr -#3 file.txt // will print three copies of file.txt
cat file.txt | lpr // lpr reads from stdin as well
Viewing the print queue with `lpq` command:
lpq
lp is ready and printing
Rank Owner Job Files Total Size
active mwf 31 thesis.txt 682048 bytes
Cancelling a print job with `lprm` command:
lprm - // cancels all print jobs
lprm 31 // cancels print job 31
Formatting a file before printing with `pr`:
pr +4 -d -h"Ph.D. Thesis, 2nd Draft" -l60 thesis.txt | lpr
+4 // skip first three pages
-l60 // set page length to 60 lines
-d // double space the output
-h // add the header to each page
Seeing printers with `lpstat` command:
lpstat -d -p // lists all printers and the default printer
Set the default printer with `lpoptions` command:
loptions -d printerName
Setting options with -o argument:
lpr -o landscape -o fit-to-page -o media=Letter
Media Options
-o media=XYZ
Letter - US Letter (8.5x11 inches, or 216x279mm)
Legal - US Legal (8.5x14 inches, or 216x356mm)
A4 - ISO A4 (8.27x11.69 inches, or 210x297mm)
COM10 - US #10 Envelope (9.5x4.125 inches, or 241x105mm)
DL - ISO DL Envelope (8.66x4.33 inches, or 220x110mm)
Transparency - Transparency media type or source
Upper - Upper paper tray
Lower - Lower paper tray
MultiPurpose - Multi-purpose paper tray
LargeCapacity - Large capacity paper tray
-o media=Custom.[width]x[length][dimension]
-o media=Custom.3x4in
Margin Options
-o page-left=value -o page-right=value -o page-top=value -o page-bottom=value
The value argument is the margin in points; each point is 1/72 inch or 0.35mm.
Scale Options
-o cpi=10
sets the number of characters per inch
-o lpi=6
sets the number of lines per inch