DioDocs for PDF
フォームフィラー
PDFビューワ > フォームフィラー
Dateの入力タイプとそのプロパティをPDFフォームに追加するには、DioDocs for PDFで以下のコードも使用することができます。

PDFビューワのフォームフィラーは、次のような機能を備えており、PDFフォームへの記入をより簡単にします:

PDFフォームへの入力には、以下のいずれかの方法を使用できます:

PDFフォームフィールドの値は、[フォームフィラー]ダイアログに入力すると、基になるPDFフォームに反映されます。 SupportApiを使用して、入力したフォームをクライアントに保存することもできます。

メモ:入力済みフォームをクライアントに保存する場合のみ、SupportApiが必要です。それ以外の場合は、カスタムフォーム入力タイプ(このトピックで以下で説明)のあるPDFフォームをロードするか、[フォームフィラー]ダイアログを有効にするか、[フォームフィラー]ダイアログ内でPDFフォームに入力するか、SupportApiを使用せずにクライアント側で入力したフォームを印刷します。

[フォームフィラー]ダイアログでの入力

[フォームフィラー]ボタンは、PDFビューワのツールバーで常に表示されますが、PDFフォームがビューワに存在する場合にのみ有効になります。

[フォームフィラー]ボタンをクリックすると、以下のような[フォームフィラー]ダイアログが表示されます。

[フォームフィラー]ダイアログを、次のコードでも表示することができます。

Index.cshtml
コードのコピー
if(viewer.hasForm) {
   viewer.showFormFiller();
}

入力フォームタイプのカスタマイズ

カスタムフォーム入力タイプの外観をカスタマイズして[フォームフィラー]ダイアログで表示される最小桁数、必須フィールド、パターン、プレースホルダー文字列などの入力検証を追加します。次の例では、PDFの表示の説明のとおりにPDFビューワを構成して入力フォームタイプをカスタマイズする方法を示します。

formFillerオプションを設定するには、PDFビューワの初期化コードを更新する必要があります。

Index.cshtml
コードのコピー
function loadPdfViewer(selector) {
    var options = {};
    options = setupFormFiller(options);
    var viewer = new DsPdfViewer(selector, options);
    viewer.addDefaultPanels();
    viewer.toolbarLayout.viewer = {
        default: ['open', 'form-filler', '$navigation', '$split', 'text-selection', 'pan', '$zoom', '$fullscreen', 'print', 'title', 'about'],
        mobile: ['open', 'form-filler', '$navigation', 'title', 'about'],
        fullscreen: ['$fullscreen', 'open', 'form-filler', '$navigation', '$split', 'text-selection', 'pan', '$zoom', 'print', 'title', 'about']
    };
    viewer.open("Commercial-Rental-Application-Form.pdf");
}
function setupFormFiller(baseOptions) {
    var options = baseOptions || {};
    // フォームフィラーオプション
    options.formFiller = {
    };
    return options;
}

この例で使用されているサンプルPDFフォームは、賃貸目的でテナントの詳細を求めるテナント申請フォームです。こちらからフォームをダウンロードすることもできます。

UI外観および入力タイプ動作のカスタマイズ

フォーム入力タイプに検証プロパティの追加 

イベントハンドラー

フォームフィラー機能では、以下のイベントハンドラーが提供されます。

カスタムフォーム入力タイプ

PDFビューワでは、標準のPDF仕様に定義されているフォームフィールドに加え、カスタムフォーム入力タイプもサポートしています。カスタムフォーム入力タイプはテキストボックスフィールドを継承し作成されたもので、以下のとおりのタイプがあります。

カスタムフォーム入力タイプのPDFフォームは、DioDocs for ExcelテンプレートまたはDioDocs for PDFのGcPropsプロパティを使用して作成することができます。作成されたフォームは、検証やその他プロパティが追加されたPDFビューワまたは[フォームフィラー]ダイアログにて入力することができます。

Dateのカスタムフォーム入力タイプ

Dateの入力タイプで日付を容易に選択できるように日付ピッカーのインタフェースが提供されます。ただし、ブラウザサポートの制限があるのでdate系の入力にに問題がある可能性があります。詳細については、ここのリンクを参照してください。

Dateの入力タイプに適用できるプロパティを以下のテーブルで説明します。

