[Tex/LaTex] Prevent scaling of printout of PDF without using hyperref

pdftexprimitives

pdftex produces PDF. We need a viewer to view the PDF and print it. Some of those viewers tend to scale the printout: the letters shrink. This is a bug especially of the Adobe Reader and explained here: https://tex.stackexchange.com/a/204805/4736 .

A solution is describe here: https://tex.stackexchange.com/a/165348/4736 :

\usepackage{hyperref}
\hypersetup{pdfprintscaling=None}

I'd like to avoid hyperref, because it slows down compiling.

My question: Is there a command to do that without hyperref, maybe similar to \pdfinclusioncopyfonts=1? (To avoid a misunderstanding: \pdfinclusioncopyfonts=1 does somethin completely different, I'm asking if there exists something like \pdfprintscaling=0.)

Best Answer

pdfTeX

The low level command for \hypersetup{pdfprintscaling} from the hyperref package with pdfTeX in PDF mode is:

\pdfcatalog{/ViewerPreferences<</PrintScaling/None>>} 

LuaTeX

As child of pdfTeX it inherits some of the functionality of pdfTeX. \pdfcatalog is enabled by package luatex85:

\RequirePackage{luatex85}
\pdfcatalog{/ViewerPreferences<</PrintScaling/None>>} 

Without LaTeX/package luatex85:

\directlua{tex.enableprimitives('', {'protected', 'pdfextension'})}
\protected\def\pdfcatalog{\pdfextension catalog }
\pdfcatalog{/ViewerPreferences<</PrintScaling/None>>}

dvips/ps2pdf

The special is:

\special{ps:[{Catalog}<</ViewerPreferences<</PrintScaling/None>>>>/PUT pdfmark}

XeTeX

\special{pdf:docview<</ViewerPreferences<</PrintScaling/None>>>>}
Related Question