CN112380812A - Pdf不完整框线表格提取方法、装置、设备及存储介质 - Google Patents

Pdf不完整框线表格提取方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112380812A
CN112380812A CN202011073584.7A CN202011073584A CN112380812A CN 112380812 A CN112380812 A CN 112380812A CN 202011073584 A CN202011073584 A CN 202011073584A CN 112380812 A CN112380812 A CN 112380812A
Authority
CN
China
Prior art keywords
line segment
elements
pdf
pdf page
segment elements
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011073584.7A
Other languages
English (en)
Other versions
CN112380812B (zh
Inventor
周玉
李小青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhongkefan Language Technology Co ltd
Original Assignee
Beijing Zhongkefan Language Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Zhongkefan Language Technology Co ltd filed Critical Beijing Zhongkefan Language Technology Co ltd
Priority to CN202011073584.7A priority Critical patent/CN112380812B/zh
Publication of CN112380812A publication Critical patent/CN112380812A/zh
Application granted granted Critical
Publication of CN112380812B publication Critical patent/CN112380812B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/163Handling of whitespace
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/412Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本公开提供了一种PDF不完整框线表格处理方法,包括:S1、对PDF页面进行解析,解析出PDF页面的元素;S2、判断解析出的元素中是否至少包含水平线段元素和/或垂直线段元素,至少基于水平线段元素的特征判断PDF页面中是否包含表格;S3、如果PDF页面中包含表格,至少基于垂直线段元素的特征判断表格为完整框线表格或者不完整框线表格;S4、如果表格为不完整框线表格,则获取PDF页面中的所有文本块以及每个文本块的位置信息,至少基于每个文本块的位置信息获取PDF页面中的初步表格区域;以及S5、基于水平线段元素和/或垂直线段元素,对初步表格区域进行修正,获得修正表格区域。本公开还提供了PDF不完整框线表格处理装置、电子设备以及存储介质。

Description

PDF不完整框线表格提取方法、装置、设备及存储介质
技术领域
本公开涉及一种PDF不完整框线表格提取方法、装置、设备及存储介质,属于PDF文档识别技术领域。
背景技术
PDF(便携式文件格式,Portable Document Format)是目前使用最广泛的文档格式之一,主要用于文件交换与打印等,无法与其他计算机程序进行交互。
随着PDF在金融、科研、教育等领域的广泛应用,自动进行PDF文档识别并从中提取有用数据成为一个备受关注的问题。
PDF文档主要由文本、图像、表格、公式等内容组成,其中,作为一种极高效的数据组织与展现方式,表格的识别成为一个亟待解决的问题。表格识别包括表格检测与表格结构识别,表格检测是指从PDF页面中检测出表格所在区域;表格结构识别是指在检测到表格区域的基础上,识别表格的逻辑结构与单元格内容。
PDF文档中包含的表格可以分为两类:完整框线表格与不完整框线表格。其中,完整框线表格的识别较为简单,目前开源PDF表格提取工具已经可以达到较高的准确率;而不完整框线表格的识别则存在问题较多:如表格检测准确率较低(目前camelot、pdfplumber等开源工具会将表格之外的文本内容错误检测到表格区域内)、表格结构识别不完整(现有技术仅进行基础的表格结构识别,未对结果中存在的空白单元格进行合并,表格的可读性较差及后续利用存在困难)、自动化程度低(不能完全自动进行表格提取)等问题。
发明内容
为了解决上述技术问题中的至少一个,本公开提供了一种PDF不完整框线表格提取方法、装置、设备及存储介质。
本公开的PDF不完整框线表格提取方法、装置、设备及存储介质通过以下技术方案实现。
根据本公开的一个方面,提供了一种PDF不完整框线表格处理方法,包括:S1、对PDF页面进行解析,解析出所述PDF页面的元素;S2、判断解析出的元素中是否至少包含水平线段元素和/或垂直线段元素,至少基于所述水平线段元素的特征判断所述PDF页面中是否包含表格;S3、如果所述PDF页面中包含表格,至少基于所述垂直线段元素的特征判断所述表格为完整框线表格或者不完整框线表格;S4、如果所述表格为不完整框线表格,则获取所述PDF页面中的所有文本块以及每个文本块的位置信息,至少基于每个所述文本块的位置信息获取所述PDF页面中的初步表格区域;以及S5、基于所述水平线段元素和/或垂直线段元素,对所述初步表格区域进行修正,获得修正表格区域。
根据本公开的至少一个实施方式的PDF不完整框线表格处理方法,步骤S2中,至少基于所述水平线段元素的特征判断所述PDF页面中是否包含表格,包括:判断所述PDF页面中是否存在水平线段元素,如果存在水平线段元素,则将水平线段元素的数量与阈值数量进行比较,如果大于阈值数量,则判断每个水平线段元素的长度是否相同,如果相同,则判定所述PDF页面中包含表格。
根据本公开的至少一个实施方式的PDF不完整框线表格处理方法,步骤S3中,至少基于所述垂直线段元素的特征判断所述表格为完整框线表格或者不完整框线表格,包括:判断所述PDF页面中是否存在垂直线段元素,如果存在垂直线段元素,则将垂直线段元素的数量与阈值数量进行比较,如果垂直线段元素的数量小于等于阈值数量,则判定所述表格为不完整框线表格,如果垂直线段元素的数量大于阈值数量且不存在左侧最外侧垂直线段元素和/或右侧最外侧垂直线段元素,则判定所述表格为不完整框线表格。
根据本公开的至少一个实施方式的PDF不完整框线表格处理方法,是否存在左侧最外侧垂直线段元素和/或右侧最外侧垂直线段元素,通过以下方法判断:将垂直线段元素的位置信息与水平线段元素的位置信息进行比较,判断是否存在左侧最外侧垂直线段元素和/或右侧最外侧垂直线段元素。
根据本公开的至少一个实施方式的PDF不完整框线表格处理方法,所述阈值数量优选为2。
根据本公开的至少一个实施方式的PDF不完整框线表格处理方法,PDF页面中的所述元素包括字符元素、线段元素和/或图像元素。
根据本公开的至少一个实施方式的PDF不完整框线表格处理方法,所述水平线段元素的特征包括数量特征、长度特征和/或位置特征。
根据本公开的至少一个实施方式的PDF不完整框线表格处理方法,所述垂直线段元素的特征包括数量特征、长度特征和/或位置特征。
根据本公开的至少一个实施方式的PDF不完整框线表格处理方法,步骤S4中,至少基于每个所述文本块的位置信息获取所述PDF页面中的初步表格区域,包括:分别获取左对齐、右对齐、居中对齐每种对齐方式的文本块集合;基于每种对齐方式的文本块集合,获取水平文本行数最多的对齐方式所对应的文本块集合;以及基于所述水平文本行数最多的对齐方式所对应的文本块集合以及该文本块集合中的文本块的位置信息,获取所述初步表格区域。
根据本公开的至少一个实施方式的PDF不完整框线表格处理方法,步骤S5中,基于所述水平线段元素和/或垂直线段元素,对所述初步表格区域进行修正,包括:基于所述垂直线段元素的位置信息对所述初步表格区域的水平宽度进行修正;以及基于所述水平线段元素的位置信息对所述初步表格区域的垂直宽度进行修正。
根据本公开的至少一个实施方式的PDF不完整框线表格处理方法,所述文本块的位置信息包括文本块的边缘坐标,所述边缘坐标包括上边缘坐标、下边缘坐标、左边缘坐标以及右边缘坐标。
根据本公开的至少一个实施方式的PDF不完整框线表格处理方法,还包括:S6、至少基于所述修正表格区域内的文本块的位置信息,识别出所述修正表格区域的行、列以及单元格。
根据本公开的至少一个实施方式的PDF不完整框线表格处理方法,还包括:S7、对所述修正表格区域中的单元格进行空白单元格处理:S71、第一列空白单元格合并:从下到上遍历第一列单元格,若单元格为非空单元格,判断其上下是否有相同数量的空白单元格,若有,则将该非空单元格与上下相同数量的空白单元格合并为一个单元格;S72、第一列所有单元格遍历结束后,若第一列仍存在空白单元格,则将其与其上的相邻单元格合并;S73、将第一列第一个单元格所在的行作为表格头部,从下到上、从左到右遍历所述表格头部中包含的单元格,若所述表格头部中的所有单元格均为非空单元格,则判断所述表格头部的每个非空单元格的上下是否有相同数量的空白单元格,若有,则将该非空单元格与上下相同数量的空白单元格合并为一个单元格,若无,则判断每个非空单元格的左右是否有相同数量的空白单元格,若有,则将该非空单元格与左右相同数量的空白单元格合并为一个单元格;以及S74、将所述修正表格区域的非表格头部区域作为表格内容区域,不对所述表格内容区域的空白单元格进行合并。
根据本公开的另一个方面,提供一种PDF不完整框线表格处理装置,包括:解析模块,所述解析模块对PDF页面进行解析,解析出所述PDF页面的元素;第一判断模块,所述第一判断模块判断解析出的元素中是否至少包含水平线段元素和/或垂直线段元素,至少基于所述水平线段元素的特征判断所述PDF页面中是否包含表格;第二判断模块,如果所述PDF页面中包含表格,所述第二判断模块至少基于所述垂直线段元素的特征判断所述表格为完整框线表格或者不完整框线表格;初步表格区域获取模块,如果所述表格为不完整框线表格,所述初步表格区域获取模块获取所述PDF页面中的所有文本块以及每个文本块的位置信息,至少基于每个所述文本块的位置信息获取所述PDF页面中的初步表格区域;以及表格区域修正模块,所述表格区域修正模块基于所述水平线段元素和/或垂直线段元素,对所述初步表格区域进行修正,获得修正表格区域。
根据本公开的至少一个实施方式的PDF不完整框线表格处理装置,所述第一判断模块至少基于所述水平线段元素的特征判断所述PDF页面中是否包含表格,包括:判断所述PDF页面中是否存在水平线段元素,如果存在水平线段元素,则将水平线段元素的数量与阈值数量进行比较,如果大于阈值数量,则判断每个水平线段元素的长度是否相同,如果相同,则判定所述PDF页面中包含表格。
根据本公开的至少一个实施方式的PDF不完整框线表格处理装置,所述第二判断模块至少基于所述垂直线段元素的特征判断所述表格为完整框线表格或者不完整框线表格,包括:判断所述PDF页面中是否存在垂直线段元素,如果存在垂直线段元素,则将垂直线段元素的数量与阈值数量进行比较,如果垂直线段元素的数量小于等于阈值数量,则判定所述表格为不完整框线表格,如果垂直线段元素的数量大于阈值数量且不存在左侧最外侧垂直线段元素和/或右侧最外侧垂直线段元素,则判定所述表格为不完整框线表格。
根据本公开的至少一个实施方式的PDF不完整框线表格处理装置,是否存在左侧最外侧垂直线段元素和/或右侧最外侧垂直线段元素,通过以下方法判断:将垂直线段元素的位置信息与水平线段元素的位置信息进行比较,判断是否存在左侧最外侧垂直线段元素和/或右侧最外侧垂直线段元素。
根据本公开的至少一个实施方式的PDF不完整框线表格处理装置,所述初步表格区域获取模块至少基于每个所述文本块的位置信息获取所述PDF页面中的初步表格区域,包括:分别获取左对齐、右对齐、居中对齐每种对齐方式的文本块集合;基于每种对齐方式的文本块集合,获取水平文本行数最多的对齐方式所对应的文本块集合;以及基于所述水平文本行数最多的对齐方式所对应的文本块集合以及该文本块集合中的文本块的位置信息,获取所述初步表格区域。
根据本公开的至少一个实施方式的PDF不完整框线表格处理装置,所述表格区域修正模块基于所述水平线段元素和/或垂直线段元素,对所述初步表格区域进行修正,包括:基于所述垂直线段元素的位置信息对所述初步表格区域的水平宽度进行修正;以及基于所述水平线段元素的位置信息对所述初步表格区域的垂直宽度进行修正。
根据本公开的至少一个实施方式的PDF不完整框线表格处理装置,还包括:识别模块,所述识别模块至少基于所述修正表格区域内的文本块的位置信息,识别出所述修正表格区域的行、列以及单元格。
根据本公开的至少一个实施方式的PDF不完整框线表格处理装置,合并模块,所述合并模块对所述修正表格区域中的单元格进行空白单元格处理:第一列空白单元格合并:从下到上遍历第一列单元格,若单元格为非空单元格,判断其上下是否有相同数量的空白单元格,若有,则将该非空单元格与上下相同数量的空白单元格合并为一个单元格;第一列所有单元格遍历结束后,若第一列仍存在空白单元格,则将其与其上的相邻单元格合并;将第一列第一个单元格所在的行作为表格头部,从下到上、从左到右遍历所述表格头部中包含的单元格,若所述表格头部中的所有单元格均为非空单元格,则判断所述表格头部的每个非空单元格的上下是否有相同数量的空白单元格,若有,则将该非空单元格与上下相同数量的空白单元格合并为一个单元格,若无,则判断每个非空单元格的左右是否有相同数量的空白单元格,若有,则将该非空单元格与左右相同数量的空白单元格合并为一个单元格;以及将所述修正表格区域的非表格头部区域作为表格内容区域,不对所述表格内容区域的空白单元格进行合并。
根据本公开的又一个方面,提供一种电子设备,包括:存储器,所述存储器存储执行指令;以及处理器,所述处理器执行所述存储器存储的执行指令,使得所述处理器执行上述任一项所述的方法。
根据本公开的再一个方面,提供一种可读存储介质,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现上述任一项所述的方法。
附图说明
附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。
图1是本公开的一个实施方式的PDF不完整框线表格处理方法的流程示意图。
图2是本公开的又一个实施方式的PDF不完整框线表格处理方法的流程示意图。
图3是本公开的又一个实施方式的PDF不完整框线表格处理方法的流程示意图。
图4是本公开的一个实施方式的PDF不完整框线表格处理装置的结构示意框图。
图5是本公开的又一个实施方式的PDF不完整框线表格处理装置的结构示意框图。
图6是本公开的又一个实施方式的PDF不完整框线表格处理装置的结构示意框图。
图7为本公开的一个实施方式的电子设备的结构示意框图。
附图标记说明
100 PDF不完整框线表格处理装置
101 解析模块
102 第一判断模块
103 第二判断模块
104 初步表格区域获取模块
105 表格区域修正模块
106 识别模块
107 合并模块
1000 通讯接口
2000 存储器
3000 处理器。
具体实施方式
下面结合附图和实施方式对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本公开的技术方案。
除非另有说明,否则示出的示例性实施方式/实施例将被理解为提供可以在实践中实施本公开的技术构思的一些方式的各种细节的示例性特征。因此,除非另有说明,否则在不脱离本公开的技术构思的情况下,各种实施方式/实施例的特征可以另外地组合、分离、互换和/或重新布置。
在附图中使用交叉影线和/或阴影通常用于使相邻部件之间的边界变得清晰。如此,除非说明,否则交叉影线或阴影的存在与否均不传达或表示对部件的具体材料、材料性质、尺寸、比例、示出的部件之间的共性和/或部件的任何其它特性、属性、性质等的任何偏好或者要求。此外,在附图中,为了清楚和/或描述性的目的,可以夸大部件的尺寸和相对尺寸。当可以不同地实施示例性实施例时,可以以不同于所描述的顺序来执行具体的工艺顺序。例如,可以基本同时执行或者以与所描述的顺序相反的顺序执行两个连续描述的工艺。此外,同样的附图标记表示同样的部件。
当一个部件被称作“在”另一部件“上”或“之上”、“连接到”或“结合到”另一部件时,该部件可以直接在所述另一部件上、直接连接到或直接结合到所述另一部件,或者可以存在中间部件。然而,当部件被称作“直接在”另一部件“上”、“直接连接到”或“直接结合到”另一部件时,不存在中间部件。为此,术语“连接”可以指物理连接、电气连接等,并且具有或不具有中间部件。
为了描述性目的,本公开可使用诸如“在……之下”、“在……下方”、“在……下”、“下”、“在……上方”、“上”、“在……之上”、“较高的”和“侧(例如,如在“侧壁”中)”等的空间相对术语,从而来描述如附图中示出的一个部件与另一(其它)部件的关系。除了附图中描绘的方位之外,空间相对术语还意图包含设备在使用、操作和/或制造中的不同方位。例如,如果附图中的设备被翻转,则被描述为“在”其它部件或特征“下方”或“之下”的部件将随后被定位为“在”所述其它部件或特征“上方”。因此,示例性术语“在……下方”可以包含“上方”和“下方”两种方位。此外,设备可被另外定位(例如,旋转90度或者在其它方位处),如此,相应地解释这里使用的空间相对描述语。
这里使用的术语是为了描述具体实施例的目的,而不意图是限制性的。如这里所使用的,除非上下文另外清楚地指出,否则单数形式“一个(种、者)”和“所述(该)”也意图包括复数形式。此外,当在本说明书中使用术语“包含”和/或“包括”以及它们的变型时,说明存在所陈述的特征、整体、步骤、操作、部件、组件和/或它们的组,但不排除存在或附加一个或更多个其它特征、整体、步骤、操作、部件、组件和/或它们的组。还要注意的是,如这里使用的,术语“基本上”、“大约”和其它类似的术语被用作近似术语而不用作程度术语,如此,它们被用来解释本领域普通技术人员将认识到的测量值、计算值和/或提供的值的固有偏差。
图1是本公开的一个实施方式的PDF不完整框线表格处理方法的流程示意图。
如图1所示,PDF不完整框线表格处理方法包括:S1、对PDF页面进行解析,解析出PDF页面的元素;S2、判断解析出的元素中是否至少包含水平线段元素和/或垂直线段元素,至少基于水平线段元素的特征判断PDF页面中是否包含表格;S3、如果PDF页面中包含表格,至少基于垂直线段元素的特征判断表格为完整框线表格或者不完整框线表格;S4、如果表格为不完整框线表格,则获取PDF页面中的所有文本块以及每个文本块的位置信息,至少基于每个文本块的位置信息获取PDF页面中的初步表格区域;以及S5、基于水平线段元素和/或垂直线段元素,对初步表格区域进行修正,获得修正表格区域。
对PDF页面的解析,示例性地,可以使用开源工具pdfminer.six提取出每一页PDF页面的布局及元素。
PDF页面中的元素包括字符元素、线段元素和/或图像元素。其中,字符元素可以包含字符的位置坐标、字体、字号、颜色等特征信息;线段元素包含位置坐标、颜色、宽度等特征信息。
其中,根据本公开的优选实施方式,根据线段元素的上、下、左、右四个位置坐标,判断线段元素是水平线段元素还是垂直线段元素:设置阈值,若上下坐标差小于阈值而左右坐标差大于阈值,则为水平线段元素;若上下坐标差大于阈值而左右坐标差小于阈值,则为垂直线段元素。
其中,水平线段元素的特征包括数量特征、长度特征和/或位置特征。垂直线段元素的特征包括数量特征、长度特征和/或位置特征。
根据本公开的优选实施方式,步骤S2中,至少基于水平线段元素的特征判断PDF页面中是否包含表格,包括:判断PDF页面中是否存在水平线段元素,如果存在水平线段元素,则将水平线段元素的数量与阈值数量进行比较,如果大于阈值数量,则判断每个水平线段元素的长度是否相同,如果相同,则判定PDF页面中包含表格。
根据本公开的优选实施方式,步骤S3中,至少基于垂直线段元素的特征判断表格为完整框线表格或者不完整框线表格,包括:判断PDF页面中是否存在垂直线段元素,如果存在垂直线段元素,则将垂直线段元素的数量与阈值数量进行比较,如果垂直线段元素的数量小于等于阈值数量,则判定表格为不完整框线表格,如果垂直线段元素的数量大于阈值数量且不存在左侧最外侧垂直线段元素和/或右侧最外侧垂直线段元素,则判定表格为不完整框线表格。
优选地,上述实施方式中的阈值数量优选为2。
通过对金融、教育、科技、法律等多个领域PDF文档中的不完整框线表格进行分析,不完整框线表格通常包含数量大于等于2的完全水平线段与其他不完全水平线段,通常不包含最外侧垂直线段或者完全不包含垂直线段,因此可以根据页面中垂直线段的数量和/或位置判断表格是否为不完整框线表格。
上述实施方式中,优选地,是否存在左侧最外侧垂直线段元素和/或右侧最外侧垂直线段元素,通过以下方法判断:将垂直线段元素的位置信息与水平线段元素的位置信息进行比较,判断是否存在左侧最外侧垂直线段元素和/或右侧最外侧垂直线段元素。
根据本公开的优选实施方式,步骤S4中,至少基于每个文本块的位置信息获取PDF页面中的初步表格区域,包括:分别获取左对齐、右对齐、居中对齐每种对齐方式的文本块集合;基于每种对齐方式的文本块集合,获取水平文本行数最多的对齐方式所对应的文本块集合;以及基于水平文本行数最多的对齐方式所对应的文本块集合以及该文本块集合中的文本块的位置信息,获取初步表格区域。
上述实施方式中,文本块的位置信息包括文本块的边缘坐标,边缘坐标包括上边缘坐标、下边缘坐标、左边缘坐标以及右边缘坐标。
关于文本块以及文本块的位置信息的获取,优选地,通过以下方法获取:利用pdfminer.six提取出按照PDF文档阅读顺序排列的字符元素(文字、标点符号等)以及分隔符(如空格、换行符等)。按顺序依次遍历,若为字符元素,则进行文本块合并,若为分隔符,则当前文本块合并结束,从下一个字符元素开始新一轮的文本块合并,直到页面中所有元素遍历完成,得到页面中所有的文本块及文本块的位置信息(文本块的上边缘坐标、下边缘坐标、左边缘坐标、右边缘坐标)。
根据本公开的优选实施方式,步骤S5中,基于水平线段元素和/或垂直线段元素,对初步表格区域进行修正,包括:基于垂直线段元素的位置信息对初步表格区域的水平宽度进行修正;以及基于水平线段元素的位置信息对初步表格区域的垂直宽度进行修正。
在获取初步表格区域之后,利用不完整框线表格通常包含上下两个水平边界这一特征,利用PDF页面中的水平线段,对表格的垂直区域进行限制,可以降低将其他文本检测到表格中的错误率。
示例性地,对于每一个检测出的初步表格区域,将页面中的水平线段按照上下边坐标分为三部分:初步表格区域上方、初步表格区域中、初步表格区域下方。
若初步表格区域上方存在水平线段,选择最靠近初步表格区域上边界的水平线段的上坐标,扩充为初步表格区域的上边界;若初步表格区域上方不存在水平线段,则选择初步表格区域中最上面的水平线段的上坐标,作为初步表格区域的上边界;若初步表格区域下方存在水平线段,选择最靠近初步表格区域下边界的水平线段的下坐标,扩充为初步表格区域的下边界;若初步表格区域下方不存在水平线段,则选择初步表格区域中最下面的水平线段的上坐标,作为初步表格区域的下边界。
在更新初步表格区域的上下边界后,选择表格上下边界水平线段左边界与文本左边界中的较小值作为表格区域的左边界,选择表格上下边界水平线段右边界与文本右边界中的较大值作为表格区域的右边界,从而获取了修正表格区域。
图2是本公开的又一个实施方式的PDF不完整框线表格处理方法的流程示意图。
如图2所示,PDF不完整框线表格处理方法包括:S1、对PDF页面进行解析,解析出PDF页面的元素;S2、判断解析出的元素中是否至少包含水平线段元素和/或垂直线段元素,至少基于水平线段元素的特征判断PDF页面中是否包含表格;S3、如果PDF页面中包含表格,至少基于垂直线段元素的特征判断表格为完整框线表格或者不完整框线表格;S4、如果表格为不完整框线表格,则获取PDF页面中的所有文本块以及每个文本块的位置信息,至少基于每个文本块的位置信息获取PDF页面中的初步表格区域;S5、基于水平线段元素和/或垂直线段元素,对初步表格区域进行修正,获得修正表格区域;以及S6、至少基于修正表格区域内的文本块的位置信息,识别出修正表格区域的行、列以及单元格。
图3是本公开的又一个实施方式的PDF不完整框线表格处理方法的流程示意图。
如图3所示,PDF不完整框线表格处理方法包括:S1、对PDF页面进行解析,解析出PDF页面的元素;S2、判断解析出的元素中是否至少包含水平线段元素和/或垂直线段元素,至少基于水平线段元素的特征判断PDF页面中是否包含表格;S3、如果PDF页面中包含表格,至少基于垂直线段元素的特征判断表格为完整框线表格或者不完整框线表格;S4、如果表格为不完整框线表格,则获取PDF页面中的所有文本块以及每个文本块的位置信息,至少基于每个文本块的位置信息获取PDF页面中的初步表格区域;S5、基于水平线段元素和/或垂直线段元素,对初步表格区域进行修正,获得修正表格区域;S6、至少基于修正表格区域内的文本块的位置信息,识别出修正表格区域的行、列以及单元格;以及S7、对修正表格区域中的单元格进行空白单元格处理。
根据本公开的优选实施方式,对修正表格区域中的单元格进行空白单元格处理包括:S71、第一列空白单元格合并:从下到上遍历第一列单元格,若单元格为非空单元格,判断其上下是否有相同数量的空白单元格,若有,则将该非空单元格与上下相同数量的空白单元格合并为一个单元格;S72、第一列所有单元格遍历结束后,若第一列仍存在空白单元格,则将其与其上的相邻单元格合并;S73、将第一列第一个单元格所在的行作为表格头部,从下到上、从左到右遍历表格头部中包含的单元格,若表格头部中的所有单元格均为非空单元格,则判断表格头部的每个非空单元格的上下是否有相同数量的空白单元格,若有,则将该非空单元格与上下相同数量的空白单元格合并为一个单元格,若无,则判断每个非空单元格的左右是否有相同数量的空白单元格,若有,则将该非空单元格与左右相同数量的空白单元格合并为一个单元格;以及S74、将修正表格区域的非表格头部区域作为表格内容区域,不对表格内容区域的空白单元格进行合并。
图4是本公开的一个实施方式的PDF不完整框线表格处理装置的结构示意框图。
如图4所示,PDF不完整框线表格处理装置100,包括:解析模块101,解析模块101对PDF页面进行解析,解析出PDF页面的元素;第一判断模块102,第一判断模块102判断解析出的元素中是否至少包含水平线段元素和/或垂直线段元素,至少基于水平线段元素的特征判断PDF页面中是否包含表格;第二判断模块103,如果PDF页面中包含表格,第二判断模块103至少基于垂直线段元素的特征判断表格为完整框线表格或者不完整框线表格;初步表格区域获取模块104,如果表格为不完整框线表格,初步表格区域获取模块104获取PDF页面中的所有文本块以及每个文本块的位置信息,至少基于每个文本块的位置信息获取PDF页面中的初步表格区域;以及表格区域修正模块105,表格区域修正模块105基于水平线段元素和/或垂直线段元素,对初步表格区域进行修正,获得修正表格区域。
根据本公开的优选实施方式,第一判断模块102至少基于水平线段元素的特征判断PDF页面中是否包含表格,包括:判断PDF页面中是否存在水平线段元素,如果存在水平线段元素,则将水平线段元素的数量与阈值数量进行比较,如果大于阈值数量,则判断每个水平线段元素的长度是否相同,如果相同,则判定PDF页面中包含表格。
根据本公开的优选实施方式,第二判断模块103至少基于垂直线段元素的特征判断表格为完整框线表格或者不完整框线表格,包括:判断PDF页面中是否存在垂直线段元素,如果存在垂直线段元素,则将垂直线段元素的数量与阈值数量进行比较,如果垂直线段元素的数量小于等于阈值数量,则判定表格为不完整框线表格,如果垂直线段元素的数量大于阈值数量且不存在左侧最外侧垂直线段元素和/或右侧最外侧垂直线段元素,则判定表格为不完整框线表格。
上述实施方式中,优选地,是否存在左侧最外侧垂直线段元素和/或右侧最外侧垂直线段元素,通过以下方法判断:将垂直线段元素的位置信息与水平线段元素的位置信息进行比较,判断是否存在左侧最外侧垂直线段元素和/或右侧最外侧垂直线段元素。
根据本公开的优选实施方式,初步表格区域获取模块104至少基于每个文本块的位置信息获取PDF页面中的初步表格区域,包括:分别获取左对齐、右对齐、居中对齐每种对齐方式的文本块集合;基于每种对齐方式的文本块集合,获取水平文本行数最多的对齐方式所对应的文本块集合;以及基于水平文本行数最多的对齐方式所对应的文本块集合以及该文本块集合中的文本块的位置信息,获取初步表格区域。
根据本公开的优选实施方式,表格区域修正模块105基于水平线段元素和/或垂直线段元素,对初步表格区域进行修正,包括:基于垂直线段元素的位置信息对初步表格区域的水平宽度进行修正;以及基于水平线段元素的位置信息对初步表格区域的垂直宽度进行修正。
图5是本公开的一个实施方式的PDF不完整框线表格处理装置的结构示意框图。
如图5所示,PDF不完整框线表格处理装置100,包括:解析模块101,解析模块101对PDF页面进行解析,解析出PDF页面的元素;第一判断模块102,第一判断模块102判断解析出的元素中是否至少包含水平线段元素和/或垂直线段元素,至少基于水平线段元素的特征判断PDF页面中是否包含表格;第二判断模块103,如果PDF页面中包含表格,第二判断模块103至少基于垂直线段元素的特征判断表格为完整框线表格或者不完整框线表格;初步表格区域获取模块104,如果表格为不完整框线表格,初步表格区域获取模块104获取PDF页面中的所有文本块以及每个文本块的位置信息,至少基于每个文本块的位置信息获取PDF页面中的初步表格区域;表格区域修正模块105,表格区域修正模块105基于水平线段元素和/或垂直线段元素,对初步表格区域进行修正,获得修正表格区域;以及识别模块106,识别模块106至少基于修正表格区域内的文本块的位置信息,识别出修正表格区域的行、列以及单元格。
图6是本公开的一个实施方式的PDF不完整框线表格处理装置的结构示意框图。
如图6析模块101对PDF页面进行解析,解析出PDF页面的元素;第一判断模块102,第一判断模块102判断解析出的元素中是否至少包含水平线段元素和/或垂直线段元素,至少基于水平线段元素的特征判断PDF页面中是否包含表格;第二判断模块103,如果PDF页面中包含表格,第二判断模块103至少基于垂直线段元素的特征判断表格为完整框线表格或者不完整框线表格;初步表格区域获取模块104,如果表格为不完整框线表格,初步表格区域获取模块104获取PDF页面中的所有文本块以及每个文本块的位置信息,至少基于每个文本块的位置信息获取PDF页面中的初步表格区域;表格区域修正模块105,表格区域修正模块105基于水平线段元素和/或垂直线段元素,对初步表格区域进行修正,获得修正表格区域;识别模块106,识别模块106至少基于修正表格区域内的文本块的位置信息,识别出修正表格区域的行、列以及单元格;以及合并模块107,合并模块107对修正表格区域中的单元格进行空白单元格处理。
优选地,合并模块107对修正表格区域中的单元格进行空白单元格处理包括:第一列空白单元格合并:从下到上遍历第一列单元格,若单元格为非空单元格,判断其上下是否有相同数量的空白单元格,若有,则将该非空单元格与上下相同数量的空白单元格合并为一个单元格;第一列所有单元格遍历结束后,若第一列仍存在空白单元格,则将其与其上的相邻单元格合并;将第一列第一个单元格所在的行作为表格头部,从下到上、从左到右遍历表格头部中包含的单元格,若表格头部中的所有单元格均为非空单元格,则判断表格头部的每个非空单元格的上下是否有相同数量的空白单元格,若有,则将该非空单元格与上下相同数量的空白单元格合并为一个单元格,若无,则判断每个非空单元格的左右是否有相同数量的空白单元格,若有,则将该非空单元格与左右相同数量的空白单元格合并为一个单元格;以及将修正表格区域的非表格头部区域作为表格内容区域,不对表格内容区域的空白单元格进行合并。
本公开还提供一种电子设备,如图7所示,该设备包括:通信接口1000、存储器2000和处理器3000。通信接口1000用于与外界设备进行通信,进行数据交互传输。存储器2000内存储有可在处理器3000上运行的计算机程序。处理器3000执行计算机程序时实现上述实施方式中方法。存储器2000和处理器3000的数量可以为一个或多个。
存储器2000可以包括高速RAM存储器,也可以还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果通信接口1000、存储器2000及处理器3000独立实现,则通信接口1000、存储器2000及处理器3000可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,PeripheralComponent)总线或扩展工业标准体系结构(EISA,Extended Industry StandardComponent)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口1000、存储器2000、及处理器3000集成在一块芯片上,则通信接口1000、存储器2000、及处理器3000可以通过内部接口完成相互间的通信。
在本说明书的描述中,参考术语“一个实施例/方式”、“一些实施例/方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例/方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例/方式或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例/方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例/方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例/方式或示例以及不同实施例/方式或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
本领域的技术人员应当理解,上述实施方式仅仅是为了清楚地说明本公开,而并非是对本公开的范围进行限定。对于所属领域的技术人员而言,在上述公开的基础上还可以做出其它变化或变型,并且这些变化或变型仍处于本公开的范围内。

