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

时间:2014-04-16 09:07:46

标签: java pdf itext

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

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

1 个答案:

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