プロパティ 説明
type 「date」 テキストボックスの種類を指定します。
autofocus 「true」または「false」 [フォームフィラー]ダイアログが有効になる場合やページがロードされる場合に、入力タイプに自動的にフォーカスをあてるかどうかを指定します。
autocomplete 「bday」
「bday-day」
「bday-month」
「bday-year」
生年月日を尋ねるときに、日付入力コンポーネントのオートコンプリート属性を使用します。詳細については、リンクを参照してください。
defaultvalue 「2018-01-01」 デフォルト値。
disabled 「true」または「false」 入力タイプが無効になっているかどうかを指定します。
readonly 「true」または「false」 入力タイプが読み取り専用になっているかどうかを指定します。
required 「true」または「false」 記入が必要であるかどうかを指定します。
title 「ツールチップ」
「行1/n行2」
titleプロパティを使用して、ほとんどのブラウザがツールチップとして表示するテキストを指定します。
validateoninput 「true」または「false」 Trueは、ユーザー入力中に検証をすぐに実行する必要があるかどうかを示します。そうでない場合、入力検証はblurイベントで実行されます。
validateonmessage 「日付を空にすることはできません。」 コントロールが満たさない検証制約が存在する場合、それを説明するローカライズされたメッセージを表します。

Dateの入力タイプとそのプロパティをPDFフォームに追加するには、DioDocs for PDFで以下のコードも使用することができます。

C#
コードのコピー
// 新しいPDFドキュメントを作成します
var doc = new GcPdfDocument();
var page = doc.NewPage();
var g = page.Graphics; TextFormat tf = new TextFormat();
tf.Font = StandardFonts.Times;
tf.FontSize = 14;
var field = new TextField();
field.Widget.Page = page;
field.Widget.Rect = new RectangleF(40, 40, 72 * 3, 24);
field.Widget.DefaultAppearance.Font = tf.Font;
field.Widget.DefaultAppearance.FontSize = tf.FontSize;
field.Name = "dateField1";
field.GcProps[new PdfName("type")] = new PdfString("date");
field.GcProps[new PdfName("required")] = new PdfBoolObject((PdfBool)true);
field.GcProps[new PdfName("validationmessage")] = new PdfString("日付を空にすることはできません");
doc.AcroForm.Fields.Add(field);

Timeのカスタムフォーム入力タイプ

Timeの入力タイプで時刻を容易に選択できるように時刻ピッカーのインタフェースが提供されます。ブラウザサポートと追加属性の詳細について、ここのリンクを参照してください。

Timeの入力タイプに適用できるプロパティを以下のテーブルで説明します。

プロパティ 説明
type time テキストボックスの種類を指定します。
autofocus true [フォームフィラー]ダイアログが有効になる場合やページがロードされる場合に、入力タイプに自動的にフォーカスをあてるかどうかを指定します。
defaultvalue 18:00 デフォルト値。
disabled 「true」または「false」 入力タイプが無効になっているかどうかを指定します。
readonly 「true」または「false」 入力タイプが読み取り専用になっているかどうかを指定します。
required 「true」または「false」 記入が必要であるかどうかを指定します。
title 「ツールチップ」 「行1/n行2」 titleプロパティを使用して、ほとんどのブラウザがツールチップとして表示するテキストを指定します。
validateoninput 「true」または「false」 Trueは、ユーザー入力中に検証をすぐに実行する必要があるかどうかを示します。そうでない場合、入力検証はblurイベントで実行されます。
validateonmessage 「時刻を空にすることはできません。」 コントロールが満たさない検証制約が存在する場合、それを説明するローカライズされたメッセージを表します。

Timeの入力タイプとそのプロパティをPDFフォームに追加するには、DioDocs for PDFで以下のコードも使用することができます。

C#
コードのコピー
// 新しいPDFドキュメントを作成します
var doc = new GcPdfDocument();
var page = doc.NewPage();
var g = page.Graphics; TextFormat tf = new TextFormat();
tf.Font = StandardFonts.Times;
tf.FontSize = 14;
var field = new TextField();
field.Widget.Page = page;
field.Widget.Rect = new RectangleF(40, 40, 72 * 3, 24);
field.Widget.DefaultAppearance.Font = tf.Font;
field.Widget.DefaultAppearance.FontSize = tf.FontSize;
field.Name = "timeField1";
field.GcProps[new PdfName("type")] = new PdfString("time");
field.GcProps[new PdfName("required")] = new PdfBoolObject((PdfBool)true);
field.GcProps[new PdfName("validateoninput")] = new PdfBoolObject((PdfBool)true);
field.GcProps[new PdfName("validationmessage")] = new PdfString("時刻を入力してください。");
doc.AcroForm.Fields.Add(field);

