How to find out which fields are required?
Posted on StackOverflow on Feb 17, 2013 by weedget
Please take a look at section 13.3.4 of "iText in Action - Second Edition", entitled "AcroForms revisited". Listing 13.15 shows a code snippet from the InspectForm example that checks whether or not a field is a password or a multi-line field.
With some minor changes, you can adapt that example to check for required fields:
public void manipulatePdf(String src, String desttxt) throws IOException {
OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(desttxt));
PdfDocument pdfDoc = new PdfDocument(new PdfReader(src));
PdfAcroForm form = PdfAcroForm.getAcroForm(pdfDoc, true);
Map fields = form.getFormFields();
PdfFormField item;
for (String key : fields.keySet()) {
out.write(key);
item = fields.get(key);
if (item.isRequired())
out.write(" -> required");
out.write('\n');
}
out.flush();
out.close();
pdfDoc.close();
}
Click How to find out which fields are required? if you want to see how to answer this question in iText 5.