با ظهور کامپیوتر و اینترنت، اطلاعات زیادی به صورت دیجیتالی ثبت می شود. شرکت های مختلف راه حل هایی برای کارآمدتر کردن این فرآیند ارائه کردند. یکی از این راه حل ها، فرم های PDF قابل پر کردن است. فرمهای پیدیاف یک انتخاب محبوب هستند که گرفتن اطلاعات دیجیتالی را آسان میکنند. فرم های PDF ممکن است برای گرفتن داده های نظرسنجی یا به عنوان فرم های پذیرش استفاده شود. با توجه به این موضوع، این مقاله به شما نحوه ایجاد، پر کردن و ویرایش فرمهای PDF قابل پرکردن را با استفاده از C++ آموزش میدهد.
- C++ API برای ایجاد، پر کردن و ویرایش فرمهای PDF قابل پر کردن
- فرم های PDF قابل پر کردن را با استفاده از C++ ایجاد کنید
- یک فرم موجود را در یک فایل PDF با استفاده از C++ پر کنید
- مقدار یک فیلد فرم را در یک فرم PDF با استفاده از C++ تغییر دهید
- یک فیلد فرم را از یک فرم PDF موجود با استفاده از C++ حذف کنید
C++ API برای ایجاد، پر کردن و ویرایش فرمهای PDF قابل پر کردن
Aspose.PDF for C++ یک کتابخانه C++ است که به شما امکان ایجاد، خواندن و به روز رسانی اسناد PDF را می دهد. علاوه بر این، API از ایجاد، پر کردن و ویرایش فرم های PDF قابل پر کردن پشتیبانی می کند. میتوانید API را از طریق NuGet نصب کنید یا آن را مستقیماً از بخش دانلودها دانلود کنید.
PM> Install-Package Aspose.PDF.Cpp
فرم های PDF قابل پر کردن را با استفاده از C++ ایجاد کنید
در این مثال، یک فرم از ابتدا با دو جعبه متن و یک دکمه رادیویی ایجاد می کنیم. با این حال، یک جعبه متن چند خطی است و دیگری تک خطی است. در زیر مراحل ایجاد فرم در یک فایل PDF آمده است.
- یک نمونه از کلاس Document ایجاد کنید.
- یک صفحه خالی به سند اضافه کنید.
- یک نمونه از کلاس TextBoxField ایجاد کنید.
- ویژگی های TextBoxField مانند FontSize، Color و غیره را تنظیم کنید.
- یک نمونه از TextBoxField دوم ایجاد کنید و خصوصیات آن را تنظیم کنید.
- با استفاده از Document->getForm()->Add(System::SharedPtr، هر دو جعبه متن را به فرم اضافه کنید. فیلد، int32t pageNumber) روش.
- یک جدول ایجاد کنید.
- یک نمونه از کلاس RadioButtonField ایجاد کنید.
- RadioButton را با استفاده از Document->getForm()->Add(System::SharedPtr) به فرم اضافه کنید. فیلد، int32t pageNumber) روش.
- دو نمونه از کلاس RadioButtonOptionField برای نمایش گزینه های دکمه رادیویی ایجاد کنید.
- OptionName، Width و Height را تنظیم کنید و با استفاده از RadioButtonField->Add(System::SharedPtr، گزینهها را به دکمه رادیویی اضافه کنید. روش const & newItem).
- با استفاده از Cell->getParagraphs()->Add(System::SharedPtr، گزینه های دکمه رادیویی را به سلول های جدول اضافه کنید. پاراگراف) روش.
- فایل خروجی را با استفاده از روش Document->Save(System::String outputFileName) ذخیره کنید.
کد نمونه زیر نحوه ایجاد فرم را در یک فایل PDF با استفاده از C++ نشان می دهد.
// یک نمونه از کلاس Document ایجاد کنید
auto pdfDocument = MakeObject<Document>();
// یک صفحه خالی به سند اضافه کنید
System::SharedPtr<Page> page = pdfDocument->get_Pages()->Add();
System::SharedPtr<Aspose::Pdf::Rectangle> rectangle1 = MakeObject<Aspose::Pdf::Rectangle>(275, 740, 440, 770);
// یک TextBoxField ایجاد کنید
System::SharedPtr<TextBoxField> nameBox = MakeObject<TextBoxField>(pdfDocument, rectangle1);
nameBox->set_PartialName(u"nameBox1");
nameBox->get_DefaultAppearance()->set_FontSize(10);
nameBox->set_Multiline(true);
System::SharedPtr<Border> nameBorder = MakeObject<Border>(nameBox);
nameBorder->set_Width(1);
nameBox->set_Border(nameBorder);
nameBox->get_Characteristics()->set_Border(System::Drawing::Color::get_Black());
nameBox->set_Color(Aspose::Pdf::Color::FromRgb(System::Drawing::Color::get_Red()));
System::SharedPtr<Aspose::Pdf::Rectangle> rectangle2 = MakeObject<Aspose::Pdf::Rectangle>(275, 718, 440, 738);
// یک TextBoxField ایجاد کنید
System::SharedPtr<TextBoxField> mrnBox = MakeObject<TextBoxField>(pdfDocument, rectangle2);
mrnBox->set_PartialName(u"Box1");
mrnBox->get_DefaultAppearance()->set_FontSize(10);
System::SharedPtr<Border> mrnBorder = MakeObject<Border>(mrnBox);
mrnBox->set_Width(165);
mrnBox->set_Border(mrnBorder);
mrnBox->get_Characteristics()->set_Border(System::Drawing::Color::get_Black());
mrnBox->set_Color(Aspose::Pdf::Color::FromRgb(System::Drawing::Color::get_Red()));
// TextBoxField را به فرم اضافه کنید
pdfDocument->get_Form()->Add(nameBox, 1);
pdfDocument->get_Form()->Add(mrnBox, 1);
// یک جدول ایجاد کنید
System::SharedPtr<Table> table = MakeObject<Table>();
table->set_Left(200);
table->set_Top(300);
table->set_ColumnWidths(u"120");
// جدول را به صفحه اضافه کنید
page->get_Paragraphs()->Add(table);
// سطر و ستون ایجاد کنید
System::SharedPtr<Row> r1 = table->get_Rows()->Add();
System::SharedPtr<Row> r2 = table->get_Rows()->Add();
System::SharedPtr<Cell> c1 = r1->get_Cells()->Add();
System::SharedPtr<Cell> c2 = r2->get_Cells()->Add();
// یک RadioButtonField ایجاد کنید
System::SharedPtr<RadioButtonField> rf = MakeObject<RadioButtonField>(page);
rf->set_PartialName(u"radio");
// RadioButtonField را به فرم اضافه کنید
pdfDocument->get_Form()->Add(rf, 1);
// گزینه های دکمه رادیویی را ایجاد کنید
System::SharedPtr<RadioButtonOptionField> opt1 = MakeObject<RadioButtonOptionField>();
System::SharedPtr<RadioButtonOptionField> opt2 = MakeObject<RadioButtonOptionField>();
opt1->set_OptionName(u"Yes");
opt2->set_OptionName(u"No");
opt1->set_Width(15);
opt1->set_Height(15);
opt2->set_Width(15);
opt2->set_Height(15);
// گزینه ها را به RadioButtonField اضافه کنید
rf->Add(opt1);
rf->Add(opt2);
System::SharedPtr<Border> opt1Border = MakeObject<Border>(opt1);
opt1->set_Border(opt1Border);
opt1->get_Border()->set_Width(1);
opt1->get_Border()->set_Style(BorderStyle::Solid);
opt1->get_Characteristics()->set_Border(System::Drawing::Color::get_Black());
opt1->get_DefaultAppearance()->set_TextColor(System::Drawing::Color::get_Red());
System::SharedPtr<TextFragment> opt1Fragment = MakeObject<TextFragment>(u"Yes");
opt1->set_Caption(opt1Fragment);
System::SharedPtr<Border> opt2Border = MakeObject<Border>(opt2);
opt2->set_Border(opt2Border);
opt2->get_Border()->set_Width(1);
opt2->get_Border()->set_Style(BorderStyle::Solid);
opt2->get_Characteristics()->set_Border(System::Drawing::Color::get_Black());
opt2->get_DefaultAppearance()->set_TextColor(System::Drawing::Color::get_Red());
System::SharedPtr<TextFragment> opt2Fragment = MakeObject<TextFragment>(u"No");
opt2->set_Caption(opt2Fragment);
// گزینه ها را به سلول های جدول اضافه کنید
c1->get_Paragraphs()->Add(opt1);
c2->get_Paragraphs()->Add(opt2);
// فایل خروجی را ذخیره کنید
pdfDocument->Save(u"OutputDirectory\\Fillable_PDF_Form_Out.pdf");
یک فرم موجود را در یک فایل PDF با استفاده از C++ پر کنید
در این مثال از فایل تولید شده در مثال قبلی استفاده خواهیم کرد. ما فایل را با استفاده از کلاس Document بارگذاری می کنیم و فیلدهای آن را پر می کنیم. مراحل زیر برای پر کردن فیلدهای یک فرم PDF موجود است.
- فایل PDF را با استفاده از کلاس Document بارگیری کنید.
- TextBoxFields را با استفاده از روش Document->getForm()->idxget(System::String name) بازیابی کنید.
- مقادیر هر دو TextBoxFields را با استفاده از روش TextBoxField->setValue(System::String value) تنظیم کنید.
- RadioButtonField را با استفاده از روش Document->getForm()->idxget(System::String name) بازیابی کنید.
- مقدار RadioButtonField را با استفاده از روش RadioButtonField->setSelected(int32t value) تنظیم کنید.
- فایل خروجی را با استفاده از روش Document->Save(System::String outputFileName) ذخیره کنید.
کد نمونه زیر نحوه پر کردن فرم موجود در یک فایل PDF را با استفاده از C++ نشان می دهد.
// فایل PDF را بارگیری کنید
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Fillable_PDF_Form.pdf");
// فیلدهای جعبه متن را بازیابی کنید
System::SharedPtr<TextBoxField> textBoxField1 = System::DynamicCast<TextBoxField>(pdfDocument->get_Form()->idx_get(u"nameBox1"));
System::SharedPtr<TextBoxField> textBoxField2 = System::DynamicCast<TextBoxField>(pdfDocument->get_Form()->idx_get(u"Box1"));
// مقدار فیلدهای جعبه متن را تنظیم کنید
textBoxField1->set_Value(u"A quick brown fox jumped over the lazy dog.");
textBoxField2->set_Value(u"A quick brown fox jumped over the lazy dog.");
// فیلد دکمه رادیویی را بازیابی کنید
System::SharedPtr<RadioButtonField> radioField = System::DynamicCast<RadioButtonField>(pdfDocument->get_Form()->idx_get(u"radio"));
// مقدار فیلد دکمه رادیویی را تنظیم کنید
radioField->set_Selected(1);
// فایل خروجی را ذخیره کنید
pdfDocument->Save(u"OutputDirectory\\Fill_PDF_Form_Field_Out.pdf");
مقدار یک فیلد فرم را در یک فرم PDF با استفاده از C++ تغییر دهید
با Aspose.PDF برای C++، میتوانیم مقدار فیلد پر شده قبلی را نیز تغییر دهیم. در این مثال، از فایل تولید شده در مثال قبلی استفاده می کنیم و مقدار TextBoxField اول را تغییر می دهیم. برای رسیدن به این هدف، لطفا مراحل زیر را دنبال کنید.
- فایل PDF را با استفاده از کلاس Document بارگیری کنید.
- TextBoxField را با استفاده از روش Document->getForm()->idxget(System::String name) بازیابی کنید.
- مقدار TextBoxField را با استفاده از روش TextBoxField->setValue(System::String value) بهروزرسانی کنید.
- فایل خروجی را با استفاده از روش Document->Save(System::String outputFileName) ذخیره کنید.
کد نمونه زیر نحوه تغییر مقدار یک فیلد در فرم PDF را با استفاده از C++ نشان می دهد.
// فایل PDF را بارگیری کنید
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Fill_PDF_Form_Field.pdf");
// TextBoxField را بازیابی کنید
System::SharedPtr<TextBoxField> textBoxField = System::DynamicCast<TextBoxField>(pdfDocument->get_Form()->idx_get(u"nameBox1"));
// مقدار TextBoxField را به روز کنید
textBoxField->set_Value(u"Changed Value");
// TextBoxField را به عنوان فقط خواندنی علامت گذاری کنید
textBoxField->set_ReadOnly(true);
// فایل خروجی را ذخیره کنید
pdfDocument->Save(u"OutputDirectory\\Modify_Form_Field_out.pdf");
یک فیلد فرم را از یک فرم PDF موجود با استفاده از C++ حذف کنید
API همچنین به شما امکان می دهد فیلدهای فرم را از فرم های PDF موجود حذف کنید. مراحل زیر برای حذف فیلد فرم از فرم PDF آورده شده است.
- فایل PDF را با استفاده از کلاس Document بارگیری کنید.
- فیلد را با استفاده از روش Document->getForm()->Delete(System::String fieldName) حذف کنید.
- فایل خروجی را با استفاده از روش Document->Save(System::String outputFileName) ذخیره کنید.
کد نمونه زیر نحوه حذف یک فیلد فرم را از فرم PDF موجود با استفاده از C++ نشان می دهد.
// فایل PDF را بارگیری کنید
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Fill_PDF_Form_Field.pdf");
// فیلد را حذف کنید
pdfDocument->get_Form()->Delete(u"nameBox1");
// فایل خروجی را ذخیره کنید
pdfDocument->Save(u"OutputDirectory\\Delete_Form_Field_out.pdf");
مجوز رایگان دریافت کنید
با درخواست [مجوز موقت رایگان] میتوانید API را بدون محدودیت ارزیابی امتحان کنید.
نتیجه
در این مقاله نحوه ایجاد فرم در فایل های PDF با استفاده از C++ را یاد گرفتید. علاوه بر این، نحوه پر کردن و اصلاح فیلدهای موجود در فرم های PDF را آموخته اید. همچنین نحوه حذف یک فیلد فرم از فرم PDF را با استفاده از Aspose.PDF برای C++ API مشاهده کرده اید. API مجموعهای از ویژگیهای اضافی را برای کار با فایلهای PDF فراهم میکند که میتوانید با مراجعه به اسناد رسمی جزئیات را بررسی کنید. اگر در مورد هر یک از جنبههای API سؤالی دارید، لطفاً در تالار گفتمان پشتیبانی رایگان ما با ما تماس بگیرید.