![Как создать уникальные текстовые поля в форме PDF без указания имен текстовых полей](https://rvso.com/image/420745/%D0%9A%D0%B0%D0%BA%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C%20%D1%83%D0%BD%D0%B8%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%20%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B5%20%D0%BF%D0%BE%D0%BB%D1%8F%20%D0%B2%20%D1%84%D0%BE%D1%80%D0%BC%D0%B5%20PDF%20%D0%B1%D0%B5%D0%B7%20%D1%83%D0%BA%D0%B0%D0%B7%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%B8%D0%BC%D0%B5%D0%BD%20%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D1%85%20%D0%BF%D0%BE%D0%BB%D0%B5%D0%B9.png)
Этот вопрос связан сГенерация уникальных имен в текстовом поле
Я не могу использовать решение, приведенное в вопросе выше, поскольку я использую его hyperref
для создания своей PDF-формы.
В моем документе много таблиц, и я хотел бы создать в них форму pdf. Названия текстовых полей не важны, пользователь должен просто иметь возможность их заполнить.
Проблема в том, что когда пользователь пытается заполнить одно из текстовых полей в PDF-файле, другие поля также заполняются.
Если я использую \TextField{}
вместо \TextField{\ }
, текстовые поля не отображаются при открытии PDF-файла в Acrobat Reader.
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\begin{Form}
\begin{tabular}{llll}
A & B & C & D \\
\TextField{\ } & \TextField{\ } & \TextField{\ } & \TextField{\ }\\
\TextField{\ } & \TextField{\ } & \TextField{\ } & \TextField{\ } \\
\TextField{\ } & \TextField{\ } & \TextField{\ } & \TextField{\ }
\end{tabular}
\end{Form}
\end{document}
решение1
Текстовому полю необходимо уникальное имя, но вы можете сгенерировать его, например, с помощью счетчика и новой команды:
\documentclass{article}
\usepackage{hyperref}
\newcounter{textfield}
\newcommand\AutoTextField{\stepcounter{textfield}\TextField[width=2cm,name=autotextfield\thetextfield]{}}
\begin{document}
\begin{Form}
\begin{tabular}{llll}
A & B & C & D \\
\AutoTextField & \AutoTextField & \AutoTextField & \AutoTextField\\
\AutoTextField & \AutoTextField & \AutoTextField & \AutoTextField \\
\AutoTextField & \AutoTextField & \AutoTextField & \AutoTextField
\end{tabular}
\end{Form}
\end{document}