Memodifikasi AcroForm
Contents
[
Hide
]
Pemeliharaan Form sering melibatkan pengeditan pada tingkat bidang serta pembersihan sumber daya halaman terkait formulir.
Menghapus teks dalam sumber daya formulir yang disematkan
Gunakan contoh ini ketika konten formulir Typewriter harus dikosongkan tanpa menghapus objek formulir itu sendiri.
- Buka PDF sumber
Document. - Iterasikan melalui sumber daya formulir halaman dan temukan formulir Typewriter.
- Bersihkan fragmen teks yang diserap dan simpan dokumen.
public static void clearTextInForm(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
for (XForm form : document.getPages().get_Item(1).getResources().getForms()) {
if ("Typewriter".equals(form.getIT()) && "Form".equals(form.getSubtype())) {
TextFragmentAbsorber absorber = new TextFragmentAbsorber();
absorber.visit(form);
for (TextFragment fragment : absorber.getTextFragments()) {
fragment.setText("");
}
}
}
document.save(outputFile.toString());
}
}
Mengatur batas panjang bidang teks
Gunakan contoh ini ketika bidang teks hanya boleh menerima sejumlah karakter terbatas.
- Buat sebuah fasad
FormEditordan mengikat PDF sumber. - Atur panjang maksimum untuk bidang target.
- Simpan dokumen yang diperbarui.
public static void setFieldLimit(Path inputFile, Path outputFile) {
FormEditor form = new FormEditor();
form.bindPdf(inputFile.toString());
try {
form.setFieldLimit("First Name", 15);
form.save(outputFile.toString());
} finally {
form.close();
}
}
Mendapatkan batas panjang bidang teks
Gunakan contoh ini ketika Anda perlu memeriksa panjang maksimum saat ini dari sebuah bidang teks.
- Buka PDF sumber
Document. - Akses bidang target dari koleksi formulir.
- Baca batas dari
TextBoxFielddan keluarkan.
public static void getFieldLimit(Path inputFile) {
try (Document document = new Document(inputFile.toString())) {
Field field = document.getForm().getFields()[0];
if (field instanceof TextBoxField textBoxField) {
System.out.println("Limit: " + textBoxField.getMaxLen());
}
}
}
Mengubah font bidang formulir
Gunakan contoh ini ketika bidang teks yang ada harus menggunakan font atau tampilan yang berbeda.
- Buka PDF sumber
Document. - Akses
TextBoxFieldtarget dan atur tampilan default baru. - Simpan PDF yang diperbarui.
public static void setFormFieldFont(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
Field field = document.getForm().getFields()[0];
if (field instanceof TextBoxField textBoxField) {
textBoxField.setDefaultAppearance(new DefaultAppearance(
FontRepository.findFont("Calibri"), 10, com.aspose.pdf.Color.getBlack().toRgb()));
}
document.save(outputFile.toString());
}
}
Menghapus bidang formulir berdasarkan nama
Gunakan contoh ini ketika bidang tertentu harus dihapus dari AcroForm.
- Buka PDF sumber
Document. - Hapus bidang target dari form berdasarkan namanya.
- Simpan dokumen yang diperbarui.
public static void deleteFormField(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
document.getForm().delete("First Name");
document.save(outputFile.toString());
}
}