How to make Firefox print complex pages with graphics and tables?
I am running Firefox 30.0, recently installed, on Windows XP SP3. I also have the Print to PDF extension installed. Some financial websites -- Fidelity, Morningstar, etc. supply web pages with complex tables that none of the Firefox print choices will print or preview at all correctly; that is, neither print preview nor print to pdf will produce a useable result. I have reviewed the various troubleshooting advice. When this happens I have to fall back on Internet Explorer or Chrome -- they work fine. Otherwise, I generally do not have any problems printing web pages with Firefox. Advice ?
所有回覆 (4)
Laying out pages for printing is one of Firefox's problem areas: some style rules which work well on screen can create unexpected page breaks or missing data when paginated.
I usually have good results with the Print pages to PDF extension, but it, too, has some limitations.
It difficult to suggest workarounds without seeing the page. Is there a public page (no login required) you could provide an address for? Or could you describe how to navigate to a Fidelity/Morningstar page after login?
Are any of the unprintable pages available as PDFs? in Firefox, to print a PDF displayed in the browser, you get the best results using the print controls of the PDF viewer (either the built-in viewer or Adobe or another plugin) rather than the main menu item. Or you can launch them externally in your preferred PDF viewer.
jescher2000 - Thanks for the reply. Try the following for a simple example: morningstar.com (no need to have a login) type IBM in the "quote" box When the data shows up, select the "chart" tab. You will see that "print preview" does not render the top sections of the page very accurately, and truncates the right side and the bottom, even with "shrink to fit". The Print to PDF extension fails altogether. I just give this as an easy "public" example, the "print preview" rendering is useable, but indicative of trouble. Neal Scribner
I am blocking a lot of third party scripts, so I don't notice a problem with the top area of the page, but definitely the shrink-to-fit isn't working.
I think the reason for this is the overflow rules in the page. In order to get the page to scale normally, I have to strip one and override another. I'm not aware of any automated tool to do it, but you can use one of these approaches:
(1) Web Console
Open Firefox's web console below the tab by pressing Ctrl+Shift+k. Next to the caret (») paste the following and then press Enter to run it:
var r="@media print{html,body{overflow:visible !important}}"; var s=document.createElement("style"); s.type="text/css"; s.appendChild(document.createTextNode(r)); document.body.appendChild(s); document.body.style.overflow="";
When you preview the document, it should be scaled as expected.
(2) Bookmarklet
If you find yourself needing to do this more than once in a blue moon, you can make it move convenient by adding the script to the Bookmarks Toolbar (more convenient assuming you display that toolbar).
Select and copy this variation of the script:
javascript:var r="@media print{html,body{overflow:visible !important}}"; var s=document.createElement("style"); s.type="text/css"; s.appendChild(document.createTextNode(r)); document.body.appendChild(s); document.body.style.overflow=""; void 0;
Right-click the Bookmarks Toolbar and choose New Bookmark. In the first line, you can assign a short name like M-Chart and in the Location line, paste the script. Then click Add.
This button should have the same effect as the script run in the web console.
Now... that's not a solution, and it's not a pretty workaround. I hope this is fixed someday, but I suspect that given the priority on mobile, improving printing will remain on the back burner. I've long thought it should be possible to create an add-on to work around these things but I'm not a programmer, so...
jescher2000 - Thanks again for the help. As you said, the workaround is not pretty, and I am not sure how it would work for other websites' pages. The easiest solution is still to use IE or Chrome for printing such pages. Neal