NotebookPrint[notebook] sends a notebook to your printer.
NotebookPrint[notebook, stream] sends a PostScript version of the notebook to the specified stream.
If notebook is a NotebookObject, then NotebookPrint will print the complete notebook. If it is a NotebookSelection, then NotebookPrint will print just the selection.
NotebookPrint uses the printing options set for the specified notebook, taking defaults from the global options set for the whole front end.
NotebookPrint[notebook, "file.ps"] saves the PostScript form of the notebook in a file.
NotebookPrint[notebook, "!command"] gives the PostScript form of the notebook as input to a command.
See The Mathematica Book: Section 2.10.3.
See also: NotebookSave, NotebookWrite, PrintingStyleEnvironment.