43 Printing Hard Copies
Emacs provides commands for printing hard copies of either an entire
buffer or just part of one, with or without page headers. You can
invoke the printing commands directly, as detailed in the following
section, or using the ‘File’ menu on the menu bar. See also the
hardcopy commands of Dired (see Misc File Ops) and the diary
(see Displaying the Diary).
- M-x print-buffer
- Print hardcopy of current buffer with page headings containing the file
name and page number.
- M-x lpr-buffer
- Print hardcopy of current buffer without page headings.
- M-x print-region
- Like
print-buffer but print only the current region.
- M-x lpr-region
- Like
lpr-buffer but print only the current region.
The hardcopy commands (aside from the Postscript commands) pass extra
switches to the lpr program based on the value of the variable
lpr-switches. Its value should be a list of strings, each string
an option starting with ‘-’. For example, to specify a line width
of 80 columns for all the printing you do in Emacs, set
lpr-switches like this:
(setq lpr-switches '("-w80"))
You can specify the printer to use by setting the variable
printer-name.
The variable lpr-command specifies the name of the printer
program to run; the default value depends on your operating system type.
On most systems, the default is "lpr". The variable
lpr-headers-switches similarly specifies the extra switches to
use to make page headers. The variable lpr-add-switches controls
whether to supply ‘-T’ and ‘-J’ options (suitable for
lpr) to the printer program: nil means don't add them.
lpr-add-switches should be nil if your printer program is
not compatible with lpr.