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

Java 如何获取iText中特定字段的页码?,java,itext,acrofields,Java,Itext,Acrofields,如何从哪个页面获取字段 PdfReader reader = new PdfReader(path); AcroFields fields = reader.getAcroFields(); Set<String> fieldNames = fields.getFields.keySet(); for(String fieldName : fieldNames) { String fieldValue = fields.getField(fieldName); //

如何从哪个页面获取字段

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
}
PdfReader reader=新的PdfReader(路径);
AcroFields=reader.getAcroFields();
Set fieldNames=fields.getFields.keySet();
for(字符串字段名:字段名)
{
字符串fieldValue=fields.getField(fieldName);
//获取此字段的页码
}

您需要
getFieldPositions()
方法。一个字段可以对应多个小部件注释。例如,名称为
fieldName
的字段可以在不同的页面上可视化,因此该方法返回一个
列表

因此,如果您想获得第一个(或唯一一个)项目的页面,您需要:

int page = form.getFieldPositions(name).get(0).page;
顺便说一下:坐标可以这样找到:

Rectangle rectangle = form.getFieldPositions(name).get(0).position;
非常感谢。这对我有帮助:)。