表单字段中的自定义字体

This article was translated from English: Does it need improvement?
Translated
View the article in English

在为交互式表单字段设置样式时,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 pt。
  • 0.898 0.133 0.215 rg: RGB颜色,这里是红色调。

警告命名的字体必须安装在渲染PDF的系统上。 如果缺失,则样式将无法按编写方式应用。

这让您完全控制表单字段文本的字体和颜色,直到SetFont()支持在更高版本的IronPDF中到来。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 20,296,129 | 版本: 2026.7 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronPdf
运行示例看着你的HTML代码变成PDF文件。