如何将 LaTeX / TeX 输出叠加到 PDF 文件上?

如何将 LaTeX / TeX 输出叠加到 PDF 文件上?

我有一个 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。第二页实际上不包含任何可填写的表单字段,但我发现展示如何处理多个页面很重要。

答案4

回答经过迈克尔·安德伍德质疑PDF 信头作为文档背景提供使用一行解决方案墙纸包裹。

相关内容