Dengan munculnya komputer dan internet, banyak informasi ditangkap secara digital. Perusahaan yang berbeda datang dengan solusi untuk membuat proses ini lebih efisien. Salah satu solusinya adalah formulir PDF yang bisa diisi. Formulir PDF adalah pilihan populer yang memudahkan untuk menangkap informasi secara digital. Formulir PDF dapat digunakan untuk mengambil data survei atau sebagai formulir penerimaan. Sehubungan dengan hal ini, artikel ini akan mengajarkan Anda cara membuat, mengisi, dan mengedit formulir PDF yang dapat diisi menggunakan C++.
- C++ API untuk Membuat, Mengisi, dan Mengedit Formulir PDF yang Dapat Diisi
- Buat Formulir PDF yang Dapat Diisi menggunakan C++
- Isi Formulir yang Ada di File PDF menggunakan C++
- Ubah Nilai Bidang Formulir dalam Formulir PDF menggunakan C++
- Hapus Bidang Formulir dari Formulir PDF yang Ada menggunakan C++
C++ API untuk Membuat, Mengisi, dan Mengedit Formulir PDF yang Dapat Diisi
Aspose.PDF for C++ adalah pustaka C++ yang memungkinkan Anda membuat, membaca, dan memperbarui dokumen PDF. Selain itu, API mendukung pembuatan, pengisian, dan pengeditan formulir PDF yang dapat diisi. Anda dapat menginstal API melalui NuGet atau mengunduhnya langsung dari bagian unduhan.
PM> Install-Package Aspose.PDF.Cpp
Buat Formulir PDF yang Dapat Diisi menggunakan C++
Dalam contoh ini, kita akan membuat formulir dari awal dengan dua kotak teks dan satu tombol radio. Namun, satu kotak teks multi-baris, dan yang lainnya satu baris. Berikut ini adalah langkah-langkah untuk membuat formulir dalam file PDF.
- Buat instance dari kelas Document.
- Tambahkan halaman kosong ke dokumen.
- Buat instance dari kelas TextBoxField.
- Tetapkan properti TextBoxField seperti Ukuran Font, Warna, dll.
- Buat instance TextBoxField kedua dan atur propertinya.
- Tambahkan kedua kotak teks ke formulir menggunakan Document->getForm()->Add(System::SharedPtr bidang, metode int32t pageNumber).
- Buat tabel.
- Buat instance dari kelas RadioButtonField.
- Tambahkan RadioButton ke formulir menggunakan Document->getForm()->Add(System::SharedPtr bidang, metode int32t pageNumber).
- Buat dua instance dari kelas RadioButtonOptionField untuk mewakili opsi tombol radio.
- Atur OptionName, Width, dan Height dan tambahkan opsi ke tombol radio menggunakan RadioButtonField->Add(System::SharedPtr const & newItem) metode.
- Tambahkan opsi tombol radio ke sel tabel menggunakan Cell->getParagraphs()->Add(System::SharedPtr paragraf) metode.
- Simpan file keluaran menggunakan metode Document->Save(System::String outputFileName).
Kode contoh berikut menunjukkan cara membuat formulir dalam file PDF menggunakan C++.
// Buat instance dari kelas Document
auto pdfDocument = MakeObject<Document>();
// Tambahkan halaman kosong ke dokumen
System::SharedPtr<Page> page = pdfDocument->get_Pages()->Add();
System::SharedPtr<Aspose::Pdf::Rectangle> rectangle1 = MakeObject<Aspose::Pdf::Rectangle>(275, 740, 440, 770);
// Buat 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);
// Buat 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()));
// Tambahkan TextBoxField ke formulir
pdfDocument->get_Form()->Add(nameBox, 1);
pdfDocument->get_Form()->Add(mrnBox, 1);
// Buat tabel
System::SharedPtr<Table> table = MakeObject<Table>();
table->set_Left(200);
table->set_Top(300);
table->set_ColumnWidths(u"120");
// Tambahkan tabel ke halaman
page->get_Paragraphs()->Add(table);
// Buat Baris dan Kolom
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();
// Buat RadioButtonField
System::SharedPtr<RadioButtonField> rf = MakeObject<RadioButtonField>(page);
rf->set_PartialName(u"radio");
// Tambahkan RadioButtonField ke formulir
pdfDocument->get_Form()->Add(rf, 1);
// Buat opsi tombol radio
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);
// Tambahkan opsi ke 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);
// Tambahkan opsi ke sel tabel
c1->get_Paragraphs()->Add(opt1);
c2->get_Paragraphs()->Add(opt2);
// Simpan file keluaran
pdfDocument->Save(u"OutputDirectory\\Fillable_PDF_Form_Out.pdf");
Isi Formulir yang Ada di File PDF menggunakan C++
Dalam contoh ini, kami akan menggunakan file yang dihasilkan dalam contoh sebelumnya. Kami akan memuat file menggunakan kelas Document dan mengisi kolomnya. Berikut adalah langkah-langkah mengisi kolom form PDF yang sudah ada.
- Muat file PDF menggunakan kelas Document.
- Ambil TextBoxFields menggunakan metode Document->getForm()->idxget(System::String name).
- Tetapkan nilai kedua TextBoxField menggunakan metode TextBoxField->setValue(System::String value).
- Ambil RadioButtonField menggunakan metode Document->getForm()->idxget(System::String name).
- Tetapkan nilai RadioButtonField menggunakan metode RadioButtonField->setSelected(int32t value).
- Simpan file keluaran menggunakan metode Document->Save(System::String outputFileName).
Kode contoh berikut menunjukkan cara mengisi formulir yang ada di file PDF menggunakan C++.
// Muat file PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Fillable_PDF_Form.pdf");
// Ambil bidang kotak teks
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"));
// Tetapkan nilai bidang kotak teks
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.");
// Ambil bidang tombol radio
System::SharedPtr<RadioButtonField> radioField = System::DynamicCast<RadioButtonField>(pdfDocument->get_Form()->idx_get(u"radio"));
// Tetapkan nilai bidang tombol radio
radioField->set_Selected(1);
// Simpan file keluaran
pdfDocument->Save(u"OutputDirectory\\Fill_PDF_Form_Field_Out.pdf");
Ubah Nilai Bidang Formulir dalam Formulir PDF menggunakan C++
Dengan Aspose.PDF for C++, kami juga dapat mengubah nilai bidang yang diisi sebelumnya. Dalam contoh ini, kita akan menggunakan file yang dihasilkan dalam contoh sebelumnya dan mengubah nilai TextBoxField pertama. Untuk mencapai ini, silakan ikuti langkah-langkah yang diberikan di bawah ini.
- Muat file PDF menggunakan kelas Document.
- Ambil TextBoxField menggunakan metode Document->getForm()->idxget(System::String name).
- Perbarui nilai TextBoxField menggunakan metode TextBoxField->setValue(System::String value).
- Simpan file output menggunakan metode Document->Save(System::String outputFileName).
Kode contoh berikut menunjukkan cara mengubah nilai bidang dalam formulir PDF menggunakan C++.
// Muat file PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Fill_PDF_Form_Field.pdf");
// Ambil TextBoxField
System::SharedPtr<TextBoxField> textBoxField = System::DynamicCast<TextBoxField>(pdfDocument->get_Form()->idx_get(u"nameBox1"));
// Perbarui nilai TextBoxField
textBoxField->set_Value(u"Changed Value");
// Tandai TextBoxField sebagai readonly
textBoxField->set_ReadOnly(true);
// Simpan file keluaran
pdfDocument->Save(u"OutputDirectory\\Modify_Form_Field_out.pdf");
Hapus Bidang Formulir dari Formulir PDF yang Ada menggunakan C++
API juga memungkinkan Anda menghapus bidang formulir dari formulir PDF yang ada. Berikut ini adalah langkah-langkah untuk menghapus kolom formulir dari formulir PDF.
- Muat file PDF menggunakan kelas Document.
- Hapus bidang menggunakan metode Document->getForm()->Delete(System::String fieldName).
- Simpan file output menggunakan metode Document->Save(System::String outputFileName).
Kode contoh berikut menunjukkan cara menghapus kolom formulir dari formulir PDF yang sudah ada menggunakan C++.
// Muat file PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Fill_PDF_Form_Field.pdf");
// Hapus bidang
pdfDocument->get_Form()->Delete(u"nameBox1");
// Simpan file keluaran
pdfDocument->Save(u"OutputDirectory\\Delete_Form_Field_out.pdf");
Dapatkan Lisensi Gratis
Anda dapat mencoba API tanpa batasan evaluasi dengan meminta lisensi sementara gratis.
Kesimpulan
Pada artikel ini, Anda telah mempelajari cara membuat formulir dalam file PDF menggunakan C++. Selain itu, Anda telah mempelajari cara mengisi dan mengubah kolom yang ada di formulir PDF. Anda juga telah melihat cara menghapus bidang formulir dari formulir PDF menggunakan Aspose.PDF for C++ API. API menyediakan banyak fitur tambahan untuk bekerja dengan file PDF yang dapat Anda jelajahi secara mendetail melalui dokumentasi resmi. Jika Anda memiliki pertanyaan tentang aspek apa pun dari API, jangan ragu untuk menghubungi kami di forum dukungan gratis.