Using browser native PDF print instead of PDF.js printing support
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:
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.