我需要在表格环境中获取可填写的文本字段,并且由于我使用除英语以外的其他语言脚本,因此我需要使用 XeTeX 引擎编译我的文档。我找到的离这个问题最近的帖子这里,但这已经过去了 3 年零 7 个月多了。该帖子证实了它不适用于 XeTeX 引擎的情况,我期待有关此问题的任何更新:
以下是我的 MWE:
平均能量损失
\documentclass[a4]{scrartcl}
\usepackage[left=1cm,right=1cm,top=0.5cm,bottom=1cm]{geometry} %showframe
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{hyperref}
\begin{document}
\begin{Form}
\begin{tabular}{ccccccc}
\textbf{No} & \textbf{Name} & \textbf{Code} & \textbf{Request Date} & \textbf{Source} & \textbf{Issue Date} & \textbf{Notes} \\
\TextField[backgroundcolor=white,borderwidth=1,bordercolor=gray!30,height=20pt,width=0.05\textwidth,default=1]{} &
\TextField[backgroundcolor=white,borderwidth=1,bordercolor=gray!30,height=20pt,width=0.2\textwidth]{} & \TextField[backgroundcolor=white,borderwidth=1,bordercolor=gray!30,height=20pt,width=0.05\textwidth]{} &
\TextField[backgroundcolor=white,borderwidth=1,bordercolor=gray!30,height=20pt,width=0.1\textwidth]{} &
\TextField[backgroundcolor=white,borderwidth=1,bordercolor=gray!30,height=20pt,width=0.1\textwidth]{} &
\TextField[backgroundcolor=white,borderwidth=1,bordercolor=gray!30,height=20pt,width=0.1\textwidth]{} & \TextField[backgroundcolor=white,borderwidth=1,bordercolor=gray!30,height=20pt,width=0.2\textwidth]{} \\
\TextField[backgroundcolor=white,borderwidth=1,bordercolor=gray!30,height=20pt,width=0.05\textwidth,default=2]{} &
\TextField[backgroundcolor=white,borderwidth=1,bordercolor=gray!30,height=20pt,width=0.2\textwidth]{} & \TextField[backgroundcolor=white,borderwidth=1,bordercolor=gray!30,height=20pt,width=0.05\textwidth]{} &
\TextField[backgroundcolor=white,borderwidth=1,bordercolor=gray!30,height=20pt,width=0.1\textwidth]{} &
\TextField[backgroundcolor=white,borderwidth=1,bordercolor=gray!30,height=20pt,width=0.1\textwidth]{} &
\TextField[backgroundcolor=white,borderwidth=1,bordercolor=gray!30,height=20pt,width=0.1\textwidth]{} & \TextField[backgroundcolor=white,borderwidth=1,bordercolor=gray!30,height=20pt,width=0.2\textwidth]{} \\
\end{tabular}
\end{Form}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-engine: xetex
%%% TeX-master: t
%%% End:
输出
答案1
文本字段必须有一个(唯一的)名称,可以通过标签参数或名称键来表示。有了它,我在 texlive 2018 上使用 xelatex 时就可以正常工作:
\documentclass{scrartcl}
\usepackage[left=1cm,right=1cm,top=0.5cm,bottom=1cm]{geometry} %showframe
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{hyperref}
\begin{document}
\begin{Form}
\begin{tabular}{c}
\textbf{No}\\
\TextField[name=r1,backgroundcolor=white,borderwidth=1,
bordercolor=gray!30,height=20pt,width=0.2\textwidth]{} \\
\TextField[name=r2,backgroundcolor=white,borderwidth=1,
bordercolor=gray!30,height=20pt,width=0.2\textwidth]{} \\
\end{tabular}
\end{Form}
\end{document}