如何更改 PDF 可填写表单中“所有”字段的边框颜色?

如何更改 PDF 可填写表单中“所有”字段的边框颜色?

这个问题的灵感来自于如何将 PDF 表单中的边框颜色设置为无?

根据上述问题的可接受答案,要更改一个文本字段的边框颜色,可以使用以下命令:

\documentclass{article}
\usepackage{hyperref}
\usepackage{xcolor}

\begin{document}

\begin{Form}
\TextField[bordercolor=blue]{}
\TextField{}
\end{Form}

\end{document}

如何更改边框颜色全部整个文档中的字段?

答案1

您可以重新定义未记录的\DefaultOptionsof…宏:

\documentclass{article}
\usepackage{hyperref}
\usepackage{xcolor}

\def\DefaultOptionsofSubmit{print,name=Submit,noexport,bordercolor=blue}
\def\DefaultOptionsofReset{print,name=Reset,noexport,bordercolor=blue}
\def\DefaultOptionsofPushButton{print,bordercolor=blue}
\def\DefaultOptionsofCheckBox{print,bordercolor=blue}
\def\DefaultOptionsofText{print,bordercolor=blue}
\def\DefaultOptionsofListBox{print,bordercolor=blue}
\def\DefaultOptionsofComboBox{print,edit,sort,bordercolor=blue}
\def\DefaultOptionsofPopdownBox{print,bordercolor=blue}
\def\DefaultOptionsofRadio{print,notoggletooff,bordercolor=blue}

\begin{document}

\begin{Form}
\TextField{}
\TextField{}
\CheckBox{}
\end{Form}

\end{document}

答案2

您可以使用\HyField@SetKeys{<field key-value list>}来指定所有字段的默认样式。

假设存储在中的所有每个字段的默认选项\DefaultOptionsof…均不包含bordercolor\HyField@SetKeys则真正改变所有字段的边框颜色。

\documentclass{article}
\usepackage{hyperref}
\usepackage{xcolor}

\makeatletter
\HyField@SetKeys{bordercolor=cyan}
\makeatother

\begin{document}

\begin{Form}
\TextField{}
\TextField{}
\end{Form}

\end{document}

相关内容