Telephoneのカスタムフォーム入力タイプ

Telephoneの入力タイプが電話番号の入力や編集に使用されます。ブラウザサポートと追加属性の詳細について、ここのリンクを参照してください。

本入力タイプに適用できるプロパティを以下のテーブルで説明します。

プロパティ 説明
type 「tel」 テキストボックスの種類を指定します。
autofocus 「true」 [フォームフィラー]ダイアログが有効になる場合やページがロードされる場合に、入力タイプに自動的にフォーカスをあてるかどうかを指定します。
autocomplete 「on」
「off」
「tel」
「tel-country-code」
「tel-national」
「tel-area-code」
「tel-local」
「tel-local-prefix」
「tel-local-suffix」
「tel-extension」
オートコンプリートの一般的な実装では、同じ入力フィールドに入力された以前の値を想起するだけです。
defaultvalue 「123-456-7890」 デフォルト値。
pattern "^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$"
"^[0-9]{3}$"
制約検証に合格するには、入力値が一致する必要がある正規表現。
placeholder 「電話番号を入力してください」 値が設定されていない状態で入力タイプに表示されるテキスト。
disabled 「true」または「false」 入力タイプが無効になっているかどうかを指定します。
readonly 「true」または「false」 入力タイプが読み取り専用になっているかどうかを指定します。
required 「true」または「false」 記入が必要であるかどうかを指定します。
title 「ツールチップ」
「行1/n行2」
titleプロパティを使用して、ほとんどのブラウザがツールチップとして表示するテキストを指定します。
minlength 1 許可される最小桁数。
maxlength 10 許可される最大桁数。
validateoninput 「true」または「false」 Trueは、ユーザー入力中に検証をすぐに実行する必要があるかどうかを示します。そうでない場合、入力検証はblurイベントで実行されます。
validateonmessage 「電話番号を空にすることはできません。」 コントロールが満たさない検証制約が存在する場合、それを説明するローカライズされたメッセージを表します。

Telの入力タイプとそのプロパティをPDFフォームに追加するには、DioDocs for PDFで以下のコードも使用することができます。

C#
コードのコピー
// 新しいPDFドキュメントを作成します
var doc = new GcPdfDocument();
var page = doc.NewPage();
var g = page.Graphics; TextFormat tf = new TextFormat();
tf.Font = StandardFonts.Times;
tf.FontSize = 14;
var field = new TextField();
field.Widget.Page = page;
field.Widget.Rect = new RectangleF(40, 40, 72 * 3, 24);
field.Widget.DefaultAppearance.Font = tf.Font;
field.Widget.DefaultAppearance.FontSize = tf.FontSize;
field.Name = "telField1";
field.GcProps[new PdfName("type")] = new PdfString("tel");
field.GcProps[new PdfName("title")] = new PdfString("市外局番を入力");
field.GcProps[new PdfName("placeholder")] = new PdfString("###");
field.GcProps[new PdfName("pattern")] = new PdfString(@"^[0-9]{3}$");
field.GcProps[new PdfName("validateoninput")] = new PdfBoolObject((PdfBool)true);
field.GcProps[new PdfName("validationmessage")] = new PdfString(@"有効な形式: 3桁の数字");
doc.AcroForm.Fields.Add(field);

Numberのカスタムフォーム入力タイプ

Numberの入力タイプは数値を入力するために使用されます。ブラウザサポートと追加属性の詳細について、ここのリンクを参照してください。

本入力タイプに適用できるプロパティを以下のテーブルで説明します。

プロパティ 説明
type 「number」 テキストボックスの種類を指定します。
autofocus 「true」 [フォームフィラー]ダイアログが有効になる場合やページがロードされる場合に、入力タイプに自動的にフォーカスをあてるかどうかを指定します。
defaultvalue 「123」 デフォルト値。
placeholder 「数値を入力」 値が設定されていない状態で入力タイプに表示されるテキスト。
disabled 「true」または「false」 入力タイプが無効になっているかどうかを指定します。
readonly 「true」または「false」 入力タイプが読み取り専用になっているかどうかを指定します。
required 「true」または「false」 記入が必要であるかどうかを指定します。
title 「ツールチップ」
「行1/n行2」
titleプロパティを使用して、ほとんどのブラウザがツールチップとして表示するテキストを指定します。
min 1 許可される最小値。
max 10 許可される最大値。
validateoninput 「true」または「false」 Trueは、ユーザー入力中に検証をすぐに実行する必要があるかどうかを示します。そうでない場合、入力検証はblurイベントで実行されます。
validateonmessage 「不正な数値です。」 コントロールが満たさない検証制約が存在する場合、それを説明するローカライズされたメッセージを表します。

