表单:如何全局更改 TextField 中的字体

表单:如何全局更改 TextField 中的字体

我想将打字机字体放入我的 pdf 表单中。

所以我找到了机制

\TextField[width=5cm, name=NAME,value=Font manually changed,
format = { var f = this.getField('NAME'); f.textFont = 'Courier'; }, 
]{B: }

取决于name文本字段。

我可以使用相应的命令更智能地完成此操作,但我问自己:
是否有可能为所有文本字段全局设置字体?

在此处输入图片描述

\documentclass[fontsize=14pt]{scrreprt}
\usepackage{xcolor}
\usepackage[]{hyperref}

% Gobal Styles
\def\Default{
print, bordercolor=red,backgroundcolor=lightgray,borderstyle={U},
}
\xdef\DefaultOptionsofText{\Default}

\begin{document}
\begin{Form}
\TextField[width=5cm, name=a,value=Default Font]{A: }
\TextField[width=5cm, name=b,value=Font manually changed,
format = { var f = this.getField('b'); f.textFont = 'Courier'; }, 
]{B: }

Let's do this with a newcommand:

% \TEXTFIELD[<opt. Arg.>]{<name>}{<title>}
\newcommand{\TEXTFIELD}[3][]{%%
\TextField[width=5cm,
name = #2,  
format = { var f = this.getField('#2'); f.textFont = 'Courier'; }, 
#1, 
]{#3}
}%%

\bigskip
\TEXTFIELD[value={Font changed}]{C}{C:}
\TEXTFIELD[value={Font changed too}]{D}{D:}
\end{Form}
\end{document}

答案1

\documentclass[fontsize=14pt]{scrreprt}
\usepackage{xcolor}
\usepackage[]{hyperref}

% Global Styles
\def\DefaultOptionsofText{
 print, bordercolor=red,backgroundcolor=lightgray,borderstyle={U},
 format = {var me = event.target.name;  
          var f = this.getField(me); 
          f.textFont = 'Courier'; }}

\begin{document}
\begin{Form}
\TextField[width=5cm, name=a,value=Default Font]{A: }
\TextField[width=5cm, name=b,value=Font manually changed,
]{B: }
\end{Form}
\end{document}

在此处输入图片描述

相关内容