Isi Formulir PDF Java

Di zaman modern ini, banyak data dikumpulkan menggunakan formulir dan formulir PDF yang dapat diisi layak disebutkan dalam konteks ini. Mereka adalah cara yang efisien untuk mengumpulkan dan mengatur informasi. Selain itu, formulir PDF yang dapat diisi sekarang digunakan sebagai standar oleh berbagai institusi. Misalnya, beberapa pengadilan, atau perusahaan pengadaan dapat secara efisien menggunakan formulir PDF yang dapat diisi untuk membakukan prosedur mereka. Untuk membuat aplikasi seperti itu, Aspose.PDF for Java API adalah API yang paling cocok. Penasaran ingin tahu kenapa? Mari kita jelajahi kasus penggunaan berikut di mana kita akan bekerja dengan formulir PDF secara terprogram.

Instalasi

Anda dapat menuju ke bagian Rilis Baru di mana Anda dapat mengonfigurasi API untuk memperkaya aplikasi Java Anda dan mengaktifkannya untuk memproses dokumen PDF, atau Anda dapat menentukan ketergantungan dalam aplikasi Maven Anda seperti di bawah:

Gudang:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository

Ketergantungan:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.7</version>
</dependency>

Setelah berhasil mengonfigurasi API, mari kita beralih ke kasus penggunaan berikut:

Buat Formulir PDF yang Dapat Diisi menggunakan Java

Anda dapat membuat formulir PDF yang dapat diisi di aplikasi Java dengan mengikuti langkah-langkah di bawah ini:

  1. Buat file PDF dengan halaman kosong
  2. Tambahkan kolom TextBox dan kolom RadioButton pada halaman
  3. Simpan file PDF keluaran

Cuplikan kode di bawah ini menunjukkan cara membuat formulir PDF yang dapat diisi dari awal menggunakan Java:

com.aspose.pdf.Document pdfdoc = new com.aspose.pdf.Document();
com.aspose.pdf.Page page = pdfdoc.getPages().add();
TextBoxField nameBox = new TextBoxField(pdfdoc, new com.aspose.pdf.Rectangle(275, 740, 440, 770));
nameBox.setPartialName("nameBox1");
nameBox.getDefaultAppearance().setFontSize(10);
nameBox.setMultiline(true);
com.aspose.pdf.Border nameBorder = new com.aspose.pdf.Border(nameBox);
nameBorder.setWidth(1);
nameBox.setBorder(nameBorder);
nameBox.getCharacteristics().setBorder(java.awt.Color.BLACK);
nameBox.setColor(com.aspose.pdf.Color.fromRgb(Color.RED));
TextBoxField mrnBox = new TextBoxField(pdfdoc, new com.aspose.pdf.Rectangle(275, 718, 440, 738));
mrnBox.setPartialName("Box1");
mrnBox.getDefaultAppearance().setFontSize(10);
com.aspose.pdf.Border mrnBorder = new com.aspose.pdf.Border(mrnBox);
mrnBorder.setWidth(1);
mrnBox.setBorder(mrnBorder);
mrnBox.getCharacteristics().setBorder(java.awt.Color.BLACK);
mrnBox.setColor(com.aspose.pdf.Color.fromRgb(Color.RED));
// Tambahkan bidang formulir ke halaman pertama dokumen PDF            
pdfdoc.getForm().add(nameBox, 1);
pdfdoc.getForm().add(mrnBox, 1);

