Spire.PDF for .NET

ニュース&リリース

2026-10-27

Spire.PDF 12.10.7、PDF フォームフィールドとXFAフォームのサポートを追加

Spire.PDF 12.10.7 のリリースをお知らせいたします。本バージョンでは、PDF フォームフィールドの作成、読み取り、変更、フラット化を行うための新しい名前空間を追加しました。また、XFAフォームへの対応を拡張し、XML、FDF、XFDF 形式によるフォームデータのインポートとエクスポートをサポートしました。これらの機能強化により、開発者はインタラクティブな PDF フォームをより柔軟かつ効率的に処理できるようになります。

変更内容一覧
カテゴリー ID 説明
新機能 — Spire.Pdf.Interactive.Forms 名前空間を追加し、AcroForm フィールドの作成、読み取り、変更、フラット化に対応しました。
新機能 — Spire.Pdf.Interactive.Forms.Xfa 名前空間を通じて、XFA フォームにアクセスして処理する機能を追加しました。
新機能 — PdfForm を通じて、XML、FDF、XFDF 形式で PDF フォームデータをインポートおよびエクスポートする機能を追加しました。

1. Spire.Pdf.Interactive.Forms 名前空間を追加

新しい Spire.Pdf.Interactive.Forms 名前空間は、PDF フォームフィールドの作成、読み取り、変更、フラット化を行うための統一された包括的な API を提供します。 一般的な AcroForm フィールドタイプに対応しており、主なプロパティとメソッドは以下のとおりです。

対応する AcroForm フィールドタイプ

フィールドタイプ プロパティ / メソッド 説明
テキストフィールド PdfTextField IsMultiline 複数行の入力を許可するかどうかを指定します。
IsPassword フィールドの内容をマスク表示するかどうかを指定します。
MaxLen 入力可能な最大文字数を指定します。
IsComb 文字ごとのセルを使用するかどうかを指定します。
DoNotSpellCheck スペルチェックを無効にするかどうかを指定します。
Text フィールドのテキスト内容を取得または設定します。
Font フィールドのフォントを取得または設定します。
チェックボックス PdfCheckBoxField IsChecked チェックボックスが選択されているかどうかを取得または設定します。
OnValue チェック時のエクスポート値を取得または設定します。
Style 外観スタイルを取得または設定します。スタイルには Check、Circle、Cross、Diamond、Square、Star があります。
ラジオボタン PdfRadioButtonField Options 各選択肢のエクスポート値のコレクションを取得します。
SelectedIndex 現在選択されている項目のインデックスを取得または設定します。
SelectedValue 現在選択されている項目のエクスポート値を取得または設定します。
NoToggleToOff 選択後に選択解除を禁止するかどうかを指定します。
AddOption() ページに新しいラジオボタンの選択肢を追加します。
コンボボックス PdfComboBoxField Items ドロップダウン項目のコレクションを取得します。
IsMultiSelect 複数選択を許可するかどうかを指定します。
SelectedIndex 現在選択されている項目のインデックスを取得または設定します。
SelectedValue 現在選択されている項目のエクスポート値を取得または設定します。
リストボックス PdfListBoxField Items リスト項目のコレクションを取得します。
IsMultiSelect 複数選択を許可するかどうかを指定します。
TopIndex 最初に表示されるリスト項目のインデックスを取得または設定します。
SelectedIndices 選択されている項目のインデックスのコレクションを取得します。
SelectedValues 選択されている項目のエクスポート値のコレクションを取得します。
プッシュボタン PdfPushButtonField Text / RolloverText / DownText 通常時、マウスオーバー時、押下時に表示するボタンテキストを取得または設定します。
Icon / RolloverIcon / DownIcon 各状態で表示するアイコンを取得または設定します。
Layout アイコンとテキストのレイアウトを取得または設定します。
Action ボタンのクリック時に実行するアクションを取得または設定します。
署名フィールド PdfSignatureField Signature フィールドに関連付けられたデジタル署名オブジェクトを取得します。

上記の各フィールド固有のメンバーに加え、すべてのフィールドは PdfField から以下の共通プロパティを継承します。

  • IsReadOnly:フィールドが読み取り専用かどうかを指定します。
  • IsRequired:フィールドが必須かどうかを指定します。
  • AlternateName:フィールドの代替名を取得または設定します。
  • MappingName:フィールドのマッピング名を取得または設定します。
  • DefaultAppearance:フィールドのデフォルト外観を取得または設定します。

また、すべてのフィールドで Flatten() メソッドを呼び出し、フォームフィールドを静的なページコンテンツに変換できます。


2. XFA フォームへの対応を拡張

