我使用开放式办公室创建了PDF模板,并在其中添加了PushButtonField。每当用户单击它时,所有文本字段数据都将被清除(不应清除其他表单数据)。如何禁用(不可单击但可见的)PushButtonField使用Java或直接从开放式办公室。我尝试了以下两种解决方案,但它们不起作用。

1)在OpenOffice中,将PushButtonField属性“ Enabled”设置为“ No”。

2)从Java通过id访问pushbuttonfield并将选项设置为只读。

ad.setOptions(BaseField.READ_ONLY)


谢谢。

最佳答案

您可以尝试的一件事是将表格部分展平。通过仅传递按钮名称,您想使其对“ partialFormFlattening”不可单击。

PdfDocument document = new PdfDocument(new PdfReader(INPUT), new PdfWriter(OUTPUT));

PdfAcroForm form = PdfAcroForm.getAcroForm(document, true);

form.partialFormFlattening(nameOfTheButtonField);
form.flattenFields();

document.close();

10-07 22:36