以横向显示某些 PDF 页面而不影响打印

以横向显示某些 PDF 页面而不影响打印

目标

我创建了一个twoside包含一些sidewaysfigure页面的文档(使用包rotating)。我希望这些页面在 PDF 查看器中旋转显示,而不会影响打印。它应该是一个可用于阅读和打印的 PDF 文件。

研究

当前方法

我创建了一个 MWE,其中第 3 页(奇数)上有一张图像,第 6 页(偶数)上有第二张图像。

平均能量损失

\documentclass[a4paper, 11pt, twoside]{scrbook}

\usepackage{lipsum}
\usepackage{rotating}

\newenvironment{mysidewayspage}{%
    \clearpage%
    \Ifthispageodd{%
        \global\pdfpageattr\expandafter{\the\pdfpageattr/Rotate 270}%
    }{%
        \global\pdfpageattr\expandafter{\the\pdfpageattr/Rotate 90}%
    }
}{%
    \clearpage%
    \global\pdfpageattr\expandafter{\the\pdfpageattr/Rotate 0}%
}

\begin{document}
\lipsum[1-8]
\begin{mysidewayspage}
    \begin{sidewaysfigure}[htb]
        \centering
        \includegraphics[height=.6\textwidth, keepaspectratio]{example-image}
        \caption{Example Image}
    \end{sidewaysfigure}
\end{mysidewayspage}
\lipsum[5-15]
\begin{mysidewayspage}
    \begin{sidewaysfigure}[htb]
        \centering
        \includegraphics[height=.6\textwidth, keepaspectratio]{example-image}
        \caption{Example Image}
    \end{sidewaysfigure}
\end{mysidewayspage}
\lipsum[16-20]
\end{document}

结果

结果在查看器(Adobe Reader)中正确显示。

在此处输入图片描述

打印问题

打印此页时(或查看 2 on 1 的预览),旋转后的奇数页 3 将正确排列:

在此处输入图片描述

但是旋转后的偶数页 6 是颠倒的:

在此处输入图片描述

问题

有没有一种解决方案,可以在 PDF 视图中仅以横向模式显示旋转的页面而不影响打印,以便一个 PDF 文件可以用于两种情况?

可能存在一些依赖于查看器的行为,但适用于默认查看器的解决方案会很好(尤其是 Adob​​e Reader)。

答案1

您正在堆积/旋转指令,并且您的某些页面现在甚至包含三个值/Rotate 90/Rotate 0/Rotate 270

设置旋转的正确方法是使用 PDF 管理(该命令设置标签,因此应该在侧面环境中)。

\DocumentMetadata{} %load PDF management 
\documentclass[a4paper, 11pt, twoside]{scrbook}

\usepackage{lipsum}
\usepackage{rotating}
\ExplSyntaxOn
\newcommand\myrotate{%
    \Ifthispageodd{%
        \pdfmanagement_add:nnn{ThisPage}{Rotate}{90}
    }{%
        \pdfmanagement_add:nnn{ThisPage}{Rotate}{270}
    }
}
\ExplSyntaxOff

\begin{document}
\lipsum[1-8]
    \begin{sidewaysfigure}[htb]
        \centering\myrotate
        \includegraphics[height=.6\textwidth, keepaspectratio]{example-image}
        \caption{Example Image}
    \end{sidewaysfigure}
\lipsum[5-15]
    \begin{sidewaysfigure}[htb]
        \centering\myrotate
        \includegraphics[height=.6\textwidth, keepaspectratio]{example-image}
        \caption{Example Image}
    \end{sidewaysfigure}
\lipsum[16-20]
\end{document}

但我无法告诉您您的打印机驱动程序是否能更好地处理这个问题。

相关内容