This method will render all pages of the PDF document in advance before it sends the results to the printer. This works in all major browsers and will not give your users access to the source PDF file. However, this method is CPU-bound and memory usage scales with PDF size.
Because of its reliability and cross browsers support this method is the default.
Some caveats when using this method:
display: none !important. If the printed
page still contains other HTML elements, make sure to apply an appropriate print stylesheet
to your web app.This method is built to be resource efficient and to avoid having to render all pages in advance, which might balloon memory usage to multi-GB on PDFs with 100+ pages.
It supports all common browsers, however some fall back to opening the PDF file in a new tab, which might give your users unwanted access to the source files.
Google Chrome and Microsoft Internet Explorer provide the APIs required to use the native renderer, as a fallback on other browser we generate and open a PDF in a new tab. This allows users to print the PDF in a native PDF reader which can, as opposed to browser-built implementations, talk directly to the connected printer.
When using this print mode, we can not call the RenderPageCallback when printing pages.
Note: If the PDF is password-protected, we always fall back to opening the PDF in a new tab.
Describes mode used to print a PDF document.