C#でPDFフォームフィールドを処理する
利点
- PDFフォーム内でデータを抽出、挿入、そしてアップデート。
コードの抜粋
input.pdf フォームをダウンロードする (以下の27行目)
// この例は、PDFテンプレート内のはじめの2つのフィールドを取り出します
// 2つのフィールドは、Name と Address です。
// そして、それらのフィールドの値は "BCL Technologies" と "Santa Clara, CA"で埋め込まれています。
Type type = Type.GetTypeFromProgID("easyPDF.Loader.7");
Loader oLoader = (Loader)Activator.CreateInstance(type);
PDFDocument oDocument = (PDFDocument)oLoader.LoadObject("easyPDF.PDFDocument.7");
oDocument.Open(Server.MapPath(@".\input.pdf"));
// PDFから全てのフォームフィールドを取得します。
FormFields oFormFields = oDocument.FormFields;
// 1番目のフォームフィールドを取得します。
FormField oFormField = oFormFields[0];
TextField oTextField;
if (oFormField.Type == docFormFieldType.DOC_FRMTYPE_TEXT && oFormField.Name == "Name")
{
// "BCL Technologies"を Name に設定します。
oTextField = (TextField)oFormField;
oTextField.Value = "BCL Technologies";
}
// 2番目のフォームフィールドを取得します。
oFormField = oFormFields[1];
if (oFormField.Type == docFormFieldType.DOC_FRMTYPE_TEXT && oFormField.Name == "Address")
{
// "Santa Clara, CA" を Address に設定します。
oTextField = (TextField)oFormField;
oTextField.Value = "Santa Clara, CA";
}
oDocument.SaveAs(Server.MapPath(@".\output.pdf"));