Here's how I handled this pretty easily.
I have a template that is print friendly and it is on its own page. The page is just a child page of the article details page.
Then, I have an articles feature control which is added to each article template. Inside of this control I have a print friendly link.
On the Page_Load of this control I have this code.
lnkPrint.NavigateUrl = Request.Url.ToString().Replace(
This way I set the NavigateUrl property of this hyperlink to be the print friendly page.
You can see an example here