Try the command line program "enscript". It has many options that control the output formatting. For example, you can print pages in landscape orientation, two-up, with source highlighting and line numbers.
If you also want coloring (I know I would), Pygments - http://pygments.org/ - outputs PDF via LaTeX.