Numberの入力タイプとそのプロパティをPDFフォームに追加するには、DioDocs for PDFで以下のコードも使用することができます。

C#
コードのコピー
// 新しいPDFドキュメントを作成します
var doc = new GcPdfDocument();
var page = doc.NewPage();
var g = page.Graphics; TextFormat tf = new TextFormat();
tf.Font = StandardFonts.Times;
tf.FontSize = 14; var field = new TextField();
field.Widget.Page = page;
field.Widget.Rect = new RectangleF(40, 40, 72 * 3, 24);
field.Widget.DefaultAppearance.Font = tf.Font;
field.Widget.DefaultAppearance.FontSize = tf.FontSize;
field.Name = "numberField1";
field.GcProps[new PdfName("type")] = new PdfString("number");
field.GcProps[new PdfName("title")] = new PdfString("1〜100の数字を入力してください");
field.GcProps[new PdfName("placeholder")] = new PdfString("[1-100]");
field.GcProps[new PdfName("required")] = new PdfBoolObject((PdfBool)true);
field.GcProps[new PdfName("min")] = new PdfNumber(1);
field.GcProps[new PdfName("max")] = new PdfNumber(100);
field.GcProps[new PdfName("validateoninput")] = new PdfBoolObject((PdfBool)true);
field.GcProps[new PdfName("validationmessage")] = new PdfString("不正な数値です。");
doc.AcroForm.Fields.Add(field);

Emailのカスタムフォーム入力タイプ

Emailの入力タイプは電子メールアドレスを記入するために使用されます。ブラウザサポートと追加属性の詳細について、ここのリンクを参照してください。

本入力タイプに適用できるプロパティを以下のテーブルで説明します。

プロパティ 説明
type

「email」

テキストボックスの種類を指定します。
autofocus 「true」 [フォームフィラー]ダイアログが有効になる場合やページがロードされる場合に、入力タイプに自動的にフォーカスをあてるかどうかを指定します。
autocomplete 「email」 オートコンプリートの一般的な実装では、同じ入力フィールドに入力された以前の値を想起するだけですが、より複雑な形式のオートコンプリートが存在する可能性があります。 たとえば、ブラウザをデバイスの連絡先リストと統合して、電子メール入力タイプの電子メールアドレスをオートコンプリートすることができます。
defaultvalue 「email@example.com デフォルト値。
pattern 「.+@globex.com
「\S+@\S+\.\S+」
制約検証に合格するには、入力値が一致する必要がある正規表現。
placeholder 「電子メールを入力」 値が設定されていない状態で入力タイプに表示されるテキスト。
minlength 1 許可される最小桁数。
maxlength 10 許可される最大桁数。
disabled 「true」または「false」 入力タイプが無効になっているかどうかを指定します。
readonly 「true」または「false」 入力タイプが読み取り専用になっているかどうかを指定します。
required 「true」または「false」 記入が必要であるかどうかを指定します。
title 「ツールチップ」
「行1/n行2」
titleプロパティを使用して、ほとんどのブラウザがツールチップとして表示するテキストを指定します。
validateoninput 「true」または「false」 Trueは、ユーザー入力中に検証をすぐに実行する必要があるかどうかを示します。そうでない場合、入力検証はblurイベントで実行されます。
validateonmessage 「電子メールを空にすることができません。」 コントロールが満たさない検証制約が存在する場合、それを説明するローカライズされたメッセージを表します。

Emailの入力タイプとそのプロパティをPDFフォームに追加するには、DioDocs for PDFで以下のコードも使用することができます。

