Install Greasemonkey addon and use the script given below.
I modified a script I found here http://www.netsi.dk/wordpress/index.php/2011/07/07/printing-html-pages-make-screen-and-print-appear-the-same/
I changed "screen" to "print" at the end (I have no idea about jQuery, so don't ask me any questions) so that in effect it sends the screen version to the printer. When printing to pdf, (using Foxit or Nitro Pdf printers), I set the page type to Tabloid Extra in landscape mode so the pdf size matches the screen size more or less. Enjoy! Remember, I don't know a thing about programming, so the credit goes to the original author.
// ==UserScript==
// @name Show print version (A Cross Browser Example) (showPrintVersion.user.js)
// @namespace netsi
// @match http://*/*
// @author Sten Hougaard
// @description Simply add #print to the URL. As descriped in my blog post (goo.gl/MEizV) this will activate any media=print stylesheets so that you can see the print version without printing
// ==/UserScript==
// a function that loads jQuery and calls a callback function when jQuery has finished loading
function addJQuery(callback) {
var script = document.createElement("script");
script.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js");
script.addEventListener('load', function () {
var script = document.createElement("script");
script.textContent = "(" + callback.toString() + ")();";
document.body.appendChild(script);
}, false);
document.body.appendChild(script);
}
// the guts of this userscript
function main() {
var bPrint = (window.location.toString().indexOf('#print')!=-1);
if (bPrint) {
// The user wants to print this page
jQuery('link[media*="screen"]').attr('media', 'all'); // Enable the screen styling for all media types, including screen.
jQuery('link[media*="print"]').remove(); // remove any styling related to print
}
}
// load jQuery and execute the main function
addJQuery(main);