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

Java 通过acrokey查找字段绝对位置和尺寸,java,pdf,itext,Java,Pdf,Itext,给定acrokey,是否可以找到该特定字段(getLeft、getTop、getWidth、getHeight)的绝对位置和维度 如果我知道这个职位,我能得到这个领域的首字母缩写吗?你问题的第一部分: 假设您有一个AcroFields实例(form),从PdfReader(只读)或PdfStamper实例检索,那么您可以获得与特定字段名称对应的第一个小部件的字段位置,如下所示: Rectangle rectangle = form.getFieldPositions(name).get(0).p

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


如果我知道这个职位,我能得到这个领域的首字母缩写吗?

你问题的第一部分:

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

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
条目。找到匹配项后,需要对与注释对应的字段的内容进行爬网。这比本网站的代码示例提供的工作量要多。

谢谢您的回复。谢谢您的回复。第一部分-工作良好的第二部分-我们有两个精确的pdf(一个用于测试,另一个用于生产)。从测试pdf中,我可以获得签名的acrofields。我只需要三个字段,有70多个表单。我将手动验证测试PDF。使用我们从测试pdf中获得的AcroKey,我们可以从相应的产品pdf中获得相关AcroKey吗?使用我们从测试pdf中获得的AcroKey,我们可以从相应的产品pdf中获得相关AcroKey吗它们之间的关系如何?相同的内容,相同的字段,不同的首字母键。。我们在测试pdf中进行更改。一旦一切完成,最后一个测试版本将被用来创建一个prod-pdf。只是要确定:当你说“acrokey”时,你是指“fieldname”吗?你的评论并没有澄清这个问题。“一旦一切完成,最后一个测试版本将用于创建prod PDF”对于第三方(如我或mkl)或任何其他SO用户来说毫无意义,只要您不解释您试图实现的内容。