Claims (10)

1.一种PDF不完整框线表格处理方法,其特征在于,包括:
S1、对PDF页面进行解析,解析出所述PDF页面的元素;
S2、判断解析出的元素中是否至少包含水平线段元素和/或垂直线段元素,至少基于所述水平线段元素的特征判断所述PDF页面中是否包含表格;
S3、如果所述PDF页面中包含表格,至少基于所述垂直线段元素的特征判断所述表格为完整框线表格或者不完整框线表格;
S4、如果所述表格为不完整框线表格,则获取所述PDF页面中的所有文本块以及每个文本块的位置信息,至少基于每个所述文本块的位置信息获取所述PDF页面中的初步表格区域;以及
S5、基于所述水平线段元素和/或垂直线段元素,对所述初步表格区域进行修正,获得修正表格区域。
2.根据权利要求1所述的PDF不完整框线表格处理方法,其特征在于,步骤S2中,至少基于所述水平线段元素的特征判断所述PDF页面中是否包含表格,包括:
判断所述PDF页面中是否存在水平线段元素,如果存在水平线段元素,则将水平线段元素的数量与阈值数量进行比较,如果大于阈值数量,则判断每个水平线段元素的长度是否相同,如果相同,则判定所述PDF页面中包含表格。
3.根据权利要求2所述的PDF不完整框线表格处理方法,其特征在于,步骤S3中,至少基于所述垂直线段元素的特征判断所述表格为完整框线表格或者不完整框线表格,包括:
判断所述PDF页面中是否存在垂直线段元素,如果存在垂直线段元素,则将垂直线段元素的数量与阈值数量进行比较,如果垂直线段元素的数量小于等于阈值数量,则判定所述表格为不完整框线表格,如果垂直线段元素的数量大于阈值数量且不存在左侧最外侧垂直线段元素和/或右侧最外侧垂直线段元素,则判定所述表格为不完整框线表格。
4.根据权利要求3所述的PDF不完整框线表格处理方法,其特征在于,是否存在左侧最外侧垂直线段元素和/或右侧最外侧垂直线段元素,通过以下方法判断:
将垂直线段元素的位置信息与水平线段元素的位置信息进行比较,判断是否存在左侧最外侧垂直线段元素和/或右侧最外侧垂直线段元素。
5.根据权利要求2或3所述的PDF不完整框线表格处理方法,其特征在于,所述阈值数量优选为2。
6.根据权利要求1至5中任一项所述的PDF不完整框线表格处理方法,其特征在于,PDF页面中的所述元素包括字符元素、线段元素和/或图像元素。
7.根据权利要求1至5中任一项所述的PDF不完整框线表格处理方法,其特征在于,所述水平线段元素的特征包括数量特征、长度特征和/或位置特征。
8.一种PDF不完整框线表格处理装置,其特征在于,包括:
解析模块,所述解析模块对PDF页面进行解析,解析出所述PDF页面的元素;
第一判断模块,所述第一判断模块判断解析出的元素中是否至少包含水平线段元素和/或垂直线段元素,至少基于所述水平线段元素的特征判断所述PDF页面中是否包含表格;
第二判断模块,如果所述PDF页面中包含表格,所述第二判断模块至少基于所述垂直线段元素的特征判断所述表格为完整框线表格或者不完整框线表格;
初步表格区域获取模块,如果所述表格为不完整框线表格,所述初步表格区域获取模块获取所述PDF页面中的所有文本块以及每个文本块的位置信息,至少基于每个所述文本块的位置信息获取所述PDF页面中的初步表格区域;以及
表格区域修正模块,所述表格区域修正模块基于所述水平线段元素和/或垂直线段元素,对所述初步表格区域进行修正,获得修正表格区域。
9.一种电子设备,其特征在于,包括:
存储器,所述存储器存储执行指令;以及
处理器,所述处理器执行所述存储器存储的执行指令,使得所述处理器执行权利要求1至7中任一项所述的方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现如权利要求1至7中任一项所述的方法。
CN202011073584.7A 2020-10-09 2020-10-09 Pdf不完整框线表格提取方法、装置、设备及存储介质 Active CN112380812B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011073584.7A CN112380812B (zh) 2020-10-09 2020-10-09 Pdf不完整框线表格提取方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011073584.7A CN112380812B (zh) 2020-10-09 2020-10-09 Pdf不完整框线表格提取方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112380812A true CN112380812A (zh) 2021-02-19
CN112380812B CN112380812B (zh) 2022-02-22

