I now have a print.css file for the webpage I’m happy with.
It works the way I want it to in IE and Firefox, and about half right in Opera. It turns out that Opera has problems with print.css files, defaulting most of the formatting to the website’s native .css file. Things that IE and Firefox rightly ignore, like the background image, and render correctly, like a default text font different than what I use on the webpage, Opera renders as they appear on the screen.
Still, it’s something I’m genuinely happy with.