C#
コードのコピー
// 新しいPDFドキュメントを作成します
var doc = new GcPdfDocument();
var page = doc.NewPage();
var g = page.Graphics; TextFormat tf = new TextFormat();
tf.Font = StandardFonts.Times;
tf.FontSize = 14;
var field = new TextField();
field.Widget.Page = page;
field.Widget.Rect = new RectangleF(40, 40, 72 * 3, 24);
field.Widget.DefaultAppearance.Font = tf.Font;
field.Widget.DefaultAppearance.FontSize = tf.FontSize;
field.Name = "emailField1";
field.GcProps[new PdfName("type")] = new PdfString("email");
field.GcProps[new PdfName("title")] = new PdfString("電子メールアドレスを入力してください。");
field.GcProps[new PdfName("placeholder")] = new PdfString("電子メールを入力");
field.GcProps[new PdfName("pattern")] = new PdfString(@".+@globex.com");
field.GcProps[new PdfName("validateoninput")] = new PdfBoolObject((PdfBool)true);
field.GcProps[new PdfName("validationmessage")] = new PdfString(@"ドメインはglobex.comである必要があります");
doc.AcroForm.Fields.Add(field);

Passwordのカスタムフォーム入力タイプ

Passwordの入力タイプは、パスワードを安全に入力するように使用されます。ブラウザサポートと追加属性の詳細について、ここのリンクを参照してください。

本入力タイプに適用できるプロパティを以下のテーブルで説明します。

プロパティ 説明
type 「password」 テキストボックスの種類を指定します。
autofocus 「true」または「false」 [フォームフィラー]ダイアログが有効になる場合やページがロードされる場合に、入力タイプに自動的にフォーカスをあてるかどうかを指定します。
autocomplete

「on」

「off」

「current-password」

「new-password」

「one-time-code」

ユーザーのパスワードマネージャーによって自動的にパスワードを入力できるようにします。
defaultvalue 「anypassword!1」 デフォルト値。
inputmode 「numeric」 推奨される(または必須の)パスワード構文規則が標準キーボードではなく代替テキスト入力インタフェースに適している場合は、inputmode属性を使用して特定のキーボードを要求できます。 最も明白な使用例は、パスワードを数字(PINなど)にする必要がある場合です。 たとえば、仮想キーボードを備えたモバイルデバイスでは、フルキーボードの代わりにテンキーレイアウトに切り替えて、パスワードの入力を簡単にすることができます。
pattern

"[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2, 3}$”

"^[0-9]{3,3}$"
"[0-9a-fA-F]{4,8}"

制約検証に合格するには、入力値が一致する必要がある正規表現。
placeholder 「パスワードを入力してください」 値が設定されていない状態で入力タイプに表示されるテキスト。
minlength 1 許可される最小桁数。
maxlength 10 許可される最大桁数。
disabled 「true」または「false」 入力タイプが無効になっているかどうかを指定します。
readonly 「true」または「false」 入力タイプが読み取り専用になっているかどうかを指定します。
required 「true」または「false」 記入が必要であるかどうかを指定します。
title

「ツールチップ」

「行1/n行2」

titleプロパティを使用して、ほとんどのブラウザがツールチップとして表示するテキストを指定します。
validateoninput 「true」または「false」 Trueは、ユーザー入力中に検証をすぐに実行する必要があるかどうかを示します。そうでない場合、入力検証はblurイベントで実行されます。
validateonmessage 「パスワードを空にすることができません。」
「パスワードは3桁である必要があります。」

コントロールが満たさない検証制約が存在する場合、それを説明するローカライズされたメッセージを表します。

Passwordの入力タイプとそのプロパティをPDFフォームに追加するには、DioDocs for PDFで以下のコードも使用することができます。

C#
コードのコピー
// 新しいPDFドキュメントを作成します
var doc = new GcPdfDocument();
var page = doc.NewPage();
var g = page.Graphics; TextFormat tf = new TextFormat();
tf.Font = StandardFonts.Times;
tf.FontSize = 14;
var field = new TextField();
field.Widget.Page = page;
field.Widget.Rect = new RectangleF(40, 40, 72 * 3, 24);
field.Widget.DefaultAppearance.Font = tf.Font;
field.Widget.DefaultAppearance.FontSize = tf.FontSize;
field.Name = "pinField1";
field.GcProps[new PdfName("type")] = new PdfString("password");
field.GcProps[new PdfName("title")] = new PdfString("パスワードを入力");
field.GcProps[new PdfName("placeholder")] = new PdfString("PIN");
field.GcProps[new PdfName("pattern")] = new PdfString(@"^[0-9]{3,3}$");
field.GcProps[new PdfName("maxlength")] = new PdfNumber(3);
field.GcProps[new PdfName("validateoninput")] = new PdfBoolObject((PdfBool)true);
field.GcProps[new PdfName("autocomplete")] = new PdfString("one-time-code");
field.GcProps[new PdfName("validationmessage")] = new PdfString(@"パスワードは3桁である必要があります。");
doc.AcroForm.Fields.Add(field);

