![AddShipoutPictureBG 应用的背景未到达页面边缘](https://linux22.com/image/404621/AddShipoutPictureBG%20%E5%BA%94%E7%94%A8%E7%9A%84%E8%83%8C%E6%99%AF%E6%9C%AA%E5%88%B0%E8%BE%BE%E9%A1%B5%E9%9D%A2%E8%BE%B9%E7%BC%98.png)
我想将背景图像应用到文档,但它似乎无法覆盖图片的底部和右侧。
我开始使用来自这里。
简化我的文档我发现
\documentclass[a4paper,10pt]{article}
\usepackage{fullpage}
\usepackage{eso-pic,graphicx}
\usepackage{hyperref}
\addtolength{\textwidth}{2cm}
\addtolength{\hoffset}{-1cm}
\addtolength{\textheight}{3cm}
\addtolength{\voffset}{-1.5cm}
\begin{document}
\AddToShipoutPictureBG*{
\includegraphics[width=\paperwidth,height=\paperheight]{example-image-a}
};
\pagestyle{empty} % non-numbered pages
\end{document}
创建如下图像:
白色区域是页面上未被图像覆盖的部分。如何确保背景图像覆盖整个页面?
奇怪的是,我发现我可以通过删除“\usepackage{hyperref}”来消除底部边距。这似乎与这个问题有关:为什么 hyperref 包会改变纸张尺寸?
然而,即使没有 hyperref 包,右边距仍然未被覆盖。
欢呼并感谢,查尔斯。
答案1
您要么需要纠正您的调整\hoffset
——\voffset
页面上显示白色区域的原因,要么您需要完全摆脱它们。
包含\hoffset
和\voffset
调整:
\documentclass{article}
\usepackage{eso-pic,graphicx}
%\addtolength{\textwidth}{2cm}
\addtolength{\hoffset}{-1cm}
%\addtolength{\textheight}{3cm}
\addtolength{\voffset}{-1.5cm}
\begin{document}
\AddToShipoutPictureBG*{%
\AtPageLowerLeft{%
\hspace{1cm}% \hoffset adjustment
\raisebox{-1.5cm}{% \voffset adjustment
\includegraphics[width=\paperwidth,height=\paperheight]{example-image}% Background image
}% \raisebox
}% \AtPageLowerLeft
}% \AddToShipoutPictureBG*
\pagestyle{empty} % non-numbered pages
\mbox{}% Place something on the page in order for it to ship out
\end{document}
没有\hoffset
和\voffset
调整:
\documentclass{article}
\usepackage{eso-pic,graphicx}
\begin{document}
\AddToShipoutPictureBG*{%
\AtPageLowerLeft{%
\includegraphics[width=\paperwidth,height=\paperheight]{example-image}% Background image
}% \AtPageLowerLeft
}% \AddToShipoutPictureBG*
\pagestyle{empty} % non-numbered pages
\mbox{}% Place something on the page in order for it to ship out
\end{document}
背景图像的明确放置\AtPageLowerLeft
不是必需的,但它有助于理解代码。