通过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
条目。 找到匹配项后,您需要抓取与注释对应的字段的内容。 这比在此站点上的代码示例中提供的工作更多。