我想“隐藏”文档中每页的指定区域。我想过在文档中想要隐藏的区域上放置一张空白图像,但我不知道这是否可行。
我记得该eso-pic
包可以将背景图像插入到每个页面,但是就我而言,我希望图像位于文本之上并将其隐藏。
我只需要它用于打印(即使文本仍然存在,在 PDF 文件中,在图像后面 - 这不是问题)。
这可以在 LaTeX 中完成吗?还是需要用其他软件来处理最终的 PDF 文件?
答案1
此示例使用atbegshi
包裹。
根据 OP 的要求,如果使用符合 PDF 规范的查看器(例如 Acrobat Reader 或 Foxit),则该框仅打印在纸上,但不显示在查看器中。包ocgx2
用于将盒子放置在仅打印层上。
\documentclass{article}
% box color
\def\boxColor{lightgray}
% dimensions of the box
\def\boxWidth{0.25\paperwidth}
\def\boxHeight{0.25\paperwidth}
% position relative to upper left page corner
\def\boxOffsetX{0.3\paperwidth}
\def\boxOffsetY{0.3\paperheight}
\usepackage{atbegshi,xcolor}
\AtBeginShipout{%
\AtBeginShipoutUpperLeftForeground{%
\begin{ocg}[
printocg=always,viewocg=never,
showingui=never % also hide layer in the `Layers' navigation tab
]{veil}{veil}{false}%
\hspace{\boxOffsetX}%
\color{\boxColor}\raisebox{-\dimexpr\height+\boxOffsetY\relax}{\rule{\boxWidth}{\boxHeight}}%
\end{ocg}%
}%
}
\usepackage{ocgx2} %PDF Layers
\usepackage{kantlipsum} % Bla bla
\begin{document}
\kant[1-10]
\end{document}