我在新命令定义中尝试了各种组合(fontWeight=bfseries、font=bfseries),以默认将输入文本设为粗体,但目前尚未成功。如有任何建议,我将不胜感激。MWE:
\documentclass[11pt,a4paper]{article}
\usepackage[table]{xcolor}
\usepackage{hyperref,stackengine}
\newcommand{\TF}[2][5em]{\TextField[borderwidth=-0.2pt,
width=#1,
height=#1,
charsize=12pt,
backgroundcolor=white!50!white,
color=black!100!black,
bordercolor=white!20!white,
name=#2
charWeight=\bfseries
]{}}
\begin{document}
\fbox{\TF[12em, height=12pt, charsize=12pt,
color=black!100!black, bordercolor=1 1 1]{d}}
\end{document}
答案1
这确实很难。与 PDF 中的普通文本不同,文本字段中的字形不是从嵌入的资源中获取的,而是 PDF 查看器必须动态生成的(毕竟没人知道用户将在这样的字段中输入哪些字符)。PDF 参考没有指定有关如何构建此类字体资源的很多细节,而是将其留给处理器,这意味着它很大程度上取决于 PDF 查看器。
因此 hyperref 不提供很多选项,您可以尝试设置字体大小和颜色,但或多或少就是这样。
使用 l3pdffield-testphase 您还可以指定字体名称,但正如我上面所写,不能保证每个查看者都会遵守该设置。如果他们找不到字体,他们可以退回到其他字体(或者干脆忽略该设置):
\DocumentMetadata{}
\documentclass{article}
\usepackage{l3pdffield-testphase}
\usepackage{fontspec}
\setmainfont{DejaVuSans}
\begin{document}
\textbf{Some bold text}
\ExplSyntaxOn
\pdffield_textfield:n{name=name,font=DejaVuSans-Bold,width=5cm}
\ExplSyntaxOff
\end{document}
使用 Adobe Reader 时,会在字段中显示以下字体: