通过acrokey查找字段绝对位置和尺寸

给定一个acrokey,是否可以找到该特定字段的绝对位置和维度(getLeft,getTop,getWidth,getHeight)?

反之亦然 – 如果我知道这个位置,我可以获得该领域的大杂烩吗?

问题的第一部分:

假设您有一个AcroFields实例( form ),从PdfReader (只读)或PdfStamper实例检索,然后您可以获得与特定字段name对应的第一个窗口小部件的字段位置,如下所示:

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

请注意,一个字段可以与多个小部件对应。 例如,要获取第二个小部件,您需要:

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

当然:您可能还想知道页码:

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

问题的第二部分

字段对应于窗口小部件注释。 如果您知道窗口小部件注释的页码,则可以获取页面字典并检查/Annots数组的条目。 您必须遍历不同的注释,检查每个注释的/Rect条目。 找到匹配项后,您需要抓取与注释对应的字段的内容。 这比在此站点上的代码示例中提供的工作更多。