As you're probably already aware of it, our PDF Highlighting Viewer is created on a top Mozilla's PDF.js project. PDF.js is a great tool to render PDF documents in a web browser, on desktop or mobile. Unfortunately, printing from PDF.js is hardly usable because content is printed blurred. There's a number of open bug reports related to this in Mozilla's issue tracker:
- Bug 847049 - Printing from pdf.js rescales/resizes/shrinks output, and very poor print quality
- Bug 811002 - Low Quality Print Output of PDFs (win)
- Bug 932289 - Low Quality Print Output of PDFs (linux)
- Bug 932313 - Low Quality Print Output of PDFs (Mac OS)
- #6241 - Print quality between browers.
- #2750 - Print is fuzzy/blurry
Several months ago we implemented a workaround for this issue and started testing it on several client installations. Technically, the workaround consists of overriding PDF.js printing support with logic that reloads PDF document in an iframe so that it's handled by browser's default PDF viewer and triggering print. Obviously, this requires that browser already has some PDF viewer but most modern browsers do.
The printing workaround was not enabled by default and, to enable it, one had to change Highlighter configuration by adding
nativePrint=1 parameter to viewer URL. As this workaround worked nicely for our clients, we enabled it in default installation PDF Highlighter v2.6 so no changes are needed with fresh installs.
We still hope to a proper solution from Mozilla or community but, until then, at least we got rid of those blurry printouts.