hyperref:如何在表单文本字段中格式化文本

hyperref:如何在表单文本字段中格式化文本

我想预先格式化表单文本字段中的文本,例如将其设为粗体、斜体或使用特定字体。以下代码生成一个简单的文本字段:

\documentclass{scrreprt}
\usepackage{hyperref}
\begin{document}
\textbf{The Text Field}
\begin{Form}
\TextField[]{\ }
\end{Form}
\end{document}

是否可以预先格式化文本字段中的文本? hyperref 包手册 (10/2011) 提到了一个可选参数格式以及使用 JavaScript 来格式化字段。这可以用于格式化字段中的文本吗?如果可以,该怎么做?(我不精通 JavaScript)

答案1

我想提供一个展示大多数可能性的示例。希望它能有所帮助:

\documentclass{article}
\usepackage[pdfstartview=FitH]{hyperref}

\begin{document}

\begin{Form}

\TextField[name = number.1,
           format = {
               var f = this.getField('number.1');
               f.textFont = 'Verdana';
               f.strokeColor = ['T'];
               f.fillColor = ['T'];
               f.userName = 'first number'
               },
           value = 1250,
           charsize = 10pt]
          {number 1}

\TextField[name = number.2,
           format = {
               var f = this.getField('number.2');
               f.textFont = 'Verdana';
               f.strokeColor = ['T'];
               f.fillColor = ['T'];
               f.userName = 'second number'
               },
           value = 500,
           charsize = 10pt]
          {number 2}

\TextField[name = sum,
           format = {
               var f = this.getField('sum');
               f.textFont = 'Verdana';
               f.strokeColor = ['T'];
               f.fillColor = ['T'];
               f.userName = 'sum'
               },
           calculate = {
               this.getField('sum').value =
                 this.getField('number.1').value + this.getField('number.2').value;
               },
           charsize = 10pt,
           readonly = true]
          {sum}

\end{Form}

\end{document}

此示例改编自德国社区

相关内容