The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
I have been fighting to get decent printouts for years - and given up. Today, I rather save the complete web page, as an html file, with an associated subdirectory for images and style sheets and whatever. Most browsers provide this as a menu or control char command and takes care of everything.
A small disadvantage is, if you save hundreds of these pages, is that you end up with hundreds of copies of the same icons, images, common script snippets etc, one per saved page. But disk is cheap nowadays; it is no really big issue.
My experience is that this works a lot better than making PDF files for printing.
10-15 years ago, there was a whole crowd of "web harvesters" that allowed you to download an entire web site. They would keep the URL structure as a directory, so that e.g. icons and images were stored only once, for a much cleaner structure, if you want offline access to an entire website, or a major part. Fifteen years ago, there were still a few webpages here and there with more or less static, plain text/graphics info, so it used to work quite well. Nowadays, when 99% of the web pages are built on-the-spot for each request, and much of the information presented is retrieved from a remote database as you move around in the page, the harvesters (crawlers, scrapers, ... lots of names are in use) are not as useful as they used to be. Googling for e.g. "web harvesting" gives you enough links to keep you busy until the pandemic is over
Thanks for raising this issue. I have the same concern.
You asked why this is so hard, so I will attempt to answer this question first: It is so hard because most web system designers do not consider this feature important. In their mind, it is not a requirement, so they do not implement this feature or test it. There may also be some web system designers that do not want you to be able to capture the web page, and actually go out of their way to make this difficult or impossible.
You also ask for suggestions. I believe the reason that printing does not work is that Cascading Style Sheets (CSS) allow the web system designer to change the layout of the web page for different devices (so that the presentation on a small smart phone can have a completely different appearance from that of a large monitor). What is needed is the ability to OVERRIDE the default or provided style sheet for printing to instead use a style sheet suitable for the selected printer. Perhaps this could be implemented in a browser plug in. This is certainly something I would be interested in.
I very often print to PDF for documentation. What I often resort to in cases like this is selecting the important text (i.e. the actual article, the actual important information to save, but not the left or right sidebars etc.) and then choose "Only selection" when printing (using Ctrl+P in Chrome, choosing the printer "Save As PDF"). For some reason, when I do that, it's often much better formatted. Furthermore, the PDF will be smaller, as it will only contain the important part and not irrelevant text and images relating to other articles etc.
I have found the Chrome extension from PrintWhatYouLike.com works well, allows you to remove all the junk you don't want and then save to PDF. Does a decent job in Chrome. Unfortunatley it does not work well in FireFox, which only supports a bookmarklet.
They also have an extension/bookmarklet that can combine pages where you need to keep clicking "next" to see more content, into one single page. But I have not used that one.
Anything that is unrelated to elephants is irrelephant Anonymous - The problem with quotes on the internet is that you can never tell if they're genuine Winston Churchill, 1944 - Never argue with a fool. Onlookers may not be able to tell the difference. Mark Twain