如何获取 iText 中特定字段的页码?

How can I get the page number for a specific field in iText?

如何获取字段来自哪个页面?

PdfReader reader = new PdfReader(path);
AcroFields fields = reader.getAcroFields();
Set<String> fieldNames = fields.getFields.keySet();
for(String fieldName : fieldNames)
{
     String fieldValue = fields.getField(fieldName);
    //get page number for this field
}

您需要 getFieldPositions() 方法。一个字段可以对应多个控件注解。例如,名称为 fieldName 的字段可以在不同的页面上可视化,因此方法 returns a List.

所以如果你想获取第一个(或唯一一个)item的页面,你需要:

int page = form.getFieldPositions(name).get(0).page;

顺便说一句:坐标可以这样找到:

Rectangle rectangle = form.getFieldPositions(name).get(0).position;