The Emacs commands for making hardcopy let you print either an entire buffer or just part of one, either with or without page headers. See also the hardcopy commands of Dired (see section Miscellaneous File Operations) and the diary (see section Commands Displaying Diary Entries).
print-buffer but print only the current region.
lpr-buffer but print only the current region.
All the hardcopy 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 use a printer named `nearme', set
lpr-switches like this:
(setq lpr-switches '("-Pnearme"))
The variable lpr-header-switches similarly specifies the
extra switches to use to make page headers.