DioDocs for Excel
DioDocs for Excel
フォームフィールドへのフォームコントロールのエクスポート
ファイル操作 > PDF ファイルへのエクスポート > フォームフィールドへのフォームコントロールのエクスポート

対話的な 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 フォームフィールドの ZIndex は、常に他の図形よりも高くなります。

エクスポートされた 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 をシミュレートする」を参照してください。