Family

ID=74581069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011073584.7A Active CN112380812B (zh) 2020-10-09 2020-10-09 Pdf不完整框线表格提取方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112380812B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112906695A (zh) * 2021-04-14 2021-06-04 数库(上海)科技有限公司 适配多类ocr识别接口的表格识别方法及相关设备
CN114022888A (zh) * 2022-01-06 2022-02-08 上海朝阳永续信息技术股份有限公司 用于识别pdf表格的方法、设备和介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130191715A1 (en) * 2012-01-23 2013-07-25 Microsoft Corporation Borderless Table Detection Engine
US20150093021A1 (en) * 2013-09-29 2015-04-02 Founder Apabi Technology Limited Table recognizing method and table recognizing system
CN105589841A (zh) * 2016-01-15 2016-05-18 同方知网(北京)技术有限公司 一种pdf文档表格识别的方法
CN108446264A (zh) * 2018-03-26 2018-08-24 阿博茨德(北京)科技有限公司 Pdf文档中的表格矢量解析方法及装置
CN108470021A (zh) * 2018-03-26 2018-08-31 阿博茨德(北京)科技有限公司 Pdf文档中表格的定位方法及装置
CN109635268A (zh) * 2018-12-29 2019-04-16 南京吾道知信信息技术有限公司 Pdf文件中表格信息的提取方法
CN110347994A (zh) * 2019-07-12 2019-10-18 北京香侬慧语科技有限责任公司 一种表格处理方法和装置
CN110413962A (zh) * 2019-06-28 2019-11-05 南京智录信息科技有限公司 文档图像中的无边框表格解析技术
CN110472208A (zh) * 2019-06-26 2019-11-19 上海恒生聚源数据服务有限公司 Pdf文档中表格解析的方法、系统、存储介质及电子设备
CN110532968A (zh) * 2019-09-02 2019-12-03 苏州美能华智能科技有限公司 表格识别方法、装置和存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130191715A1 (en) * 2012-01-23 2013-07-25 Microsoft Corporation Borderless Table Detection Engine
CN104094282A (zh) * 2012-01-23 2014-10-08 微软公司 无边框表格检测引擎
US20150093021A1 (en) * 2013-09-29 2015-04-02 Founder Apabi Technology Limited Table recognizing method and table recognizing system
CN104517112A (zh) * 2013-09-29 2015-04-15 北大方正集团有限公司 一种表格识别方法与系统
CN105589841A (zh) * 2016-01-15 2016-05-18 同方知网(北京)技术有限公司 一种pdf文档表格识别的方法
CN108446264A (zh) * 2018-03-26 2018-08-24 阿博茨德(北京)科技有限公司 Pdf文档中的表格矢量解析方法及装置
CN108470021A (zh) * 2018-03-26 2018-08-31 阿博茨德(北京)科技有限公司 Pdf文档中表格的定位方法及装置
CN109635268A (zh) * 2018-12-29 2019-04-16 南京吾道知信信息技术有限公司 Pdf文件中表格信息的提取方法
CN110472208A (zh) * 2019-06-26 2019-11-19 上海恒生聚源数据服务有限公司 Pdf文档中表格解析的方法、系统、存储介质及电子设备
CN110413962A (zh) * 2019-06-28 2019-11-05 南京智录信息科技有限公司 文档图像中的无边框表格解析技术
CN110347994A (zh) * 2019-07-12 2019-10-18 北京香侬慧语科技有限责任公司 一种表格处理方法和装置
CN110532968A (zh) * 2019-09-02 2019-12-03 苏州美能华智能科技有限公司 表格识别方法、装置和存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112906695A (zh) * 2021-04-14 2021-06-04 数库(上海)科技有限公司 适配多类ocr识别接口的表格识别方法及相关设备
CN114022888A (zh) * 2022-01-06 2022-02-08 上海朝阳永续信息技术股份有限公司 用于识别pdf表格的方法、设备和介质
CN114022888B (zh) * 2022-01-06 2022-04-08 上海朝阳永续信息技术股份有限公司 用于识别pdf表格的方法、设备和介质

