如何變更 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}

相關內容