Textのカスタムフォーム入力タイプ

Textの入力タイプは、デフォルトの入力タイプであり、基本の1行テキストを入力するように使用されます。ブラウザサポートと追加属性の詳細について、ここのリンクを参照してください。

本入力タイプに適用できるプロパティを以下のテーブルで説明します。

プロパティ 説明
type 「text」 テキストボックスの種類を指定します。
autofocus 「true」または「false」 [フォームフィラー]ダイアログが有効になる場合やページがロードされる場合に、入力タイプに自動的にフォーカスをあてるかどうかを指定します。
autocomplete

「off」

「name」

「honorific-prefix」

「given-name」

「additional-name」

「family-name」

「honorific-suffix」

「nickname」

「username」

「organization-title」

「organization」

「street-address」

「address-line1」

「address-line2」

「address-line3」

「address-level4」

「address-level3」

「address-level2」

「address-level1」

「country」

「country-name」

「cc-name」

「cc-given-name」

「cc-additional-name」

「cc-family-name」

「cc-number」

「cc-exp」

「cc-exp-month」

「cc-exp-year」

「cc-csc」

「cc-type」

ユーザーは、フォームフィールド値の自動入力を支援する必要があるかどうか、またはフィールドで予想される情報の種類についてブラウザにガイダンスを提供する必要があるかどうかを指定できます。

 

 

defaultvalue "任意テキスト" デフォルト値。
inputmode "numeric" 推奨される(または必須の)パスワード構文規則が標準キーボードではなく代替テキスト入力インタフェースに適している場合は、inputmode属性を使用して特定のキーボードを要求できます。 最も明白な使用例は、パスワードを数字(PINなど)にする必要がある場合です。 たとえば、仮想キーボードを備えたモバイルデバイスでは、フルキーボードの代わりにテンキーレイアウトに切り替えて、パスワードの入力を簡単にすることができます。
pattern "^[0-9]{3,3}$"
"[0-9a-fA-F]{4,8}"
制約検証に合格するには、入力値が一致する必要がある正規表現。
placeholder "テキストを入力" 値が設定されていない状態で入力タイプに表示されるテキスト。
multiline 「true」または「false」 このプロパティをtrueに設定してテキスト領域をユーザー入力要素として使用できます。
minlength 1 許可される最小桁数。
maxlength 10 許可される最大桁数。
disabled 「true」または「false」 入力タイプが無効になっているかどうかを指定します。
readonly 「true」または「false」 入力タイプが読み取り専用になっているかどうかを指定します。
required 「true」または「false」 記入が必要であるかどうかを指定します。
spellcheck 「true」または「false」 要素のスペルミスをチェックできるかどうかを定義する列挙属性です。
title

「ツールチップ」

「行1/n行2」

titleプロパティを使用して、ほとんどのブラウザがツールチップとして表示するテキストを指定します。
validateoninput 「true」または「false」 Trueは、ユーザー入力中に検証をすぐに実行する必要があるかどうかを示します。そうでない場合、入力検証はblurイベントで実行されます。
validateonmessage

「パスワードを空にすることができません。」
「パスワードは3桁である必要があります。」

コントロールが満たさない検証制約が存在する場合、それを説明するローカライズされたメッセージを表します。

Textの入力タイプとそのプロパティをPDFフォームに追加するには、DioDocs for PDFで以下のコードも使用することができます。

C#
コードのコピー
// 新しいPDFドキュメントを作成します
var doc = new GcPdfDocument();
var page = doc.NewPage();
var g = page.Graphics; TextFormat tf = new TextFormat();
tf.Font = StandardFonts.Times;
tf.FontSize = 14;
var field = new TextField();
field.Widget.Page = page;
field.Widget.Rect = new RectangleF(40, 40, 72 * 3, 24);
field.Widget.DefaultAppearance.Font = tf.Font;
field.Widget.DefaultAppearance.FontSize = tf.FontSize;
field.Name = "textField1";
field.GcProps[new PdfName("type")] = new PdfString("text");
field.GcProps[new PdfName("title")] = new PdfString("テキストを入力");
field.GcProps[new PdfName("placeholder")] = new PdfString("テキストをここに入力");
field.GcProps[new PdfName("maxlength")] = new PdfNumber(10);
field.GcProps[new PdfName("validateoninput")] = new PdfBoolObject((PdfBool)true);
field.GcProps[new PdfName("validationmessage")] = new PdfString("不正な値です。最大10桁を入力できます。");
doc.AcroForm.Fields.Add(field);

