我想制作一个包含 PDF 表单的文档,使文本对齐。显然,所有表单的宽度都会根据字段标签而不同。最简单的方法似乎是将字段放在表格中。
- 如何防止字段水平重叠?字段是否可以考虑标签来填充表格列?
- 我如何确保字段不会垂直混合?
梅威瑟:
\usepackage{hyperref}
\usepackage{tabularx}
\def\DefaultOptionsofText{print,borderwidth=0, backgroundcolor={0.9 0.9 0.9}}
\begin{document}
\begin{tabular}{ | m{0.45\textwidth} | m{0.45\textwidth} | }
\hrule
\TextField[width=\linewidth]{Name}
&
\TextField[width=\linewidth]{Surname}
\\
\hrule
\TextField[width=\linewidth]{Name}
&
\TextField[width=\linewidth]{Surname}
\\
\hrule
\end{tabular}
\end{document}
答案1
您可以将标签留空,并使用键设置名称(每个字段的名称应该不同)name
。然后,您可以自由地在另一列中添加标签。
您可以使用键设置文本字段的高度height
,但通常如果将其向下移动一点并增加数组拉伸,效果会更好。
\documentclass[12pt]{book}
\usepackage{hyperref}
\def\DefaultOptionsofText{print,borderwidth=0, backgroundcolor={0.9 0.9 0.9}}
\usepackage{array}
\begin{document}
\Form
\renewcommand\arraystretch{1.3}
\begin{tabular}{ | r m{0.4\textwidth} | r m{0.4\textwidth} | }
\hline
Name & \raisebox{-0.28\normalbaselineskip}{\TextField[name=name1,width=\linewidth]{}}
&
Surname & \raisebox{-0.28\normalbaselineskip}{\TextField[name=surname1,width=\linewidth]{}}
\\
\hline
Name & \raisebox{-0.28\normalbaselineskip}{\TextField[name=name2,width=\linewidth]{}}
&
Surname & \raisebox{-0.28\normalbaselineskip}{\TextField[name=surname2,width=\linewidth]{}}
\\
\hline
\end{tabular}
\end{document}