我想预先格式化表单文本字段中的文本,例如将其设为粗体、斜体或使用特定字体。以下代码生成一个简单的文本字段:
\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}
此示例改编自德国社区。