Next: , Previous: Emacs Server, Up: Top


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.