![如何将 LaTeX / TeX 输出叠加到 PDF 文件上?](https://linux22.com/image/236136/%E5%A6%82%E4%BD%95%E5%B0%86%20LaTeX%20%2F%20TeX%20%E8%BE%93%E5%87%BA%E5%8F%A0%E5%8A%A0%E5%88%B0%20PDF%20%E6%96%87%E4%BB%B6%E4%B8%8A%EF%BC%9F.png)
我有一个 PDF 格式的表单。我想使用 LaTeX/TeX 将文本覆盖在表单上,并将输出发送到打印件或其他 PDF 文件。
这可能吗?我该怎么做?
答案1
一个想法是使用pdfpages
(参见CTAN 上的 pdfpages),然后tikzpicture
在上面放一个。Tikzpicture 可以使用remember picture, overlay
选项绝对定位。问题类似于我可以将 tikzpictures 添加到 pdfpages 中包含的页面吗。
MWE 看起来是这样的:
\documentclass[12pt]{article}
\usepackage{pdfpages}
\usepackage{tikz}
\begin{document}
\includepdf[pagecommand={\begin{tikzpicture}[remember picture, overlay]\node at (current page.center) {overlayed text};\end{tikzpicture}}]{filename}
\end{document}
答案2
一种非常简单但有效的方法是使用overpic
与 LaTeX 图片环境一起打包。它有一个网格来定位您的文本,您可以以绝对单位或图形尺寸的百分比来工作,等等。
\usepackage[abs]{overpic}
\usepackage{pict2e}
然后你就可以在任何地方使用它
\begin{overpic}[scale=1.0,unit=1mm,grid]{Figure file}
\put(26,75){Your stuff here}
:
:
\end{overpic}
答案3
您可以使用 TikZ 将表单作为图像放置在空白页面的中心,然后在其上绘图。这与建议的pdfpages
解决方案类似,但避免传递tikzpictures
,这实际上不是必要的。
也可以看看使用 TikZ 在图像上绘图和在 TikZ 中切换(显示/隐藏)导航网格的最简单方法是什么?相关代码。
您甚至可以向其中添加真正的 PDF 表单字段。请参阅创建可填写的 PDF如何做到这一点。
\documentclass[letterpaper]{article}% ensure identical page size
\usepackage{tikz}
\pagestyle{empty}
\begin{document}
% Page 1
\begin{tikzpicture}[remember picture,overlay]
\node at (current page.center) {\includegraphics[page=1]{form}};
\begin{scope}[shift={(current page.south west)},every node/.style={anchor=base west}]
% Grid to help find the positions (remove in final version)
\draw [help lines] (0,0) grid (current page.north east);
\draw [help lines,thick] (0,0) grid [step=5cm] (current page.north east);
%
\node at (2cm,9.75cm) {John Doe};
\node at (13cm,9.75cm) {\today};
\end{scope}
\end{tikzpicture}
\clearpage
% Page 2
\begin{tikzpicture}[remember picture,overlay]
\node at (current page.center) {\includegraphics[page=2]{form}};
\begin{scope}[shift={(current page.south west)},every node/.style={anchor=base west}]
% Grid to help find the positions (remove in final version)
\draw [help lines] (0,0) grid (current page.north east);
\draw [help lines,thick] (0,0) grid [step=5cm] (current page.north east);
%
%\node at (2.5cm,10.75cm) {John Doe};
\end{scope}
\end{tikzpicture}
\clearpage
\end{document}
此示例使用了IEEE 版权形式。只需下载并重命名为form.pdf
。第二页实际上不包含任何可填写的表单字段,但我发现展示如何处理多个页面很重要。