C++でPDFフォームフィールドを処理する
利点
- PDFフォーム内のデータを抽出、挿入、そしてアップデート。
サンプルプロジェクト
コードの抜粋
input.pdf フォームをダウンロードする (以下のハイライト部分)
// この例は、PDFテンプレート内のはじめの2つのフィールドを取り出します。
// 2つのフィールドは、Name と Address です。
// そして、それらのフィールドの値は "BCL Technologies" と "Santa Clara, CA"で埋め込まれています。
EasyPDFDocument::IPDFDocumentPtr oDocument;
oDocument.CreateInstance("easyPDF.PDFDocument.7");
oDocument->Open("C:\\input.pdf");
// PDFから全てのフォームフィールドを取得します。
EasyPDFDocument::IFormFieldsPtr oFormFields = oDocument->FormFields;
// 1番目のフォームフィールドを取得します。
EasyPDFDocument::IFormFieldPtr oFormField = oFormFields->Item[0];
EasyPDFDocument::ITextFieldPtr oTextField;
if (oFormField->Type == EasyPDFDocument::DOC_FRMTYPE_TEXT && oFormField->Name == _bstr_t("Name"))
{
// "BCL Technologies"を Name に設定します。
oTextField = oFormField;
oTextField->Value = "BCL Technologies";
}
// 2番目のフォームフィールドを設定します。
oFormField = oFormFields->Item[1];
if (oFormField->Type == EasyPDFDocument::DOC_FRMTYPE_TEXT && oFormField->Name == _bstr_t("Address"))
{
// "Santa Clara, CA" を Address に設定します。
oTextField = oFormField;
oTextField->Value = "Santa Clara, CA";
}
oDocument->SaveAs("C:\\output.pdf");