Benutzerdefinierte Schriften in Formularfeldern
Beim Stilieren von interaktiven Formularfeldern kann die SetFont()-Methode keine benutzerdefinierte Schriftart anwenden. Es tritt kein Fehler auf; die Schriftanfrage wird einfach ignoriert, wodurch das Feld in seinem normalen Aussehen belassen wird.
Benutzerdefinierte Schriftarten-Stilierung wird durch SetFont() noch nicht unterstützt. Bis dies in einem zukünftigen Release verfügbar ist, können Sie die Schriftart, Größe und Farbe direkt über die DefaultAppearance-Eigenschaft des Feldes steuern, die eine Zeichenkette mit Rohanweisungen für das PDF-Zeichnen annimmt.
Lösung
1. Setzen Sie die Erscheinungszeichenkette von Hand
Laden Sie das Dokument, greifen Sie auf das Feld zu und weisen Sie eine DefaultAppearance-Zeichenkette zu, die die Schriftart, Größe und Farbe beschreibt:
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")
Die Zeichenkette wird als PDF-Textoperatoren geparst, daher muss die von Ihnen benannte Schriftart auf dem Computer installiert sein, der das Dokument rendert.
2. Lesen Sie die Erscheinungszeichenkette
Jedes Token in der Zeichenkette entspricht einem Teil des Stylings des Feldes:
/AdobeThai-Bold: der Schriftartname und das Gewicht. Diese Schriftart muss auf dem System installiert sein.15 Tf: die Schriftgröße, hier 15 pt.0.898 0.133 0.215 rg: die RGB-Farbe, in diesem Fall ein rötlicher Farbton.
Dies gibt Ihnen vollständige Kontrolle über die Schriftart und Farbe des Formularfeldtextes, bis die SetFont()-Unterstützung in einem späteren IronPDF-Release erscheint.

