\framebox 的框架在 pdfpages 中消失

\framebox 的框架在 pdfpages 中消失

我试图使用 将单词“hello”放在pdf文件的每一页上pdfpages。以下代码有效,但“hello”周围的框架消失了。我在一个空白页pdf文件(同一目录中称为“letter.pdf”)上尝试了它。第一页有一个未装箱的“hello”,但下一页(以普通方式输出,没有pdfpages回调)工作正常。

\documentclass{minimal}
  \usepackage[final]{pdfpages}
\begin{document}
  % page 1 (no frame around hello)
  \newcommand{\eachpage}{\framebox[1in][l]{hello}}
  \includepdf[pages=-,pagecommand={\eachpage}]{letter.pdf}
  % page 2 (frame works)
  \framebox[1in][l]{hello}
\end{document}

答案1

包裹pdfpages 总是在包含的页面周围绘制一个框架;但默认不显示它,通过将其设置\fboxrule为零可获得。由于的添加pagecommands发生在 PDF 包含期间,因此\framebox将继承此设置。请注意,pdfpages也将其设置\fboxsep为零。

解决方案:

\newlength{\defaultfboxrule}
\newlength{\defaultfboxsep}
\AtBeginDocument{% Remember the values
  \setlength{\defaultfboxrule}{\fboxrule}%
  \setlength{\defaultfboxsep}{\fboxsep}%
}
\newcommand{\normalfboxes}{%
  \setlength{\fboxrule}{\defaultfboxrule}%
  \setlength{\fboxsep}{\defaultfboxsep}%
}

\newcommand{\eachpage}{%
  \begingroup\normalfboxes
  \framebox[1in][l]{hello}%
  \endgroup
}

相关内容