隐藏每个页面某个区域中的文本

隐藏每个页面某个区域中的文本

我想“隐藏”文档中每页的指定区域。我想过在文档中想要隐藏的区域上放置一张空白图像,但我不知道这是否可行。

我记得该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}

相关内容