我使用Apache OpenOffice Draw创建了一个可填写的PDF模板。现在使用iText,我正在阅读此模板并使用PdfStamper
将初始值添加到字段中
现在对于按钮字段,我从模板中获取现有按钮,在其上设置操作然后更换按钮。
但问题是 - 当点击按钮时,它不会提交。代码如下。
PdfReader pdfTemplate = new PdfReader(INFILE);
FileOutputStream fileOutputStream = new FileOutputStream(OUTFILE);
PdfStamper stamper = new PdfStamper(pdfTemplate, fileOutputStream);
AcroFields form = stamper.getAcroFields();
form.setField("firstName", "James");
form.setField("lastName", "White");
// get the button field
PushbuttonField bt = stamper.getAcroFields().getNewPushbuttonFromField("submit");
bt.setText("Submit");
bt.setBackgroundColor(BaseColor.RED);
bt.setOptions(PushbuttonField.VISIBLE_BUT_DOES_NOT_PRINT);
PdfFormField submitField = bt.getField();
PdfAction ac = PdfAction.createSubmitForm("http://localhost:8080/fdf", null, PdfAction.SUBMIT_XFDF);
submitField.setAction(ac);
stamper.addAnnotation(submitField, 1);
form.replacePushbuttonField("submit", bt.getField());
stamper.close();
pdfTemplate.close();
out.flush();
是不是因为模板最初是使用OpenDraw完成的?