我正在处理一个包含 hyperref 包的 CheckBox 和 TextField 的 PDF 表单,我希望它们作为列表项目符号(仅 CB)和表格内部(CB 和 TF)。
在 Ubuntu 20.04.5 LTS 中工作时没有问题(使用 pdflatex)。默认 PDF 查看器可以正确显示所有内容,但是当我将该文件移动到 Windows 时,所有已安装的阅读器(Foxit、Adobe、Firefox)都无法正确显示它们。
\documentclass[a4paper]{article}
\usepackage{hyperref}
\usepackage{enumitem}
\newcommand{\MyCheckBox}{\CheckBox[checkboxsymbol=\ding{44}]{}}
\newcommand{\MyTextField}{\TextField{}}
\begin{document}
\begin{Form}
\paragraph{This is a table:}
\begin{tabular}{|c|c|c|c|}
\hline
\MyCheckBox & text & \MyTextField & text \\
\hline
\end{tabular}
\paragraph{This is a list:}
\begin{itemize}
\item To buy:
\begin{itemize}[label=\MyCheckBox]
\item Bread
\item Books
\end{itemize}
\item To do:
\begin{itemize}[label=\MyCheckBox]
\item Solve hunger
\item Get strong
\end{itemize}
\end{itemize}
\end{Form}
\end{document}
答案1
表单字段必须有名称,没有名称,PDF 就会出错。请注意,同名复选框的开启和关闭会同时发生。
\documentclass[a4paper]{article}
\usepackage{hyperref}
\usepackage{enumitem}
\newcommand{\MyCheckBox}{\CheckBox[name=checkbox,checkboxsymbol=\ding{44}]{}}
\newcommand{\MyTextField}{\TextField[name=text]{}}
\begin{document}
\begin{Form}
\paragraph{This is a table:}
\begin{tabular}{|c|c|c|c|}
\hline
\MyCheckBox & text & \MyTextField & text \\
\hline
\end{tabular}
\paragraph{This is a list:}
\begin{itemize}
\item To buy:
\begin{itemize}[label=\MyCheckBox]
\item Bread
\item Books
\end{itemize}
\item To do:
\begin{itemize}[label=\MyCheckBox]
\item Solve hunger
\item Get strong
\end{itemize}
\end{itemize}
\end{Form}
\end{document}