我从我的android应用程序中的新功能开始,这将有助于填写某些PDF表格。
我发现最好的解决方案是使用iText库。
我可以读取文件,也可以从文档中读取AcroFields,但是是否有可能发现特定字段标记为必填项?
我试图在API文档和Internet上找到此选项,但是没有什么可以帮助解决此问题。
请查看我的书的 13.3.4节,标题为“ AcroForms重新访问”。清单13.15显示了InspectForm示例中的代码段,该代码段检查字段是密码字段还是多行字段。
通过一些小的更改,您可以调整该示例以检查必填字段:
for (Map.Entry<String,AcroFields.Item> entry : fields.entrySet()) { out.write(entry.getKey()); item = entry.getValue(); dict = item.getMerged(0); flags = dict.getAsNumber(PdfName.FF); if (flags != null && (flags.intValue() & BaseField.REQUIRED) > 0) out.write(" -> required\n"); }