The attached patch adds a "Print" button in the civicrm contact page details.
It uses a similar interface to the search->print function and it does not add new translation strings.
It adds an entry to Invoke.php so that the page is called with "contact/view/print", and View/Print.php extends View/Tabbed.php in order to reduce the code redundancy. Print.tpl is also based on Tabbed.tpl, but I removed alot of excess elements which are not required when printing.
Finally, I put a bit of CSS directly in Print.tpl since I wasn't sure whether adding it to print.css would break other functions. Altough some CSS is necessary since the css of Drupal are not loaded and therefore borders appear around images (show/hide blocs) and the font size was too big.
Mathieu Lutfy (aka "bgm" on freenode)