在文本字段中生成唯一名称

在文本字段中生成唯一名称

我正在编写一个 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}

相关内容