
我在新命令定義中嘗試了各種組合(fontWeight=bfseries、font=bfseries)以使輸入文字預設為粗體,但到目前為止尚未成功。如果有任何建議,我將不勝感激。微量元素:
\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,這會在欄位中給出此字體: