I'd like to print a web document on a single page, but Chrome famously doesn't have this feature normally called fit to page or shrink to fit.
Is there a workaround?
Yes, there is a workaround. What we'll do is manually zoom the document with CSS until the contents fit appropriately.
Press F12 to launch Chrome DevTools. Make sure it's on the tab Elements and the
<body> element is selected. Now move to the Styles tab (on the right) and, in
element.style, insert the following: (just click after the opening brace
Hint: don't type the colon (
:) else you'll inadvertently launch something else; instead, just hit TAB after typing
Now close DevTools (F12 again) and hit Ctrl+P to launch the print dialog. Check to see if the page is fitting well. If it isn't, retry with another zoom value until it's good!
As of version 56 you now you will have an option for Scale in the print preview. However you may have to enable it (I have version 56.0.2924.87). In the Address bar: chrome://flags/#print-scaling and change it to Enabled. This does not solve the "scale to fit" but does get you one step closer.
See this and more enhancements here: https://productforums.google.com/forum/#!topic/chrome/O7nz6Vb1kBM
I only have trouble on a few websites, for them I use the extension:
Full page screen capture
It creates a temporary image in a new tab which then scales correctly when you print that.