给定一个acrokey,是否可以找到该特定字段的绝对位置和维度(getLeft,getTop,getWidth,getHeight)?
反之亦然 - 如果我知道这个位置,我可以获得该领域的大纲吗?
答案 0 :(得分:3)
问题的第一部分:
假设您有一个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
条目。找到匹配项后,您需要抓取与注释对应的字段的内容。这比本网站上的代码示例中提供的工作更多。