Also Published As

Publication number Publication date
CN112380812B (zh) 2022-02-22

Similar Documents

Publication Publication Date Title
CN110390269B (zh) Pdf文档表格提取方法、装置、设备及计算机可读存储介质
CN108470021B (zh) Pdf文档中表格的定位方法及装置
CN108171297B (zh) 一种答题卡识别方法
US8645819B2 (en) Detection and extraction of elements constituting images in unstructured document files
CN112380812B (zh) Pdf不完整框线表格提取方法、装置、设备及存储介质
CN111797630B (zh) 一种面向pdf格式论文的生物医学实体识别方法
CN110659527B (zh) 电子表单中的表格检测
CN106709032A (zh) 抽取电子表格文档中结构化信息的方法及装置
CN112380824B (zh) 自动识别分栏的pdf文档处理方法、装置、设备及存储介质
CN110765739B (zh) 一种从pdf文档中抽取表格数据和篇章结构的方法
CN110321837B (zh) 一种试题得分的识别方法、装置、终端及存储介质
CN113343815B (zh) 一种pdf等版式文档中识别表格的方法
CN112597773A (zh) 文档结构化方法、系统、终端及介质
CN112069991A (zh) 一种pdf的表格信息提取方法及相关装置
CN114821612B (zh) 一种证券期货场景下pdf文档的信息抽取方法和系统
US8787702B1 (en) Methods and apparatus for determining and/or modifying image orientation
CN111507230A (zh) 一种文档和表格数据的识别和提取方法及系统
CN114663897A (zh) 表格提取方法与表格提取系统
CN113610068A (zh) 基于试卷图像的试题拆解方法、系统、存储介质及设备
CN112084103B (zh) 界面测试方法、装置、设备和介质
CN112100978B (zh) 基于电子书的排版处理方法、电子设备及存储介质
CN115983198A (zh) 从pdf文档中提取页眉或者页脚的方法、装置和存储介质
CN113868411A (zh) 合同比对方法、装置、存储介质及计算机设备
CN112686253A (zh) 一种用于电子白板的屏幕文字提取系统及方法
CN114118010A (zh) 一种文件转换方法、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Zhou Yu

Inventor before: Zhou Yu

Inventor before: Li Xiaoqing