我试图使用 将单词“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
}