Formulir PDF sering digunakan untuk mengumpulkan data dan informasi. Misalnya, Kuesioner biasanya dirancang untuk mengumpulkan tanggapan untuk keperluan survei. Anda dapat mengisi, mengedit, memodifikasi formulir PDF dalam C# secara terprogram saat kami berinteraksi dengan berbagai formulir PDF yang dapat diisi di dunia digital saat ini. Mempertimbangkan cakupan yang luas dan pentingnya formulir PDF, Aspose.PDF for .NET API mendukung banyak fitur untuk bekerja dengan formulir PDF. Mari kita telusuri kasus penggunaan berikut menggunakan bahasa C# dalam artikel ini:
- Buat Formulir PDF yang Dapat Diisi menggunakan C# Secara terprogram
- Isi Bidang Formulir dalam file PDF yang ada menggunakan C# Secara terprogram
- Memodifikasi Bidang Formulir dalam Dokumen PDF menggunakan C#
- Hapus Bidang Formulir di File PDF yang Ada menggunakan C #
- Pertahankan Hak yang Diperpanjang dari Formulir PDF menggunakan C#
- Gunakan JavaScript dalam Formulir PDF menggunakan C#
Buat Formulir PDF yang Dapat Diisi menggunakan C# Secara terprogram
Anda dapat membuat formulir PDF yang dapat diisi dari awal menggunakan Aspose.PDF for .NET API. Di sini kita akan mempertimbangkan contoh dasar menambahkan dua instance TextBoxField dan RadioButton. Namun, salah satu TextBoxField adalah satu baris sedangkan yang lainnya multi-baris. Berikut adalah langkah-langkah untuk membuat formulir dalam dokumen PDF:
- Buat instance dari kelas Document.
- Tambahkan halaman kosong dalam dokumen PDF
- Tambahkan TextBox Bidang dalam formulir
- Tetapkan properti bidang yang berbeda termasuk Font, Perbatasan, dll.
- Tambahkan Tombol Radio di formulir
- Simpan dokumen PDF
Cuplikan kode berikut menunjukkan cara membuat formulir dalam PDF menggunakan C#:
Document pdfdoc = new Document();
Page page = pdfdoc.Pages.Add();
TextBoxField nameBox = new TextBoxField(pdfdoc, new Aspose.Pdf.Rectangle(275, 740, 440, 770));
nameBox.PartialName = "nameBox1";
nameBox.DefaultAppearance.FontSize = 10;
nameBox.Multiline = true;
Border nameBorder = new Border(nameBox);
nameBorder.Width = 1;
nameBox.Border = nameBorder;
nameBox.Characteristics.Border = System.Drawing.Color.Black;
nameBox.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Red);
TextBoxField mrnBox = new TextBoxField(pdfdoc, new Aspose.Pdf.Rectangle(275, 718, 440, 738));
mrnBox.PartialName = "Box1";
mrnBox.DefaultAppearance.FontSize = 10;
Border mrnBorder = new Border(mrnBox);
mrnBorder.Width = 1;
mrnBox.Border = mrnBorder;
mrnBox.Characteristics.Border = System.Drawing.Color.Black;
mrnBox.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Red);
// Tambahkan bidang formulir ke halaman pertama dokumen PDF
pdfdoc.Form.Add(nameBox, 1);
pdfdoc.Form.Add(mrnBox, 1);
//Tambahkan Radiobuttons pada koordinat posisi tertentu dalam PDF
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
//Tetapkan posisi di sini
table.Left = 200;
table.Top = 300;
table.ColumnWidths = "120";
page.Paragraphs.Add(table);
Aspose.Pdf.Row r1 = table.Rows.Add();
Aspose.Pdf.Row r2 = table.Rows.Add();
Aspose.Pdf.Cell c1 = r1.Cells.Add();
Aspose.Pdf.Cell c2 = r2.Cells.Add();
RadioButtonField rf = new RadioButtonField(page);
rf.PartialName = "radio";
pdfdoc.Form.Add(rf, 1);
RadioButtonOptionField opt1 = new RadioButtonOptionField();
RadioButtonOptionField opt2 = new RadioButtonOptionField();
opt1.OptionName = "Yes";
opt2.OptionName = "No";
opt1.Width = 15;
opt1.Height = 15;
opt2.Width = 15;
opt2.Height = 15;
rf.Add(opt1);
rf.Add(opt2);
opt1.Border = new Border(opt1);
opt1.Border.Width = 1;
opt1.Border.Style = BorderStyle.Solid;
opt1.Characteristics.Border = System.Drawing.Color.Black;
opt1.DefaultAppearance.TextColor = System.Drawing.Color.Red;
opt1.Caption = new TextFragment("Yes");
opt2.Border = new Border(opt1);
opt2.Border.Width = 1;
opt2.Border.Style = BorderStyle.Solid;
opt2.Characteristics.Border = System.Drawing.Color.Black;
opt2.DefaultAppearance.TextColor = System.Drawing.Color.Red;
opt2.Caption = new TextFragment("No");
c1.Paragraphs.Add(opt1);
c2.Paragraphs.Add(opt2);
pdfdoc.Save(dataDir + "Fillable_PDF_Form.pdf");
Tangkapan layar di bawah ini menunjukkan dokumen PDF keluaran yang berisi bidang formulir seperti yang ditentukan dalam cuplikan kode di atas:
Isi, Ubah, atau Hapus Kolom Formulir di PDF yang Ada menggunakan C#
Seperti yang telah kami jelajahi membuat formulir dalam dokumen PDF menggunakan C#, Aspose.PDF for .NET API juga mendukung bekerja dengan formulir PDF yang ada. Mari kita bahas fitur-fitur API berikut ini.
i) Isi Bidang Formulir dalam file PDF yang ada menggunakan C# Programmatically
Untuk pengisian formulir PDF, kita lanjutkan dengan dokumen PDF yang sudah dibuat pada contoh diatas. Di bawah ini adalah langkah-langkah mengisi field pada dokumen PDF yang sudah ada:
- Muat dokumen PDF sumber
- Dapatkan Kotak Teks Bidang dan isi nilai
- Dapatkan Bidang tombol radio dan pilih opsi dari grup
- Simpan formulir PDF yang telah diisi
Cuplikan kode berikut mengikuti langkah-langkah ini dan menjelaskan cara mengisi kolom dalam dokumen PDF menggunakan C#:
// Buka dokumen
Document pdfDocument = new Document(dataDir + "Fillable_PDF_Form.pdf");
// Dapatkan ladang
TextBoxField textBoxField1 = pdfDocument.Form["nameBox1"] as TextBoxField;
TextBoxField textBoxField2 = pdfDocument.Form["Box1"] as TextBoxField;
// Isi nilai bidang formulir
textBoxField1.Value = "A quick brown fox jumped over a lazy dog.";
textBoxField2.Value = "A quick brown fox jumped over a lazy dog.";
// Dapatkan bidang tombol radio
RadioButtonField radioField = pdfDocument.Form["radio"] as RadioButtonField;
// Tentukan indeks tombol radio dari grup
radioField.Selected = 1;
dataDir = dataDir + "Fill_PDF_Form_Field.pdf";
// Simpan dokumen yang diperbarui
pdfDocument.Save(dataDir);
Tangkapan layar di bawah ini menunjukkan bidang formulir yang diisi dari formulir PDF menggunakan C #:
ii) Memodifikasi Bidang Formulir dalam Dokumen PDF menggunakan C#
Terkadang Anda mungkin perlu mengubah nilai di bidang apa pun dari formulir PDF. Mengubah nilai dalam bidang formulir adalah kasus penggunaan dasar yang dapat dicapai dengan langkah-langkah di bawah ini:
- Muat formulir PDF
- Dapatkan bidang tertentu menggunakan namanya
- Ubah nilai bidang
- Simpan dokumen PDF yang diperbarui
Cuplikan kode berikut menunjukkan cara mengubah nilai dalam bidang formulir dokumen PDF:
// Buka dokumen
Document pdfDocument = new Document(dataDir + "Fill_PDF_Form_Field.pdf");
// Dapatkan lapangan
TextBoxField textBoxField = pdfDocument.Form["nameBox1"] as TextBoxField;
// Ubah nilai bidang
textBoxField.Value = "Changed Value";
textBoxField.ReadOnly = true;
dataDir = dataDir + "ModifyFormField.pdf";
// Simpan dokumen yang diperbarui
pdfDocument.Save(dataDir);
Perlu dicatat di sini bahwa Anda tidak hanya dapat mengubah nilai formulir, tetapi properti lainnya juga dapat diperbarui. Misalnya, bidang tersebut telah ditandai sebagai Hanya Baca di cuplikan kode di atas.
iii) Hapus Bidang Formulir di File PDF yang Ada menggunakan C
Kami telah belajar tentang menambahkan dan mengisi bidang formulir PDF. Sekarang mari kita jelajahi menghapus bidang formulir. Anda harus mengikuti langkah-langkah di bawah ini:
- Muat dokumen PDF
- Panggil metode Hapus dengan nama bidang formulir
- Simpan Dokumen PDF
Cuplikan kode berikut menunjukkan cara menghapus kolom formulir dari file PDF menggunakan C#:
// Buka dokumen
Document pdfDocument = new Document(dataDir + "Fill_PDF_Form_Field.pdf");
// Hapus bidang tertentu dengan nama
pdfDocument.Form.Delete("nameBox1");
dataDir = dataDir + "Delete_Form_Field.pdf";
// Simpan dokumen yang dimodifikasi
pdfDocument.Save(dataDir);
Pertahankan Hak yang Diperpanjang dari Formulir PDF menggunakan C#
Formulir PDF mungkin memiliki hak tambahan, juga disebut sebagai fitur tambahan, yang ingin Anda pertahankan selama manipulasi formulir. Anda harus menyimpannya secara bertahap sambil mengikuti langkah-langkah di bawah ini:
- Muat dokumen PDF di Stream
- Bekerja dengan bentuk
- Simpan file tanpa parameter apa pun
Cuplikan kode C# berikut menjelaskan cara mempertahankan hak perpanjangan formulir PDF:
// Baca formulir PDF sumber dengan FileAccess of Read and Write.
// Kami memerlukan izin ReadWrite karena setelah modifikasi,
// Kami perlu menyimpan konten yang diperbarui dalam dokumen/file yang sama.
FileStream fs = new FileStream(dataDir + "Fill_PDF_Form_Field.pdf", FileMode.Open, FileAccess.ReadWrite);
// Instansiasi Instance Dokumen
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(fs);
// Dapatkan nilai dari semua bidang
foreach (Field formField in pdfDocument.Form)
{
// Jika nama lengkap bidang berisi A1, lakukan operasi
if (formField.FullName.Contains("nameBox1"))
{
// Keluarkan bidang formulir sebagai TextBox
TextBoxField textBoxField = formField as TextBoxField;
// Ubah nilai bidang
textBoxField.Value = "Preserve Extended Features";
}
}
// Simpan dokumen yang diperbarui di save FileStream
pdfDocument.Save();
// Tutup objek Aliran File
fs.Close();
Gunakan JavaScript dalam Formulir PDF menggunakan C#
Anda dapat menggunakan JavaScript dalam bidang formulir PDF dengan Aspose.PDF for .NET API. Mari kita ikuti langkah-langkah di bawah ini untuk mencapai persyaratan ini:
- Memulai sebuah instance dari kelas Document
- Tambahkan TextBoxField pada halaman pertama pada koordinat halaman tertentu
- Siapkan JavaScript
- Tentukan tindakan dokumen
- Simpan dokumen PDF
Cuplikan kode berikut menunjukkan cara menambahkan JavaScript dalam bentuk PDF menggunakan C#:
Aspose.Pdf.Document pdfdoc = new Aspose.Pdf.Document();
pdfdoc.Pages.Add();
Aspose.Pdf.Forms.TextBoxField textBoxField = new Aspose.Pdf.Forms.TextBoxField(pdfdoc.Pages[1], new Aspose.Pdf.Rectangle(85, 750, 215, 770));
textBoxField.PartialName = "textbox1";
textBoxField.Value = "Text Box";
//TextBoxField.Border = Perbatasan baru();
Border border = new Border(textBoxField);
border.Width = 2;
border.Dash = new Dash(1, 1);
textBoxField.Border = border;
textBoxField.DefaultAppearance.FontSize = 10;
textBoxField.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
// Tambahkan bidang ke dokumen
pdfdoc.Form.Add(textBoxField, 1);
string JS = @"var w = this.getField('" + textBoxField.PartialName + "'); var today = new Date(); w.value = today.toLocaleString();";
pdfdoc.OpenAction = new JavascriptAction(JS);
pdfdoc.Save(dataDir + "JS_Form.pdf");
JavaScript mendapatkan tanggal dan waktu sistem saat ini ketika dokumen PDF dibuka dan nilai tersebut diisi ke dalam kotak teks.
Kesimpulan
Pada artikel ini, kami telah mempelajari berbagai aspek bekerja dengan formulir dalam dokumen PDF. Membuat, mengisi, atau mengedit formulir PDF menjadi mudah dengan Aspose.PDF for .NET API. API menawarkan banyak fitur menarik untuk bekerja dengan file yang berbeda. Beri tahu kami umpan balik atau komentar Anda melalui Forum Dukungan Gratis.