本バージョンでは、Spire.Pdf.Interactive.Forms.Xfa サブ名前空間を通じて、XFA フォームにアクセスする機能も追加しました。 XFA フォームのフィールド名やフィールドオブジェクトを取得し、フィールドの値を確認できるほか、さまざまな種類の XFA フィールドを処理できます。

対応する XFA フォームフィールドタイプ

フィールドタイプ プロパティ / メソッド 説明
XFA フォーム XfaForm FieldNames フォームテンプレート内のフィールド名の一覧を取得します。
XfaFields フォームテンプレート内のフィールドオブジェクトの一覧を取得します。
Count フォームフィールドの数を取得します。
GetField(name) 名前を指定してXFAフィールドを取得します。
CheckFieldExists(name) 指定したフィールドが存在するかどうかを確認します。
テキストフィールド XfaTextField Value フィールドのテキスト値を取得または設定します。
数値フィールド XfaNumericField Format 数値の書式文字列を取得または設定します。
Value フィールドの値を10進数として取得または設定します。
チェックボックス XfaCheckBoxField IsChecked チェックボックスが選択されているかどうかを取得または設定します。
ラジオボタン XfaRadioButtonField Options 各選択肢のエクスポート値の一覧を取得します。
SelectedIndex 現在選択されている項目のインデックスを取得または設定します。
SelectedValue 現在選択されている項目のエクスポート値を取得または設定します。
NoToggleOff 選択後に選択解除を禁止するかどうかを指定します。
選択リスト XfaChoiceField Items 表示値を含む選択可能な項目の一覧を取得します。
IsMultiSelect 複数選択に対応するかどうかを指定します。
SelectedItem 現在選択されている単一の項目を取得または設定します。
SelectedItems 現在選択されている項目の一覧を取得します。
日付/時刻フィールド XfaDateTimeField Value フィールドの日付/時刻の値を取得または設定します。
画像フィールド XfaImageField Image フィールドに関連付けられた画像を取得または設定します。型はStreamまたはImageです。
バーコードフィールド XfaBarcodeField Value バーコードの値を取得または設定します。
Length バーコードの長さを取得または設定します。
StartChar バーコードの開始文字を取得または設定します。
EndChar バーコードの終了文字を取得または設定します。

すべての XFA フィールドは、XfaField から以下の共通プロパティを継承します。

  • Name:フィールド名。
  • XfaForm:フィールドが属するXFAフォーム。
  • FieldType:フィールドタイプの識別子。

なお、XfaSignatureField(署名フィールド)と XfaPushButtonField(プッシュボタン)は、追加のパブリックプロパティを定義しておらず、主に継承した共通メンバーを通じてアクセスします。


3. フォームデータのインポートとエクスポートに対応

PdfForm を使用して、XML、FDF、XFDF 形式のフォームデータをインポートおよびエクスポートできるようになりました。 この機能により、PDF フォーム、業務システム、サードパーティ製 PDF ツール間でフォームデータを簡単に交換できます。
以下のコードは、フォームデータを XFDF ファイルにエクスポートし、そのファイルからデータを再度インポートする方法を示しています。

コード例

using System.Drawing;
  using System.Collections.Generic;
  using Spire.Pdf;
  using Spire.Pdf.Graphics;
  using Spire.Pdf.Interactive.Forms;

  PdfDocument doc = new PdfDocument();
  PdfPageBase page = doc.Pages.Add();

  // PdfForm.Create() を使用してフォームコンテナーを取得
  PdfForm form = PdfForm.Create(doc);

  // テキストフィールドを作成してページに追加
  PdfTextField nameField = new PdfTextField(form, "Address.Street");
  nameField.DefaultAppearance = new PdfDefaultAppearance(
      new PdfFont(PdfFontFamily.Helvetica, 12), new PdfRGBColor(0, 0, 0));
  nameField.AddWidget(page, new RectangleF(100, 100, 250, 30));
  nameField.Value = "123 Main St";

  // 名前とプレフィックスでフィールドを取得
  PdfField field = form.GetField("Address.Street");
  List<PdfField> addressFields = form.Fields.FindByPrefix("Address");

  // フォームをフラット化してドキュメントを保存
  form.Flatten();
  doc.SaveToFile("output.pdf");

  Form data can also be exchanged directly in formats such as XFDF:
  // フォームデータをXFDF形式でエクスポートし、ファイルから再度インポート
  form.ExportData("form.xfdf", DataFormat.XFDF, "PurchaseOrder");
  form.ImportData("form.xfdf", DataFormat.XFDF);

以下のリンクから Spire.PDF 12.10.7 をダウンロードできます。