対話的な PDF フォーム (または AcroForms) としてフォーム コントロールを含んだExcel フォームが必要になる場合があります。フォームコントロールは、ワークシート内のセルまたはデータ範囲との対話を可能にするオブジェクトです。DioDocs for Excel では、ユーザーにとって対話型となるフォームコントロールをフォームフィールドとして PDF ドキュメントにエクスポートするには、PdfSaveOptions クラスの FormFields プロパティを使用します。
Excel フォーム コントロールを PDF フォーム フィールドとしてエクスポートする方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
// ワークブックを初期化します。 var workbook = new Workbook(); // ワークシートを作成します。 IWorksheet ws = workbook.Worksheets["Sheet1"]; // チェックボックスを3つ追加します。 var checkBox1 = ws.Controls.AddCheckBox(62.4, 16.8, 84, 19.2); checkBox1.Value = false; var checkBox2 = ws.Controls.AddCheckBox(62.4, 36.6, 84, 19.2); checkBox2.Value = true; var checkBox3 = ws.Controls.AddCheckBox(62.4, 57, 84, 19.2); checkBox3.Value = false; // ドロップダウンを追加します。 var dropDown = ws.Controls.AddDropDown(28.8, 81.8, 103.8, 31.4); dropDown.PrintObject = true; dropDown.Items.Add(new DropDownItem("項目 1")); dropDown.Items.Add(new DropDownItem("項目 2")); dropDown.Items.Add(new DropDownItem("項目 3")); dropDown.SelectedIndex = 0; // リストボックスを追加します。 var lstBox1 = ws.Controls.AddListBox(51.6, 134.2, 135, 99.6); for (int i = 0; i < 6; i++) { lstBox1.Items.Add(new ListBoxItem("項目 " + (i + 1))); } lstBox1.SelectedIndex = 2; // オプションボタンのグループを追加します。 var group1 = ws.Controls.AddGroupBox(234.2, 8.4, 222.6, 138.6); var opb1 = ws.Controls.AddOptionButton(261.2, 29.4, 74.4, 16.8); var opb2 = ws.Controls.AddOptionButton(267.8, 70.8, 74.4, 16.8); var opb3 = ws.Controls.AddOptionButton(275.6, 111.6, 74.4, 16.8); var group2 = ws.Controls.AddGroupBox(244.4, 187.6, 202.6, 143.4); var opb4 = ws.Controls.AddOptionButton(274.4, 216.6, 84.4, 16.8); var opb5 = ws.Controls.AddOptionButton(279.8, 255, 84.4, 16.8); var opb6 = ws.Controls.AddOptionButton(286.4, 295.2, 84.4, 16.8); // Excel フォームコントロールを PDF フォームフィールドとしてエクスポートするには、FormFields を true に設定します。 var options = new PdfSaveOptions { FormFields = true }; // PDF ドキュメントを保存します。 workbook.Save("PdfFormFieldExample.pdf", options); |
エクスポートされた PDF ドキュメントにフォーム コントロールが存在しない場合は、フォームコントロールの PrintObject 設定を確認して有効にします。デフォルトでは、このプロパティの値は、ボタンフォームコントロールを除くすべてのフォーム コントロールに対して true に設定されます。
ボタンフォームコントロールを PDF として保存して印刷するには、次のサンプル コードを参照してください。
C# |
コードのコピー
|
---|---|
// ワークブックを初期化します。 Workbook workbook = new Workbook(); IWorksheet worksheet = workbook.Worksheets[0]; // ボタンコントロールをワークシートに追加し、 PrintObject プロパティを設定します。 var btn = worksheet.Controls.AddButton(360 * ColScale, 91.8, 103.94 * WidthScale, 19.79); btn.Text = "Test settings"; btn.PrintObject = true; // PDF ファイルに保存します。 workbook.Save("FormControlPdf.pdf"); |
制限事項
DioDocs for Excel では、次のコントロールとプロパティは PDF フォームフィールドで使用できないため、エクスポートがサポートされていません。
PDF ドキュメントにフォーム コントロールをエクスポートする方法の詳細については、「PDF フォーム フィールドを使用して UI をシミュレートする」を参照してください。