Fuentes personalizadas en campos de formulario

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

Al diseñar campos de formulario interactivos, el método SetFont() no puede aplicar una fuente personalizada. No hay error; simplemente se ignora la solicitud de la fuente, dejando el campo con su apariencia predeterminada.

El estilo de fuente personalizada aún no está soportado a través de SetFont(). Hasta que eso suceda en una futura versión, puedes controlar la fuente, el tamaño y el color directamente a través de la propiedad DefaultAppearance del campo, que toma una cadena de instrucciones de dibujo en PDF sin procesar.

Solución

1. Establece la cadena de apariencia manualmente

Carga el documento, toma el campo y asigna una cadena DefaultAppearance que describa la fuente, el tamaño y el color:

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

La cadena se analiza como operadores de texto PDF, así que la fuente que nombres debe estar instalada en la máquina que renderiza el documento.

2. Lee la cadena de apariencia

Cada token en la cadena mapea a una parte del estilo del campo:

  • /AdobeThai-Bold: el nombre y el peso de la fuente. Esta fuente debe estar instalada en el sistema.
  • 15 Tf: el tamaño de la fuente, aquí 15 pt.
  • 0.898 0.133 0.215 rg: el color RGB, en este caso un tono rojizo.

AdvertenciaLa fuente nombrada debe estar instalada en el sistema que renderiza el PDF. Si falta, el estilo no se aplicará como está escrito.

Esto te da control total sobre la fuente y el color del texto en los campos de formulario hasta que el soporte de SetFont() llegue en una actualización posterior de IronPDF.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 20,296,129 | Versión: 2026.7 recién publicada
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronPdf
ejecutar una muestra Mira cómo tu HTML se convierte en PDF.