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

2023-12-15

给定一个 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入口。找到匹配项后,您需要抓取与注释对应的字段的内容。这比本网站上的代码示例所能提供的工作量还要多。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 acrokey 查找字段绝对位置和尺寸 的相关文章

随机推荐

  • psycopg2:用一个查询插入多行

    我需要用一个查询插入多行 行数不是恒定的 所以我需要执行如下查询 INSERT INTO t a b VALUES 1 2 3 4 5 6 我知道的唯一方法是 args 1 2 3 4 5 6 args str join cursor mo
  • 在 Kivy for Python 中按下按钮时更新标签的文本

    这是我的代码 我想制作一个游戏 当您按下按钮时 main label 会更改文本 但我已经到处找了一个星期 但仍然不明白如何做到这一点 我看了Kivy的网站 但我不明白 正如你所看到的 我是 kivy 的新手 经验也不是很多 from ki
  • 为什么 ng-click 在我的指令中不起作用以及如何添加切换类?

    我在 Angular 中创建了一个指令 如下所示 angular module msfApp directive listitem function return templateUrl assets templates directive
  • 突然导入错误

    所以我在 Ubuntu 上设置了一个 virtualenv 安装了所有东西 并让开发站点运行runserver 我自己的所有单元测试都通过了 但是许多 Django 包的单元测试没有通过 所以我尝试做git bisect为了弄清楚这一点 请
  • 使用插件cached_network_image在Flutter中缓存持续时间?

    我正在使用 flutter 插件cached network image 并且想知道缓存文件的缓存持续时间是多长 另外是否有办法将缓存持续时间修改为 x 天 我还想知道的是 文件是否以原始文件格式缓存或是否进行转换 例如 HEIC gt J
  • 如何在Snow Leopard上安装lightblue(蓝牙)模块?

    我正在尝试安装蓝牙模块浅蓝色 我的系统 Mac OS X Snow Leopard 10 6 8 Python 2 7 gcc 4 2 4 0 xcode v 3 2 3 我检查过 我还在系统中的 Library Python 下直接找到了
  • 应用内计费问题

    我正在尝试在应用程序购买中实施 但几天来一直遇到问题 当用户尝试购买时 它是成功的 但应用程序给出了一个奇怪的错误 该错误显然可以追溯到操作系统构建蜂窝 该错误阻止用户收到购买 直到他们再次单击购买按钮 Steps 进行购买 购买成功 没有
  • Javascript文件上传[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 JavaScript 中有
  • getApplicationContext() 使用时抛出异常

    我已经根据现有 Android 项目中的另一个类指定了一个类 addRow 方法应该动态地将行添加到表中 当创建一个新的 TextView 添加到我的行以及创建该行时 我应该指定 上下文 当前的方式 尝试 getApplicationCon
  • 在迭代列表时修改列表 - 为什么不呢? [复制]

    这个问题在这里已经有答案了 几乎每个关于这个主题的教程和答案都坚持认为 在迭代列表时永远不应该修改列表 但如果代码有效 我不明白为什么这是一件坏事 例如 while len mylist gt 0 print mylist pop 我错过了
  • 写入 CSV 时,从 csv 值中删除“”并更改列名称

    我正在尝试从 R 表创建 csv 文件 但我无法理解为什么所有的值都会得到 当我使用 write csv 函数时用 检查 我的数据如下所示 Sample Sample Name Sample Group Pool ID Sample Pla
  • php中如何正确计算?

    total 30 nr1 13 nr2 6 nr3 3 我知道我们在学校学过 但是什么是第一个 或 或 或 括号在哪里或者我什至需要它们吗 您将括号放在应该计算的优先级上first 在数学中 它从除法 乘法 减法开始 最后是加法 因此 以下
  • 需要在设备有 WiFi/数据连接时运行服务

    上次 我使用以下代码来运行后台服务 Intent intent new Intent InitActivity this GetService class PendingIntent pintent PendingIntent getSer
  • 如何在 Windows XP 上安装 GDI+ 1.1 版?

    有人成功做到这一点吗 据我了解 GDI 1 1 仅随 Vista 一起提供 我正在尝试接触不同的效果类 我正在使用 C VS2008 VC9 根据 Windows Vista 的 EULA GDI 1 1 不可重新分发
  • 删除加法逆元对

    这个问题是基于我之前在 SO 上提出的两个问题 每个问题都比前一个更复杂 在上一篇文章中 如何识别 R 中行的镜像重复项 我想识别数据框中行的 部分 匹配 具体来说 如果数据帧中的特定行基于列子集之间的匹配在数据帧中的其他位置具有重复行 我
  • 部署到 Istio(使用 Kubernetes)的 Jhipster 无法正确加载

    我正在将 Jhipster 应用程序部署到 Kubernetes 环境 并使用 Istio 进行网络连接 下面是我的虚拟服务 请注意 当prefix被设定为 一切正常 但是 我有几个应用程序在此集群上运行 因此我需要将其映射到 mywebs
  • 如何禁用 Django 查询缓存?

    在我的 Django 应用程序中 我在数据库上重复运行相同的查询 例如每 10 秒 然后 我根据收到的查询集创建 MD5 总和 并将其与我在上次运行中创建的 MD5 总和进行比较 如果两者相等 则数据没有改变 网页不需要更新 当我这样做时
  • Linux脚本启动、停止、重新启动[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 谁能告诉我这个脚本到底做了什么 bin sh test f usr bin sshd exit 0 case 1 in start echo n Starting sshd ss
  • Java 6 的性能改进是针对 JDK、JVM 还是两者?

    我一直想知道 Java SE 6 中所吹捧的性能改进 是在编译器中还是在运行时中 换句话说 由 JDK 6 编译的 Java 5 应用程序在 JSE 5 下运行时是否会看到改进 表明编译器优化得到改进 由 JDK 5 编译的 Java 5
  • 通过 acrokey 查找字段绝对位置和尺寸

    给定一个 acrokey 是否可以找到该特定字段的绝对位置和尺寸 getLeft getTop getWidth getHeight 反之亦然是否可能 如果我知道位置 我可以获得该字段的缩写吗 你的问题的第一部分 假设您有一个AcroFie