在 PDF 中设置 属性 个可见字段

Set visible property of fields in a PDF

我有一个带有按钮字段的 PDF 模板文件。比方说,"Button1" 中按钮字段的名称。是否可以使用 iText (v5.5) 从我的 java 应用程序中隐藏此按钮?

PDFFormField.setVisibility(int visibility) and PDFAcroForm.getField(String fieldName)

您的代码将如下所示:

pdfAcroform.getField("Button1").setVisibility(PDFFormField.HIDDEN);

请看一下 HideButton example. In this example, we take a PDF named hello_button.java 有一个名为 "Test" 的按钮(屏幕截图中的灰色区域):

名称为"Text"的字段对应一个小部件注释。我们可以像这样更改此注释的标志:

PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
AcroFields form = stamper.getAcroFields();
form.setFieldProperty("Test", "setflags", PdfAnnotation.FLAGS_HIDDEN, null);
stamper.close();

这个操作的结果是一个名为 hello_button_hidden.pdf:

的文件

这是 iText 5 的答案;另一个答案是 iText 7 答案。