PDFビューワのフォームフィラーは、次のような機能を備えており、PDFフォームへの記入をより簡単にします:
PDFフォームへの入力には、以下のいずれかの方法を使用できます:
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フォームは、賃貸目的でテナントの詳細を求めるテナント申請フォームです。こちらからフォームをダウンロードすることもできます。
Index.cshtml |
コードのコピー
|
---|---|
options.formFiller = { mappings: { 'AppDate': { displayname: '日付' title: '申し込み日付', type: 'date' autofocus: true, defaultvalue: new Date().toJSON().slice(0, 10) } } }; |
Index.cshtml |
コードのコピー
|
---|---|
'Entity': { title: '申し込みする個人、パートナーシップ、または企業の名前', displayname: '申し込み者・リーズ企業体', placeholder: '申し込みする個人、パートナーシップ、または企業の名前', } |
Index.cshtml |
コードのコピー
|
---|---|
'CustomContent_Info1': { type: 'custom-content', content: `<table> <tr><td style='vertical-align:top;'> <i><u>企業:</u></i> </td><td style='vertical-align:top;'> <i>定款に加えて、2年間の年次報告書および法人税申告書を提出する必要があります。</i> </td></tr> <tr><td style='vertical-align:top;'> <i><u>パートナーシップ:</u></i> </td><td style='vertical-align:top;'> <i>パートナーシップ契約に加えて、各パートナーの現在の財務諸表と2年間の納税申告書を提出する必要があります。</i> </td></tr> <tr><td style='vertical-align:top;'> <i><u>個人:</u></i> </td><td style='vertical-align:top;'> <i>個人の貸借対照表と2年間の納税申告書を提出する必要があります。運転免許証番号も含める必要があります。</i> </td></tr> </table>` }, |
Index.cshtml |
コードのコピー
|
---|---|
'Addr1': { title: '本社・自宅(パートナーシップや個人の場合)の現在住所(私書箱番号を指定しない)', displayname: '現在住所', placeholder: 本社・自宅(パートナーシップや個人の場合)の現在住所(私書箱番号を指定しない)', multiline: true, required: true, validationmessage: '住所が必須です。', validateoninput: true }, 'Addr2': { hidden: true, } |
Index.cshtml |
コードのコピー
|
---|---|
'CustomContent4': { type: 'custom-content', content: '<h4>敷地内に保管されるすべての有害物質とその概算量を記載してください。</h4> }, HazSub1: { title: '敷地内に保管されるすべての有害物質とその概算量を記載してください ', placeholder: '敷地内に保管されるすべての有害物質とその概算量を記載(行1)', nolabel: true }, HazSub2: { title: '敷地内に保管されるすべての有害物質とその概算量を記載してください ', placeholder: '敷地内に保管されるすべての有害物質とその概算量を記載(行2)', nolabel: true }, HazSub3: { title: '敷地内に保管されるすべての有害物質とその概算量を記載してください ', placeholder: '敷地内に保管されるすべての有害物質とその概算量を記載(行3)', nolabel: true } |
Index.cshtml |
コードのコピー
|
---|---|
'Entity': { title: '申し込みする個人、パートナーシップ、または企業の名前', displayname: '申し込み者・リーズ企業体', placeholder: '申し込みする個人、パートナーシップ、または企業の名前', required: true } |
Index.cshtml |
コードのコピー
|
---|---|
'CorpPhone': { title: '会社の電話番号', displayname: '会社の電話番号', placeholder: '会社の電話番号', type: 'tel', pattern: '^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$', validationmessage: '有効な形式:1234567890, (123)456-7890,\n 123-456-7890, 123.456.7890, +31636363634, 075-63546725', validateoninput: true }, |
Index.cshtml |
コードのコピー
|
---|---|
'CorpPhone': { title: '会社の電話番号', displayname: '会社の電話番号', placeholder: '会社の電話番号', type: 'tel', pattern: '^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$', validationmessage: '有効な形式:1234567890, (123)456-7890,\n 123-456-7890, 123.456.7890, +31636363634, 075-63546725', validateoninput: true }, |
Index.cshtml |
コードのコピー
|
---|---|
'BankAcct': { title: '銀行の口座番号', displayname: '口座番号', placeholder: '口座番号', minlength: 8, maxlength: 12, validationmessage: '8?12桁の値が必要です。', validateoninput: true } |
Index.cshtml |
コードのコピー
|
---|---|
'CorpState': { title: '会社が登録されている市', displayname: '法人化の市', placeholder: '法人化の市', validateoninput: true, validator: function (fieldValue, field) { if (!fieldValue || !fieldValue.trim()) return 'このフィールドを空にすることはできません'; if (fieldValue.toLowerCase().indexOf('千葉県') === -1) return '千葉県のみを受け入れます。'; return true; }, |
Index.cshtml |
コードのコピー
|
---|---|
var viewer = new DsPdfViewer(selector, { renderInteractiveForms: true, formFiller: { validator: function(fieldValue, field) { return (fieldValue? true : 'このフィールドを空にすることはできません'); }, mappings: { 'fld1': { title: '申し込み日付', displayname: '日付', }, 'fld2': { title: '申し込みする個人、パートナーシップ、または企業の名前', displayname: '申し込み者・リーズ企業体' } } } }); |
フォームフィラー機能では、以下のイベントハンドラーが提供されます。
PDFビューワでは、標準のPDF仕様に定義されているフォームフィールドに加え、カスタムフォーム入力タイプもサポートしています。カスタムフォーム入力タイプはテキストボックスフィールドを継承し作成されたもので、以下のとおりのタイプがあります。
カスタムフォーム入力タイプのPDFフォームは、DioDocs for ExcelテンプレートまたはDioDocs for PDFのGcPropsプロパティを使用して作成することができます。作成されたフォームは、検証やその他プロパティが追加されたPDFビューワまたは[フォームフィラー]ダイアログにて入力することができます。
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の入力タイプに適用できるプロパティを以下のテーブルで説明します。
プロパティ | 値 | 説明 |
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の入力タイプが電話番号の入力や編集に使用されます。ブラウザサポートと追加属性の詳細について、ここのリンクを参照してください。
本入力タイプに適用できるプロパティを以下のテーブルで説明します。
プロパティ | 値 | 説明 |
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の入力タイプは数値を入力するために使用されます。ブラウザサポートと追加属性の詳細について、ここのリンクを参照してください。
本入力タイプに適用できるプロパティを以下のテーブルで説明します。
プロパティ | 値 | 説明 |
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の入力タイプは電子メールアドレスを記入するために使用されます。ブラウザサポートと追加属性の詳細について、ここのリンクを参照してください。
本入力タイプに適用できるプロパティを以下のテーブルで説明します。
プロパティ | 値 | 説明 |
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の入力タイプは、パスワードを安全に入力するように使用されます。ブラウザサポートと追加属性の詳細について、ここのリンクを参照してください。
本入力タイプに適用できるプロパティを以下のテーブルで説明します。
プロパティ | 値 | 説明 |
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}$" |
制約検証に合格するには、入力値が一致する必要がある正規表現。 |
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の入力タイプは、デフォルトの入力タイプであり、基本の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 |
「パスワードを空にすることができません。」 |
コントロールが満たさない検証制約が存在する場合、それを説明するローカライズされたメッセージを表します。 |
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 | ブール型。複数の値を有効にするかどうかを指定します。 |
|
pattern | password、text、tel | 値はパターンと一致する必要があります。 |
placeholder | password、search、tel、text、url | 値が設定されていない状態でフォームコントロールに表示されるテキスト。 |
readonly | 全入力タイプ | ブール型。値が編集不可です。 |
required | 全入力タイプ | ブール型。フォームを提出するには、値が必要です。 |
spellcheck | search、text | 要素ではスペルチェックを行うかどうかを指定します。 |
type | 全入力タイプ | フォームコントロールの種類。 |
validateonmessage | 全入力タイプ | ローカライズされた検証メッセージ。 |
validateoninput | 全入力タイプ | ユーザー入力中に検証をすぐに実行する必要があるかどうかを示します。 |
DioDocs for PDFにてカスタム入力フォームタイプを利用してPDFフォームを作成する方法については、カスタムフォーム入力タイプの記入を参照してください。