![TextField 未聚焦的颜色](https://linux22.com/image/455757/TextField%20%E6%9C%AA%E8%81%9A%E7%84%A6%E7%9A%84%E9%A2%9C%E8%89%B2.png)
我想让未聚焦的 TextField 的颜色与聚焦时的颜色相同。有办法吗?或者,有没有办法让它在未聚焦时透明?
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\begin{Form}
\TextField[name=testfield, backgroundcolor=1 0 0, bordercolor=1 0 0, multiline, width=30em, height=10em, borderwidth=0]{}
\end{Form}
\end{document}
答案1
欢迎来到 TeX.SX!有些 PDF 查看器默认会用特定颜色(通常是浅色透明紫色)覆盖非活动文本字段。我浏览了Acrobat 的 JavaScript API 参考我在这里找到了一些方法runtimeHighlight
,runtimeHighlightColor
可以让你禁用和设置表单字段的突出显示颜色。
因此,您可以使用 JS 风格的样式设置其选项\TextField
的值,这将完全删除文本字段的突出显示。只需为文档中的第一个设置此项即可,因为这是一个文档范围的设置。请注意,这只有在使用 Acrobat Reader 显示 PDF 时才可靠。其他 PDF 查看器可能不遵守这些设置。format
app.runtimeHighlight = false;
\TextField
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\begin{Form}
\TextField[
name=testfield,
backgroundcolor=1 0 0,
bordercolor=1 0 0,
multiline,
width=30em,
height=10em,
borderwidth=0,
format={app.runtimeHighlight = false;}
]{}
% you only need to set this for the first text field, as it sets an document-wide setting
\bigskip
\TextField[
name=testfield2,
backgroundcolor=1 0 0,
bordercolor=1 0 0,
multiline,
width=30em,
height=10em,
borderwidth=0
]{}
\end{Form}
\end{document}