【发布时间】:2019-07-02 06:50:28
【问题描述】:
iText7可以获取PDF字段的tab顺序吗?
您可以在 Acrobat 中定义 Tab 键顺序,但在 iText7 库中似乎无法获得该 Tab 键顺序。
我正在编写一个从 PDF 文件中提取字段的应用程序,并希望根据从 PDF 中定义的 Tab 键顺序对这些字段进行排序。
【问题讨论】:
iText7可以获取PDF字段的tab顺序吗?
您可以在 Acrobat 中定义 Tab 键顺序,但在 iText7 库中似乎无法获得该 Tab 键顺序。
我正在编写一个从 PDF 文件中提取字段的应用程序,并希望根据从 PDF 中定义的 Tab 键顺序对这些字段进行排序。
【问题讨论】:
页面上字段的顺序(或更确切地说:注释)由页面字典中的 Tabs 条目决定。其值指定为:
(可选;PDF 1.5) 一个名称,指定用于页面上的注释的跳位顺序(参见 12.5“注释”)。可能的值应为R(行顺序)、C(列顺序)和S(结构顺序)。从 PDF 2.0 开始,可能的值还包括 A(注释数组顺序)和 W(小部件顺序)。 Annotations 数组顺序是指在 Page 字典的 Annots 条目中枚举的注释的顺序(参见“表 31 — 页面对象中的条目”)。小部件顺序是指使用相同的数组排序但进行两次传递,第一次只选择小部件注解,第二次选择所有其他注解。
(ISO 32000-2,表 31 - 页面对象中的条目)
要执行提取要根据从 PDF 定义的 Tab 键顺序排序的字段的任务,因此,您必须读取相关页面的此值,并根据它分析注解坐标、结构树或注解数组。
顺便说一句,对于具有多个小部件的字段,这意味着它们也有多个选项卡位置;因此,对于某些文档,导出要根据从 PDF 定义的 Tab 键顺序排序的字段可能是不可能的。
【讨论】: