<p>Some of the features I think it must include are:</p>

<ol>
<li>Print Entire Solution</li>
<li>Ability to print line numbers</li>
<li>Proper choice of coding font and size to improve readability</li>
<li>Nice Header Information</li>
<li>Ability to print regions collapsed</li>
</ol>

<p>Couple feature additions:</p>

<ol>
<li>Automatically insert page breaks
after methods/classes</li>
<li>Keep long lines readable (nearly all
current implementations are broken)</li>
</ol>

<p><em>Note: There are many reasons to need to print code... One very good one is escrow.</em></p>

[{'answer_id': 51888, 'author': 'Gulzar Nazim', 'author_id': 4337, 'author_profile': 'https://Stackoverflow.com/users/4337', 'pm_score': 2, 'selected': False, 'text': '<p>Try StarPrint\'s <a href="http://starprint2000.com/" rel="noreferrer">VSNETcodePrint</a></p>\n'}, {'answer_id': 51916, 'author': 'McKenzieG1', 'author_id': 3776, 'author_profile': 'https://Stackoverflow.com/users/3776', 'pm_score': 5, 'selected': True, 'text': '<p>I use <a href="http://submain.com/?nav=products.pcp.net" rel="nofollow noreferrer">PrettyCode.Print for .NET</a>. It does everything on your list, and more. (I use it for printing code excerpts for copyright registration paperwork, which is similar to your escrow case.)</p>\n\n<p>It is a little slow to open a really big solution, but not unbearably so, and the output quality is excellent.</p>\n'}, {'answer_id': 51928, 'author': 'Joel Coehoorn', 'author_id': 3043, 'author_profile': 'https://Stackoverflow.com/users/3043', 'pm_score': 1, 'selected': False, 'text': '<p>Couple feature additions:</p>\n\n<ul>\n<li>Automatically insert page breaks after methods/classes  </li>\n<li>Keep long lines readable (nearly all current implementations are broken)</li>\n</ul>\n'}]
['https://Stackoverflow.com/questions/51871', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/2744/']