"# 表單欄位中的自定義字型"
當設計互動式表單欄位時,SetFont() 方法無法應用自定義字體。 "並無錯誤;" "該字型請求被簡單地忽略,將欄位置於其預設外觀。"
目前尚不支援通過 SetFont() 來進行自定義字體設計。 在未來版本推出之前,您可以直接通過欄位的 DefaultAppearance 屬性來設定字體、大小和顏色,該屬性接受一串原始PDF繪圖指令。
解決方案
1. 手動設置外觀字串
載入文件,獲取欄位,並分配一個描述字體、大小和顏色的 DefaultAppearance 字串:
var pdf = PdfDocument.FromFile("FilledForm.pdf");
TextFormField field = pdf.Form[0] as TextFormField;
// Manually define the appearance string:
// Format: /{FontName}-{Weight} {FontSize} Tf {R} {G} {B} rg
field.DefaultAppearance = "/AdobeThai-Bold 15 Tf 0.898 0.133 0.215 rg";
field.Value = "This is size 15";
pdf.SaveAs("customformfieldvalue15.pdf");
var pdf = PdfDocument.FromFile("FilledForm.pdf");
TextFormField field = pdf.Form[0] as TextFormField;
// Manually define the appearance string:
// Format: /{FontName}-{Weight} {FontSize} Tf {R} {G} {B} rg
field.DefaultAppearance = "/AdobeThai-Bold 15 Tf 0.898 0.133 0.215 rg";
field.Value = "This is size 15";
pdf.SaveAs("customformfieldvalue15.pdf");
Imports System
Dim pdf = PdfDocument.FromFile("FilledForm.pdf")
Dim field As TextFormField = TryCast(pdf.Form(0), TextFormField)
' Manually define the appearance string:
' Format: /{FontName}-{Weight} {FontSize} Tf {R} {G} {B} rg
field.DefaultAppearance = "/AdobeThai-Bold 15 Tf 0.898 0.133 0.215 rg"
field.Value = "This is size 15"
pdf.SaveAs("customformfieldvalue15.pdf")
$vbLabelText
$csharpLabel
這個字串將被解析為PDF文字操作符,因此您指定的字體必須安裝在進行文件渲染的計算機上。
2. 讀取外觀字串
字串中的每個標記對應於欄位樣式的一部分:
/AdobeThai-Bold:字體名稱和粗細。 此字體必須安裝在系統上。15 Tf:字體大小,這裡是15點。0.898 0.133 0.215 rg:RGB顏色,在這種情況下是紅色系。
警告指定的字體必須安裝在進行PDF渲染的系統上。 如果缺失,樣式將不會按所寫的應用。
這讓您在SetFont() 支援於後續IronPDF版本中到來之前,能完全控制表單欄位文字的字體和顏色。
準備開始了嗎?
Nuget 下載 20,296,129 | 版本: 2026.7 剛剛發布

