Menghapus Form dari PDF di Java

Contoh-contoh ini menghapus sumber daya Form dari sebuah halaman daripada hanya mengubah nilai bidang.

Menghapus semua sumber form dari halaman

Gunakan contoh ini ketika setiap sumber form pada halaman yang dipilih harus dihapus dalam satu operasi.

  1. Buka PDF sumber Document.
  2. Akses XFormCollection untuk halaman target.
  3. Kosongkan koleksi dan simpan dokumen yang diperbarui.
public static void removeAllForms(Path inputFile, int pageNum, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        XFormCollection forms = document.getPages().get_Item(pageNum).getResources().getForms();
        forms.clear();
        document.save(outputFile.toString());
    }
}

Menghapus sumber Form tertentu

Gunakan contoh ini ketika hanya sumber Form tertentu, seperti Form Typewriter, yang harus dihapus.

  1. Buka PDF sumber Document.
  2. Akses XFormCollection untuk halaman target.
  3. Filter XForm sumber daya yang ingin Anda hapus dan menghapusnya dari koleksi.
  4. Simpan PDF yang diperbarui Document.
public static void removeSpecifiedForm(Path inputFile, int pageNum, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        XFormCollection forms = document.getPages().get_Item(pageNum).getResources().getForms();
        List<String> formNames = new ArrayList<>();
        for (XForm form : forms) {
            if ("Typewriter".equals(form.getIT()) && "Form".equals(form.getSubtype())) {
                formNames.add(forms.getFormName(form));
            }
        }
        for (String formName : formNames) {
            forms.delete(formName);
        }
        document.save(outputFile.toString());
    }
}