使用LaTeX的PDF表单:如何创建恰好4in宽的\ TextField?

时间:2010-10-15 18:07:49

标签: forms pdf latex hyperref pdftex

我正在使用PDFLaTeX创建表单,并遇到了定义输入字段的\ TextField宏的问题:

\TextField[width=4in,name=sample]{}

结果场比4英寸宽一点,我不明白为什么。以下示例通过导致过度使用的hbox来解释该问题,因为过多的规则会突出显示该文件。

\documentclass[a4paper,11pt]{article}
\usepackage[latin1]{inputenc} 
\usepackage[pdftex]{hyperref}

\overfullrule3pt

\begin{document}
\noindent \TextField[name=one, width=\hsize]{type here:}
\end{document}

生成的PDF将显示一个过满的输入字段,尽管已将可用空间精确指定为所需的宽度。

1 个答案:

答案 0 :(得分:5)

hyperref软件包的作者Heiko Oberdiek给我发了一封电子邮件,并解释了为什么宽度默认大于指定的宽度。每个\ TextField都通过以下宏传递布局:

\def\LayoutTextField#1#2{% label, field
   #1 #2%
}

因此,我们最终得到了标签,空格和输入字段。 width参数仅影响输入字段。通过重新定义布局,我们可以确保最终得到指定的所需宽度:

\def\LayoutTextField#1#2{#2}

此布局只会删除标签(“在此处输入:”)以到达所需宽度的输入字段。