Eliminar formularios de PDF en Java
Contents
[
Hide
]
Estos ejemplos eliminan recursos de Form de una página en lugar de solo cambiar los valores de los campos.
Eliminar todos los recursos de formulario de una página
Utilice este ejemplo cuando todos los recursos de formulario en una página seleccionada deban eliminarse en una sola operación.
- Abra el PDF de origen
Document. - Acceda al
XFormCollectionpara la página objetivo. - Elimine la colección y guarde el documento actualizado.
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());
}
}
Eliminar recursos de formulario específicos
Utilice este ejemplo cuando sólo se deben eliminar recursos de formulario seleccionados, como Typewriter forms.
- Abra el PDF de origen
Document. - Acceda al
XFormCollectionpara la página objetivo. - Filtre los recursos
XFormque desea eliminar y elimínelos de la colección. - Guarde el PDF actualizado
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());
}
}