You can put your content into a <div id="recipeXYZ">
nested normally within your blog post. Then you can load the content to a print page dynamically. Now you can print from your original page, with its images and story, or from your print page, which is more printer friendly. You can also modify your recipe from one central location and have it update both pages as they both always receive their content from the same source.
To generate the print page just add the button:
<span id="printPreview">printer friendly version (requires javascript)</span>
$("#printPreview").click(function(){
var w = window.open(); // you can change the dimenstions of the window here.
w.document.open().write("recipeXYZ.hml""#recipeXYZ");
// you probably want to create the actual print button here.
});