//Tambahkan Radiobuttons pada koordinat posisi tertentu dalam PDF
com.aspose.pdf.Table table = new com.aspose.pdf.Table();
//Tetapkan posisi di sini
table.setLeft(200);
table.setTop(300);
table.setColumnWidths("120");
page.getParagraphs().add(table);
com.aspose.pdf.Row r1 = table.getRows().add();
com.aspose.pdf.Row r2 = table.getRows().add();
com.aspose.pdf.Cell c1 = r1.getCells().add();
com.aspose.pdf.Cell c2 = r2.getCells().add();
com.aspose.pdf.RadioButtonField rf = new com.aspose.pdf.RadioButtonField(page);
rf.setPartialName("radio");
pdfdoc.getForm().add(rf, 1);
com.aspose.pdf.RadioButtonOptionField opt1 = new com.aspose.pdf.RadioButtonOptionField();
com.aspose.pdf.RadioButtonOptionField opt2 = new com.aspose.pdf.RadioButtonOptionField();
opt1.setOptionName("Yes");
opt2.setOptionName("No");
opt1.setWidth(15);
opt1.setHeight(15);
opt2.setWidth(15);
opt2.setHeight(15);
rf.add(opt1);
rf.add(opt2);
opt1.setBorder(new com.aspose.pdf.Border(opt1));
opt1.getBorder().setWidth(1);
opt1.getBorder().setStyle(com.aspose.pdf.BorderStyle.Solid);
opt1.getCharacteristics().setBorder(java.awt.Color.BLACK);
opt1.getDefaultAppearance().setTextColor(java.awt.Color.RED);
opt1.setCaption(new com.aspose.pdf.TextFragment("Yes"));
opt2.setBorder(new com.aspose.pdf.Border(opt1));
opt2.getBorder().setWidth(1);
opt2.getBorder().setStyle(com.aspose.pdf.BorderStyle.Solid);
opt2.getCharacteristics().setBorder(java.awt.Color.BLACK);
opt2.getDefaultAppearance().setTextColor(java.awt.Color.RED);
opt2.setCaption(new com.aspose.pdf.TextFragment("No"));
c1.getParagraphs().add(opt1);
c2.getParagraphs().add(opt2);
pdfdoc.save(dataDir + "Fillable_PDF_Form.pdf");

Isi, Ubah, atau Hapus Kolom Formulir di PDF yang Ada menggunakan Java

Kami telah belajar membuat file PDF baru yang dapat diisi dari awal. Mari kita lanjutkan ke skenario di mana dokumen PDF yang ada diproses:

i) Isi Bidang Formulir di file PDF yang ada menggunakan Java

Seperti kita telah membuat formulir PDF pada contoh di atas, mari kita lanjutkan dengan dokumen yang sama dan mengisi kolom formulir secara terprogram menggunakan Java. Anda dapat mengisi formulir yang dibuat dengan langkah-langkah di bawah ini:

  1. Muat file masukan
  2. Isi nilai di bidang KotakTeks.
  3. Isi bidang RadioButton dengan memilih opsi
  4. Simpan formulir PDF

Cuplikan kode di bawah ini menunjukkan cara mengisi formulir yang dapat diisi menggunakan Java:

// Buka dokumen
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fillable_PDF_Form.pdf");

// Dapatkan ladang
TextBoxField textBoxField1 = (TextBoxField) pdfDocument.getForm().get("nameBox1");
TextBoxField textBoxField2 = (TextBoxField) pdfDocument.getForm().get("Box1");
// Isi nilai bidang formulir
textBoxField1.setValue("A quick brown fox jumped over a lazy dog.");
textBoxField2.setValue("A quick brown fox jumped over a lazy dog.");

// Dapatkan bidang tombol radio
RadioButtonField radioField = (RadioButtonField) pdfDocument.getForm().get("radio");
// Tentukan indeks tombol radio dari grup
radioField.setSelected(1);

dataDir = dataDir + "Fill_PDF_Form_Field.pdf";
// Simpan dokumen yang diperbarui
pdfDocument.save(dataDir);

ii) Memodifikasi Bidang Formulir dalam Dokumen PDF menggunakan Java

Terkadang kita perlu mengedit atau memperbarui nilai field dalam bentuk PDF. Anda dapat dengan mudah mengedit formulir PDF yang dapat diisi dengan langkah-langkah di bawah ini:

  1. Inisialisasi masukan PDF
  2. Dapatkan referensi ke bidang formulir dengan namanya
  3. Edit formulir PDF
  4. Simpan formulir PDF yang telah diedit

Cuplikan kode di bawah ini menunjukkan cara memperbarui atau mengedit file PDF yang dapat diisi menggunakan Java:

// Buka dokumen
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// Dapatkan lapangan
TextBoxField textBoxField = (TextBoxField) pdfDocument.getForm().get("nameBox1");
// Ubah nilai bidang
textBoxField.setValue("Changed Value");
textBoxField.setReadOnly(true);
dataDir = dataDir + "ModifyFormField.pdf";
// Simpan dokumen yang diperbarui
pdfDocument.save(dataDir);

iii) Hapus Bidang Formulir di File PDF yang Ada menggunakan Java

