我想在 pdf 页面的每一页底部添加页码。页面大小不同
我在每页底部留出 15pt。
以下是我的 pdf 的样子
我努力了
\documentclass{article}
\usepackage{pdfpages}
\usepackage[footskip = 14mm,showframe]{geometry}
\usepackage{fancyhdr}
\fancyhf{}
\cfoot{\fontsize{20}{20}\selectfont \thepage}
\begin{document}
\eject \pdfpagewidth=432pt \pdfpageheight=179.64pt
\includepdfmerge[fitpaper,pagecommand={\thispagestyle{fancy}}]{/home/simha/latex/test.pdf, 1743}
\eject \pdfpagewidth=432pt \pdfpageheight=71.63999999999999pt
\includepdfmerge[fitpaper,pagecommand={\thispagestyle{fancy}}]{/home/simha/latex/test.pdf, 1744}
\eject \pdfpagewidth=432pt \pdfpageheight=192.12pt
\includepdfmerge[fitpaper,pagecommand={\thispagestyle{fancy}}]{/home/simha/latex/test.pdf, 1745}
\end{document}
我得到的是
当页面大小不同时如何在底部添加页码
如果所有页面大小相同,则以下代码有效。此处我的整个文档为 432pt、226pt(宽、高)。使用 footskip=14mm,我可以将页码精确地定位到我想要的位置。
\batchmode
\documentclass[a4paper,]{article}
\usepackage[
papersize={432pt, 226pt},
footskip = 14mm,
]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{pdfpages}
\usepackage{fancyhdr}
\fancyhf{}
\cfoot{\fontsize{20}{20}\selectfont \thepage}
\begin{document}
\the\textwidth; \the\textheight
\includepdfmerge[pagecommand={\thispagestyle{fancy}}]{/var/tmp/pdfjam-7FXkbO/source-1.pdf,-}
\end{document}
我得到的结果如下
答案1
我的基本想法是将 包装tikzpicture
在 中pagecommand
。\includepdfmerge
此外,您还需要remember picture, overlay
在 pdf 上写入的参数和pagenodes
tikz 的函数来获取当前页面底部的位置。此机制应该能够处理所包含 pdf 的不同页面大小,并将页码始终放在底部(将参数设置yshift
为适合您的值)。
基于您的代码的 MWE
\documentclass{article}
\usepackage{pdfpages, tikz}
\begin{document}
\includepdfmerge[fitpaper,pagecommand={
\begin{tikzpicture}[remember picture, overlay]
\node[yshift=15pt] at (current page.south) {\thepage};
\end{tikzpicture}}]{/var/tmp/pdfjam-7FXkbO/source-1.pdf,-}
\end{document}
答案2
这是一个incgraph
解决方案:
- 在第一个例子中,页码放在图片里面,
- 在第二个例子中,页码放在图片外面,因此扩大了页面尺寸。
\documentclass{article}
\usepackage{incgraph}
\usepackage{tikz}
\igrset{
my page number/.style={
overlay={
\node[anchor=south] at ([yshift=5pt]page.south) {\thepage};
}
}
}
\begin{document}
content
\incgraph[my page number][page=1]{example-image-a}
\igrpage{%
\begin{tikzpicture}
\node[inner sep=0pt] (pic) {\includegraphics{example-image-b}};
\node at ([yshift=-10pt]pic.south) {\thepage};
\end{tikzpicture}%
}
\end{document}
答案3
经过一番努力后,我可以通过以下方式做到这一点。
但我仍然需要努力,最终使用left=0mm,right=0mm,top=0mm, bottom=0mm,footskip=1mm
完成\newgeometry
了工作
还showframe
帮助我可视化文本区域。
问题是 fancyhdr 不适应中间文档页面大小的变化。然后理解几何包是关键
但我还是一知半解。并在脚本中留下了一些问题作为注释。我不知道它们的用途是什么。但经过反复尝试,我明白它们是必需的。
\documentclass{scrartcl} % THIS IS REQUIRED
% QUESTION:
% \documentclass{article} pushes the pagenumber down
% I dont know the reason
\usepackage{geometry}
\usepackage{pdfpages}
\usepackage[automark,headsepline,footsepline]{scrlayer-scrpage} % THIS IS REQUIRED
% QUESTION:
% without the above line the page number is pushed down /out of the page
% I dont know the reason
% \usepackage{showframe}
\begin{document}
\newgeometry{layoutwidth = 432pt,
layoutheight = 179.64pt,
left=0mm,right=0mm,top=0mm, bottom=0mm,footskip=1mm}
\includepdfmerge[fitpaper,pagecommand={\thispagestyle{plain}}]{/home/simha/latex/test.pdf, 1743}
\newgeometry{layoutwidth = 432pt,
layoutheight = 71.63999999999999pt,
left=0mm,right=0mm,top=0mm, bottom=0mm,footskip=1mm}
\includepdfmerge[fitpaper,pagecommand={\thispagestyle{plain}}]{/home/simha/latex/test.pdf, 1744}
\newgeometry{layoutwidth = 432pt,
layoutheight = 192.12pt,
left=0mm,right=0mm,top=0mm, bottom=0mm,footskip=1mm}
\includepdfmerge[fitpaper,pagecommand={\thispagestyle{plain}}]{/home/simha/latex/test.pdf, 1745}
\end{document}
输出为
另外,对于如何在具有不同页面大小的 pdf 中添加底部空间(例如,页码为 15 毫米),然后添加页码,请参阅答案 https://tex.stackexchange.com/a/556945/221200