我正在编写一个 LaTeX 文档,希望它可以在 Acrobat 中编辑。我使用 eforms 提供的 Textfield。
本文档是一个长表,其中包含说明和两个用户需要用文本填充的单元格。我有大约 300 行,我无法想象我需要为每个文本字段创建一个名称(行数 * 单元格数)。
如果我将名称留空,或者两个文本字段的名称相同,则 Acrobat Reader 会出现错误,因此我想连接行号和列号,但我不知道如何检索最后一个。
有什么办法吗?
以下是 MWE:
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{longtable}
\usepackage[pdftex]{eforms}
\begin{document}
\section{}
\begin{longtable}{|p{12cm}|p{1.2cm}|p{1.2cm}|}
\hline
\sc text here & \sc form1 & \sc form2 \\
\hline
\endhead
text here & \TextField[{maxlen=2,align=0,borderwidth=1,height=8pt,width=1cm,name=}]{} & \TextField[{maxlen=2,align=0,borderwidth=1,height=8pt,width=1cm,name=}]{} \\
\hline
\end{longtable}
\end{document}
答案1
请检查这是否有帮助。这里使用罗马数字来命名字段(实际上没有检查 300 行)。
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{longtable}
\usepackage[pdftex]{eforms}
\makeatletter
\newcount\fldn@me\fldn@me=1
%
\def\TextFieldX{%
\xdef\textFldName{name=\romannumeral\fldn@me}
\expandafter\TextField\expandafter[\expandafter{\textFldName,maxlen=2,align=0,borderwidth=1,height=8pt,width=1cm}]{}%
\global\advance\fldn@me1
}
\makeatother
\begin{document}
\section{Section A}
\begin{longtable}{|p{12cm}|p{1.2cm}|p{1.2cm}|}
\hline
\sc text here & \sc form1 & \sc form2 \\
\hline
\endhead
text here & \TextFieldX & \TextFieldX \\
text here & \TextFieldX & \TextFieldX \\
text here & \TextFieldX & \TextFieldX \\
text here & \TextFieldX & \TextFieldX \\
text here & \TextFieldX & \TextFieldX \\
text here & \TextFieldX & \TextFieldX \\
\hline
\end{longtable}
\section{Section B}
\begin{longtable}{|p{12cm}|p{1.2cm}|p{1.2cm}|}
\hline
\sc text here & \sc form1 & \sc form2 \\
\hline
\endhead
text here & \TextFieldX & \TextFieldX \\
text here & \TextFieldX & \TextFieldX \\
text here & \TextFieldX & \TextFieldX \\
\hline
\end{longtable}
\end{document}