Polices personnalisées dans les champs de formulaire

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

Lors du style des champs de formulaire interactifs, la méthode SetFont() ne peut pas appliquer une police personnalisée. Il n'y a pas d'erreur ; la demande de police est simplement ignorée, laissant le champ dans son apparence par défaut.

Le style de police personnalisé n'est pas encore pris en charge via SetFont(). Jusqu'à ce que cela soit disponible dans une future version, vous pouvez définir la police, la taille et la couleur directement via la propriété DefaultAppearance du champ, qui prend une chaîne d'instructions de dessin PDF brutes.

Solution

1. Définir manuellement la chaîne d'apparence

Chargez le document, récupérez le champ et assignez une chaîne DefaultAppearance qui décrit la police, la taille et la couleur :

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 chaîne est analysée en tant qu'opérateurs de texte PDF, donc la police que vous nommez doit être installée sur la machine rendant le document.

2. Lire la chaîne d'apparence

Chaque jeton dans la chaîne correspond à une partie du style du champ :

  • /AdobeThai-Bold : le nom et le poids de la police. Cette police doit être installée sur le système.
  • 15 Tf : la taille de la police, ici 15 pt.
  • 0.898 0.133 0.215 rg : la couleur RVB, dans ce cas une teinte rougeâtre.

AvertissementLa police nommée doit être installée sur le système rendant le PDF. Si elle est manquante, le style ne sera pas appliqué tel qu'écrit.

Cela vous donne un contrôle total sur la police et la couleur du texte du champ de formulaire jusqu'à ce que la prise en charge de SetFont() arrive dans une version ultérieure d'IronPDF.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer ?
Nuget Téléchargements 20,296,129 | Version : 2026.7 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronPdf
exécuter un échantillon Regardez votre code HTML se transformer en PDF.