他の入力タイプの例

Monthの入力タイプとそのプロパティをPDFフォームに追加するには、DioDocs for PDFで以下のコードも使用することができます。

C#
コードのコピー
// 新しいPDFドキュメントを作成します
var doc = new GcPdfDocument();
var page = doc.NewPage();
var g = page.Graphics; TextFormat tf = new TextFormat();
tf.Font = StandardFonts.Times;
tf.FontSize = 14;
var field = new TextField();
field.Widget.Page = page;
field.Widget.Rect = new RectangleF(40, 40, 72 * 3, 24);
field.Widget.DefaultAppearance.Font = tf.Font;
field.Widget.DefaultAppearance.FontSize = tf.FontSize;
field.Name = "monthField1";
field.GcProps[new PdfName("type")] = new PdfString("month");
field.GcProps[new PdfName("title")] = new PdfString("月を入力してください。");
field.GcProps[new PdfName("placeholder")] = new PdfString("月");
field.GcProps[new PdfName("required")] = new PdfBoolObject((PdfBool)true);
field.GcProps[new PdfName("validationmessage")] = new PdfString("月の値を空にすることができません。");
doc.AcroForm.Fields.Add(field);

Rangeの入力タイプとそのプロパティをPDFフォームに追加するには、DioDocs for PDFで以下のコードも使用することができます。

C#
コードのコピー
// 新しいPDFドキュメントを作成します
var doc = new GcPdfDocument();
var page = doc.NewPage();
var g = page.Graphics; TextFormat tf = new TextFormat();
tf.Font = StandardFonts.Times;
tf.FontSize = 14;
var field = new TextField();
field.Widget.Page = page;
field.Widget.Rect = new RectangleF(40, 40, 72 * 3, 24);
field.Widget.DefaultAppearance.Font = tf.Font;
field.Widget.DefaultAppearance.FontSize = tf.FontSize;
field.Name = "rangeField1";
field.GcProps[new PdfName("type")] = new PdfString("range");
field.GcProps[new PdfName("title")] = new PdfString("1〜1000の数字を選択してください。");
field.GcProps[new PdfName("min")] = new PdfNumber(1);
field.GcProps[new PdfName("max")] = new PdfNumber(1000);
doc.AcroForm.Fields.Add(field);

フォームの入力タイプが対応プロパティ

次のテーブルでは、各入力タイプが対応するプロパティに関する情報を統合して記載します。

属性 入力タイプ 説明
autocomplete 全入力タイプ 入力タイプ
autofocus 全入力タイプ ページのロード時に自動的にフォームコントロールをフォーカスします。
defaultvalue 全入力タイプ デフォルト値。
disabled 全入力タイプ フォームコントロールが無効になっているかどうかを指定します。
displayname 全入力タイプ 入力コントロールのテキストラベル。入力タイプが[フォームフィラー]ダイアログで表示される場合のみ適用されます。
min number、date 許可される最小値。
max number、date 許可される最大値。
maxlength password、search、tel、text、url 許可される最小桁数。
minlength password、search、tel、text、url 許可される最大桁数。
multiline text テキスト領域をユーザー入力要素として使用する場合は、このプロパティをtrueに設定します。
multiple email ブール型。複数の値を有効にするかどうかを指定します。
pattern password、text、tel 値はパターンと一致する必要があります。
placeholder password、search、tel、text、url 値が設定されていない状態でフォームコントロールに表示されるテキスト。
readonly 全入力タイプ ブール型。値が編集不可です。
required 全入力タイプ ブール型。フォームを提出するには、値が必要です。
spellcheck search、text 要素ではスペルチェックを行うかどうかを指定します。
type 全入力タイプ フォームコントロールの種類。
validateonmessage 全入力タイプ ローカライズされた検証メッセージ。
validateoninput 全入力タイプ ユーザー入力中に検証をすぐに実行する必要があるかどうかを示します。

DioDocs for PDFにてカスタム入力フォームタイプを利用してPDFフォームを作成する方法については、カスタムフォーム入力タイプの記入を参照してください。