Java での PDF からフォームの削除
Contents
[
Hide
]
これらの例は、フィールド値を変更するだけではなく、ページからフォームリソースを削除します。
ページからすべての Form リソースの削除
選択したページのすべての Form リソースを一度の操作で削除する必要がある場合は、このサンプルを使用してください。
- ソース PDF の Document を開いてください。
- XFormCollection にアクセスしてください。
- コレクションをクリアし、更新されたドキュメントを保存してください。
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());
}
}
特定のフォームリソースの削除
Typewriter フォームなど、選択されたフォームリソースのみを削除する必要がある場合に、この例を使用してください。
- ソース PDF の Document を開いてください。
- XFormCollection にアクセスしてください。
- 削除したい XForm リソースをフィルタリングし、コレクションから削除してください。
- 更新した PDF の 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());
}
}