Anda dapat menghapus atau menghapus bidang formulir dengan mudah di aplikasi Java Anda. Anda dapat mengikuti langkah-langkah di bawah ini:

  1. Menginisialisasi formulir PDF
  2. Hapus bidang formulir menggunakan namanya
  3. Simpan formulir PDF yang diperbarui

Cuplikan kode di bawah ini menunjukkan cara menghapus bidang formulir dari formulir PDF menggunakan Java:

// Buka dokumen
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// Hapus bidang tertentu dengan nama
pdfDocument.getForm().delete("nameBox1");
dataDir = dataDir + "Delete_Form_Field.pdf";
// Simpan dokumen yang dimodifikasi
pdfDocument.save(dataDir);

Pertahankan Hak yang Diperpanjang untuk Formulir PDF menggunakan Java

Anda mungkin memperhatikan bahwa beberapa formulir PDF memiliki hak yang diperpanjang. Mereka digunakan untuk menghindari modifikasi pada konten asli dan hanya mengisi formulir yang diperbolehkan. Hak yang diperpanjang dari file PDF dapat terpengaruh saat

Anda mengisi formulir seperti itu dan menyimpannya di lokasi disk yang berbeda. Oleh karena itu, kita perlu menyimpan file tersebut secara bertahap dengan langkah-langkah di bawah ini:

  1. Inisialisasi formulir PDF
  2. Isi kolom
  3. Simpan dokumen PDF yang telah diisi

Cuplikan kode di bawah ini menunjukkan cara mempertahankan hak yang diperpanjang saat mengisi formulir PDF, menggunakan Java:

// Instansiasi Instance Dokumen
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// Dapatkan nilai dari semua bidang
for (com.aspose.pdf.Field formField : pdfDocument.getForm().getFields())
{
    // Jika nama lengkap bidang berisi nameBox1, lakukan operasi
    if (formField.getFullName().contains("nameBox1"))
    {
        // Keluarkan bidang formulir sebagai TextBox
        TextBoxField textBoxField = (TextBoxField) formField;
        // Ubah nilai bidang
        textBoxField.setValue("Preserve Extended Features");
    }
}
// Simpan dokumen yang diperbarui
pdfDocument.save();

Gunakan JavaScript dalam Bentuk PDF menggunakan Java

Anda dapat mengisi bidang formulir PDF yang dapat diisi menggunakan Javascript dengan Aspose.PDF for Java. Anda harus mengikuti langkah-langkah berikut:

  1. Muat dokumen PDF
  2. Tambahkan bidang di lokasi halaman tertentu
  3. Setel JavaScript dan buka tindakan untuk dokumen Simpan file PDF

Cuplikan kode berikut menunjukkan cara menggunakan JavaScript dalam bentuk PDF yang dapat diisi:

com.aspose.pdf.Document pdfdoc = new com.aspose.pdf.Document();
pdfdoc.getPages().add();
TextBoxField textBoxField = new TextBoxField(pdfdoc.getPages().get_Item(1), new com.aspose.pdf.Rectangle(85, 750, 215, 770));
textBoxField.setPartialName("textbox1");
textBoxField.setValue("Text Box");
//TextBoxField.Border = Perbatasan baru();
com.aspose.pdf.Border border = new com.aspose.pdf.Border(textBoxField);
border.setWidth(2);
border.setDash(new com.aspose.pdf.Dash(1, 1));
textBoxField.setBorder(border);
textBoxField.getDefaultAppearance().setFontSize(10);
textBoxField.setColor(com.aspose.pdf.Color.fromRgb(java.awt.Color.GREEN));
// Tambahkan bidang ke dokumen
pdfdoc.getForm().add(textBoxField, 1);
String JS = "var w = this.getField('" + textBoxField.getPartialName() + "'); var today = new Date(); w.value = today.toLocaleString();";
pdfdoc.setOpenAction(new com.aspose.pdf.JavascriptAction(JS));
pdfdoc.save(dataDir + "JS_Form.pdf");

Kesimpulan

Kami telah mempelajari cara membuat formulir PDF yang dapat diisi, serta mengisi atau mengedit kolom formulir menggunakan lingkungan Java. Selain itu, kami juga telah menjelajahi untuk mempertahankan hak yang diperpanjang dalam dokumen PDF selain menggunakan JavaScript pada tindakan dokumen PDF. Jika ada kekhawatiran atau masalah, jangan ragu untuk menghubungi kami di Forum Dukungan Gratis.

Lihat juga