To hold text, type:
after the command. This sends it to the command less which scrolls through stuff.
To send it to the printer, use:
The pipe (|) can be used to send standard output to many places. For example, if you want to look for a particular pattern, you can pipe output to grep, e.g:
command | grep "hello"
will only show lines containing the text "hello" (not with speech marks). You can do multiple pipes to, so if you wanted to scroll, and output to a printer, you could do:
| less | lp
Which would pipe it to less, so you could read it one page at a time, and then send the output of that to the printer.
Hope that helps