LaTeX 可以制作不可打印的图形元素吗?

LaTeX 可以制作不可打印的图形元素吗?

有没有办法使某些图形元素不可打印,即打印为白色,但仍在屏幕上完全可见?

以下是可供玩耍和娱乐的 MWE:

\documentclass[11pt,letterpaper,twoside]{book}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[total={6in,10in},left=1.5in,top=0.5in,includehead,includefoot]{geometry}
\usepackage{microtype}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{eso-pic}
\usepackage{xcolor}
\usepackage{showframe}

\newlength{\distance}
\setlength{\distance}{0.0in}
\newlength{\rulethickness}
\setlength{\rulethickness}{0.5in}
\newlength{\ruleheight}
\setlength{\ruleheight}{\paperheight}
\newlength{\xoffset}
\newlength{\yoffset}
\setlength{\yoffset}{0pt}

\AddToShipoutPicture{%
    \setlength\fboxsep{0pt}%
    \ifodd\value{page}%
        \setlength{\xoffset}{\distance}%
    \else
        \setlength{\xoffset}{\dimexpr\paperwidth-\rulethickness-\distance}%
    \fi
    \AtPageLowerLeft{%
        \put(\LenToUnit{\xoffset},\LenToUnit{\yoffset}){%
        \colorbox{lightgray}{\parbox[b][\ruleheight][c]{\rulethickness}{%
        \centering
        \ifodd\value{page}%
            \rotatebox[origin=cB]{90}{\color{red}{\large{\normalfont\textsc{Copyright notice}}}}%
        \else
            \rotatebox[origin=cB]{90}{\color{blue}{\huge{\normalfont\textsc{Some Title}}}}%
        \fi
    }}}}%
}

\begin{document}

Test
\newpage
Another page

\end{document}

此代码在内边距绘制一条灰色垂直条,并带有一些版权声明。我需要它在屏幕上阅读 PDF 文档时保持可见。但我还希望它在打印到纸上时完全不可见。使用某些 LaTeX 命令可以实现这一点吗?


编辑:哎呀!这个问题似乎与这个问题重复:在 PDF 中创建不会打印到纸张上的元素

答案1

PDF 图层可以配置为不打印在纸上。此解决方案用于问题中链接的答案。虽然这种基于 OCG 的方法可以用于任何排版内容,但只有一小部分 PDF 查看器支持它,即 Acrobat Reader 和 Chromium PDF 插件。

对于可以放在框中的页面元素(如本问题),可以采用另一种基于不可打印 PDF 注释的方法。此方法适用于所有已知的 PDF 查看器。使用此方法,可选页面元素将显示为不可打印、非交互式 PDF 注释的外观:

\documentclass[11pt,letterpaper,twoside]{book}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[total={6in,10in},left=1.5in,top=0.5in,includehead,includefoot]{geometry}
\usepackage{microtype}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{eso-pic}
\usepackage{xcolor}
\usepackage{showframe}
\usepackage{graphicx}

\usepackage{pdfbase}
\ExplSyntaxOn
\let\tpPdfAnnot\pbs_pdfannot:nnnn\let\tpPdfLastAnn\pbs_pdflastann:
\let\tpAppendToFields\pbs_appendtofields:n
\def\tpPdfXform{\pbs_pdfxform:nnnnn{1}{1}{}{}}
\let\tpPdfLastXform\pbs_pdflastxform:
\ExplSyntaxOff

% odd
\begin{lrbox}{0}
  \setlength\fboxsep{0pt}%
  \rotatebox{90}{%
    \colorbox{lightgray}{%
      \makebox[\paperheight][c]{%
        \raisebox{-0.5\totalheight+\depth}[0.25in][0.25in]{\large\scshape\color{red}Copyright notice}%
      }%
    }%
  }
\end{lrbox}
\tpPdfXform{0}\edef\oddElem{\tpPdfLastXform}

%even
\begin{lrbox}{0}
  \setlength\fboxsep{0pt}%
  \rotatebox{90}{%
    \colorbox{lightgray}{%
      \makebox[\paperheight][c]{%
        \raisebox{-0.5\totalheight+\depth}[0.25in][0.25in]{\huge\scshape\color{blue}Some Title}%
      }%
    }%
  }
\end{lrbox}
\tpPdfXform{0}\edef\evenElem{\tpPdfLastXform}

\newlength\xoffset
\AddToShipoutPicture{%
  \ifodd\value{page}%
      \setlength{\xoffset}{0pt}%
  \else
      \setlength{\xoffset}{\paperwidth-0.5in}%
  \fi
  \AtPageLowerLeft{%
    \put(\LenToUnit{\xoffset},0){%
      \tpPdfAnnot{0.5in}{\paperheight}{0pt}{%
        /Subtype/Widget/FT/Btn/T (elem.\value{page})%
        /AP<<
          \ifodd\value{page}%
            /N \oddElem        % normal appearance
          \else
            /N \evenElem
          \fi
        >>%
        /Ff 65537 % non-interactive  push button
        /F 0 % visible, but no-print
      }%
      \tpAppendToFields{\tpPdfLastAnn}
    }%
  }%
}

\begin{document}

Test
\newpage
Another page

\end{document}

相关内容