フォームフィールドにおけるカスタムフォント

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ポイント。
  • 0.898 0.133 0.215 rg: RGBカラー、ここでは赤みがかった色合い。

警告指定したフォントはPDFをレンダリングするシステムにインストールされている必要があります。 それが欠落している場合、スタイリングは記述どおりに適用されません。

これにより、後の IronPDF リリースで SetFont() のサポートが到着するまで、フォームフィールドテキストのフォントと色を完全に制御できます。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 20,296,129 | バージョン: 2026.7 リリースされたばかり
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronPdf
サンプルを実行するHTML が PDF に変換されるのを確認します。