CN109446487A - 一种解析便携式文档格式文档表格的方法及装置 - Google Patents

一种解析便携式文档格式文档表格的方法及装置 Download PDF

Info

Publication number
CN109446487A
CN109446487A CN201811295745.XA CN201811295745A CN109446487A CN 109446487 A CN109446487 A CN 109446487A CN 201811295745 A CN201811295745 A CN 201811295745A CN 109446487 A CN109446487 A CN 109446487A
Authority
CN
China
Prior art keywords
horizontal line
line section
cell
pdf
distance
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.)
Pending
Application number
CN201811295745.XA
Other languages
English (en)
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.)
China Science and Technology (Beijing) Co., Ltd.
Original Assignee
Beijing Shenzhou Taiyue Software 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 Shenzhou Taiyue Software Co Ltd filed Critical Beijing Shenzhou Taiyue Software Co Ltd
Priority to CN201811295745.XA priority Critical patent/CN109446487A/zh
Publication of CN109446487A publication Critical patent/CN109446487A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • 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/151Transformation
    • 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/183Tabulation, i.e. one-dimensional positioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供了一种解析便携式文档格式文档表格的方法及装置,该方法包括:确定PDF文档中包含有表格的PDF页面;将所述PDF页面转换为图片;识别所述图片中的表格包含的各单元格;确定所述单元格在所述PDF页面中的坐标信息;依据所述单元格的坐标信息识别所述单元格中的数据。可以有效提升数据的利用效率。

Description

一种解析便携式文档格式文档表格的方法及装置
技术领域
本申请涉及数据识别技术领域,具体而言,涉及一种解析便携式文档格式(PDF,Portable Document Format)文档表格的方法及装置。
背景技术
PDF是一种独立于硬件以及应用程序的电子文档格式,具有跨平台、安全等优点,已成为使用最为广泛的电子文档格式之一,如今,大量的企业和机构采用PDF格式存储文档资料。
随着PDF格式文档的广泛使用,大量有价值的数据以PDF文档表格的形式进行存储和呈现。其中,对于PDF文档中的数据,例如,文本和字符,可以利用一些算法解析出存储的PDF文档中的数据,从而可以对解析得到的数据进行再利用,提升数据的利用效率。但对于PDF文档的表格中包含的数据,由于存储的PDF文档中未记录和存储有表格的位置信息,因而,如何解析表格中包含的数据以提升数据的利用效率、增强数据的利用价值,是当前的一技术难点。
发明内容
有鉴于此,本申请的目的在于提供一种解析便携式文档格式文档表格的方法及装置,提升数据的利用效率。
第一方面,本申请实施例提供了一种解析便携式文档格式文档表格的方法,该方法包括:
确定PDF文档中包含有表格的PDF页面;
将所述PDF页面转换为图片;
识别所述图片中的表格包含的各单元格;
确定所述单元格在所述PDF页面中的坐标信息;
依据所述单元格的坐标信息识别所述单元格中的数据。
可选地,所述确定PDF文档中包含有表格的PDF页面,包括:
利用Tabula提取PDF文档中当前页面中包含的横线段和竖线段;
如果提取的一横线段至少与两条竖线段相交,确定所述当前页面为包含有表格的PDF页面。
可选地,所述方法还包括:
存储提取的横线段的坐标信息和竖线段的坐标信息。
可选地,所述识别所述图片中的表格包含的各单元格,包括:
利用直线段检测器LSD直线识别算法从所述图片中识别直线段;
对识别的直线段进行去重处理;
依据去重处理得到的直线段,确定表格包含的各单元格。
可选地,所述对识别的直线段进行去重处理,包括:
在识别得到的横线段中,计算两条横线段之间的距离,如果计算得到的距离小于预先设置的横线段距离阈值,融合该两条横线段,得到融合横线段;或者,删除其中一条横线段;
在识别得到的竖线段中,计算两条竖线段之间的距离,如果计算得到的距离小于预先设置的竖线段距离阈值,融合该两条竖线段,得到融合竖线段;或者,删除其中一条竖线段。
可选地,所述计算两条横线段之间的距离,如果计算得到的距离小于预先设置的横线段距离阈值,融合该两条横线段,得到融合横线段,包括:
按照横线段的纵坐标,从小到大进行排序;
从排序的第一条横线段开始,依次获取相邻的两条横线段在竖直方向的最大距离;
若确定所述最大距离小于设定的横线段距离阈值,获取所述相邻的两条横线段的纵坐标的均值,以及,所述相邻的两条横线段的最小横坐标和最大横坐标;
删除所述相邻的两条横线段,依据所述纵坐标的均值、最小横坐标和最大横坐标构建新横线段;
获取所述新横线段以及与所述新横线段相邻的横线段在竖直方向的最大距离并进行比较,直至排序的最后一条横线段。
可选地,计算两条横线段之间的距离,如果计算得到的距离小于预先设置的横线段距离阈值,删除其中一条横线段,包括:
按照横线段的纵坐标,从小到大进行排序;
从排序的第一条横线段开始,依次获取相邻的两条横线段在竖直方向的最大距离;
若所述最大距离小于设定的横线段距离阈值,分别获取所述相邻的两条横线段的坐标信息;
依据所述相邻的两条横线段的坐标信息以及存储的横线段的坐标信息,计算所述相邻的两条横线段分别与存储的横线段的距离,在所述相邻的两条横线段中,保留最小距离对应的横线段,删除另一横线段。
可选地,所述依据去重处理得到的直线段,确定表格包含的各单元格,包括:
依据相交的横线段和竖线段,确定出表格的左上角;
根据最左边竖线段和最上面横线段划分出表格区域,从最上面横线段开始,遍历所有横线段,确定未合并的行单元格以及上下合并的行单元格,分别确定未合并的行单元格以及上下合并的行单元格的起点横坐标和终点横坐标;
从最左边竖线段开始,遍历所有竖线段,确定未合并的列单元格以及左右合并的列单元格,分别确定未合并的列单元格以及左右合并的列单元格的起点纵坐标和终点纵坐标;
依据行单元格的起点横坐标和终点横坐标以及列单元格的起点纵坐标和终点纵坐标,确定所述表格内各单元格坐标。
可选地,所述确定所述单元格在所述PDF页面中的坐标信息,包括:
确定组成所述单元格的四条直线段的坐标信息;
针对确定的每一直线段,计算该直线段与存储的对应直线段的距离,获取距离最小的存储的直线段的坐标信息,作为该直线段在所述PDF页面中的坐标信息。
第二方面,本申请实施例提供了一种解析便携式文档格式文档表格的装置,该装置包括:
表格确定模块,用于确定PDF文档中包含有表格的PDF页面;
变换模块,用于将所述PDF页面转换为图片;
单元格识别模块,用于识别所述图片中的表格包含的各单元格;
单元格坐标信息确定模块,用于确定所述单元格在所述PDF页面中的坐标信息;
数据获取模块,用于依据所述单元格的坐标信息识别所述单元格中的数据。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的方法的步骤。
本申请实施例提供的一种解析便携式文档格式文档表格的方法及装置,通过确定PDF文档中包含有表格的PDF页面;将所述PDF页面转换为图片;识别所述图片中的表格包含的各单元格;确定所述单元格在所述PDF页面中的坐标信息;依据所述单元格的坐标信息识别所述单元格中的数据。这样,能够实现解析PDF文档表格中包含的数据,从而有效提升数据的利用效率,增强数据的利用价值。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的解析便携式文档格式文档表格的方法流程示意图;
图2为本申请实施例提供的解析便携式文档格式文档表格的装置结构示意图;
图3为本申请实施例提供的一种计算机设备300的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的解析便携式文档格式文档表格的方法流程示意图。如图1所示,该方法包括:
步骤101,确定PDF文档中包含有表格的PDF页面;
本申请实施例中,对于PDF文档中未包含有表格的页面,可以直接利用预设的算法解析出该页面中的数据,因而,需要首先确定PDF文档中是否包含有表格,而表格由具有一定长度的横线段和竖线段组成。因而,作为一可选实施例,确定PDF文档中包含有表格的PDF页面,包括:
A11,利用Tabula提取PDF文档中当前页面中包含的横线段和竖线段;
本申请实施例中,利用Tabula,可以从PDF文档中提取到直线段,例如,横线段和竖线段,找到当前页面中所有的横线段和竖线段后,从而可以依据找到的横线段和竖线段,判断是否组成表格。关于利用Tabula提取PDF文档中包含的直线段,具体可参见相关技术文献,在此略去详述。
A12,如果提取的一横线段至少与两条竖线段相交,确定所述当前页面为包含有表格的PDF页面。
本申请实施例中,作为一可选实施例,如果找到的横线段中,有一横线段与三条竖线段的顶点相交,或者,一条横线段与两条竖线段相交,确定当前页面为包含有表格的PDF页面。
本申请实施例中,作为另一可选实施例,如果找到的直线段中,横线段的数量为零、或,竖线段的数量为零、或,横线段和竖线段均为一条及以上,但横线段与竖线段没有相交,则确定当前页面不包含有表格,除前述情形之外的情形,确定当前页面包含有表格。
本申请实施例中,由于PDF文档中,基于对比及其它的需求,一些表格填充有阴影,利用Tabula从PDF文档中提取直线段,在对阴影表格进行提取时,也会提取出部分直线。因而,若依据Tabula提取得到的直线段进行表格识别后,再基于提取的直线段进行表格中各单元格的识别时,会导致识别的单元格精确性较差,例如,可能将阴影表格中的一单元格识别为多个单元格,从而依据识别的单元格进行单元格内数据的识别时,将导致识别的数据不完整,从而影响数据的利用。因而,本申请实施例中,利用Tabula从PDF文档中提取直线段后,只利用提取的直线段进行表格的识别,以确定当前页面中是否包含有表格,如果当前页面中包含有表格,则对该当前页面作进一步的后续处理。
本申请实施例中,还可以记录提取的直线段的坐标信息,以便于后续利用。因而,作为一可选实施例,该方法还包括:
存储提取的横线段的坐标信息和竖线段的坐标信息。
本申请实施例中,作为一可选实施例,横线段的坐标信息包括:横线段起点坐标信息和横线段终点坐标信息。
步骤102,将所述PDF页面转换为图片;
本申请实施例中,图片的格式包括但不限于:联合图片组(JPG,Joint PictureGroup)、联合图片图像专家组(JPEG,Joint Photo graphic Experts Group)、可移植网络图形格式(PNG,Portable Network Graphic)、图像互换格式(GIF,Graphics InterchangeFormat)等。
本申请实施例中,将前述确定包含表格的页面转换为图片。作为一可选实施例,为了后续流程中能够更清晰地识别出转换得到的图片中的直线段,还可以设置转换得到的图片的缩放倍数,例如,将PDF页面转换为图片时,图片的尺寸为该PDF页面尺寸的三倍。
步骤103,识别所述图片中的表格包含的各单元格;
本申请实施例中,作为一可选实施例,识别所述图片中的表格包含的各单元格,包括:
B11,利用直线段检测器(LSD,Line Segment Detector)直线识别算法从所述图片中识别直线段;
本申请实施例中,利用开源的LSD直线识别算法,可以识别出图片中包含的直线段。
B12,对识别的直线段进行去重处理;
本申请实施例中,在对图片中的直线进行提取时,由于PDF页面转换至图片的坐标变换,可能存在转换精度的问题,使得坐标变换引起累积误差,导致提取的直线段精确度不高,因而,可以对识别的直线段进行去重处理。作为一可选实施例,对识别的直线段进行去重处理,包括:
在识别得到的横线段中,计算两条横线段之间的距离,如果计算得到的距离小于预先设置的横线段距离阈值,融合该两条横线段,得到融合横线段;或者,删除其中一条横线段;
在识别得到的竖线段中,计算两条竖线段之间的距离,如果计算得到的距离小于预先设置的竖线段距离阈值,融合该两条竖线段,得到融合竖线段;或者,删除其中一条竖线段。
本申请实施例中,作为一可选实施例,计算两条横线段之间的距离,如果计算得到的距离小于预先设置的横线段距离阈值,融合该两条横线段,得到融合横线段,包括:
B121,按照横线段的纵坐标,从小到大进行排序;
本申请实施例中,横线段的方向(水平方向)为横坐标方向,垂直横线段的方向(竖直方向)为纵坐标方向。对于横线段,可以认为横线段上各点的纵坐标相等,因而,可以取该横线段上中点的纵坐标作为该横线段的纵坐标。
B122,从排序的第一条横线段开始,依次获取相邻的两条横线段在竖直方向的最大距离;
本申请实施例中,排序的第一条横线段和第二条横线段构成相邻的两条横线段,先比较排序的第一条横线段和第二条横线段,获取其在竖直方向的最大距离。当然,实际应用中,也可以是获取相邻的两条横线段的中点在竖直方向的距离,本申请实施例对此不作限定。
B123,若确定所述最大距离小于设定的横线段距离阈值,获取所述相邻的两条横线段的纵坐标的均值,以及,所述相邻的两条横线段的最小横坐标和最大横坐标;
本申请实施例中,横线段距离阈值可依据实际情况确定,例如,可以设置为PDF文档中字符高度的0.4倍或0.2倍或其他。若相邻的两条横线段在竖直方向的最大距离小于设定的横线段距离阈值,表明该相邻的两条横线段实质上为一条横线段,即可以对相邻的两条横线段进行融合处理。
本申请实施例中,若确定相邻的两条横线段在竖直方向的最大距离不小于设定的横线段距离阈值,则表明该相邻的两条横线段为相互独立的横线段,不需要执行去重处理,保留该相邻的两条横线段,再比较排序的第二条横线段和第三条横线段。
B124,删除所述相邻的两条横线段,依据所述纵坐标的均值、最小横坐标和最大横坐标构建新横线段;
本申请实施例中,将相邻的两条横线段的四个端点(每一横线段对应一起点和终点两个端点)中,横坐标最小的端点,作为新横线段的一个端点,将相邻的两条横线段的四个端点中,横坐标最大的端点,作为新横线段的另一个端点,新横线段的两个端点的纵坐标(y坐标)相同,为相邻的两条横线段的纵坐标(y坐标)的均值,从而构成新的横线段,取代该相邻的两条横线段。
B125,获取所述新横线段以及与所述新横线段相邻的横线段在竖直方向的最大距离并进行比较,直至排序的最后一条横线段。
本申请实施例中,如果排序的第一条横线段和第二条横线段通过最大距离的比较,融合为新横线段,则继续比较新横线段与排序的第三条横线段,如果需要进行融合,则依据上述步骤进行融合处理,直至完成所有横线段的比较。
本申请实施例中,对于竖线段,按照与横线段相类似的处理流程进行处理。其中,竖线段包括垂线段以及斜线段。
本申请实施例中,作为另一可选实施例,在横线段中,计算两条横线段之间的距离,如果计算得到的距离小于预先设置的横线段距离阈值,删除其中一条横线段,包括:
B221,按照横线段的纵坐标,从小到大进行排序;
B222,从排序的第一条横线段开始,依次获取相邻的两条横线段在竖直方向的最大距离;
B223,若所述最大距离小于设定的横线段距离阈值,分别获取所述相邻的两条横线段的坐标信息;
B224,依据所述相邻的两条横线段的坐标信息以及存储的横线段的坐标信息,计算所述相邻的两条横线段分别与存储的横线段的距离,在所述相邻的两条横线段中,保留最小距离对应的横线段,删除另一横线段。
本申请实施例中,在相邻的两条横线段在竖直方向的最大距离小于设定的横线段距离阈值时,依据该相邻的两条横线段的坐标信息与存储的横线段的坐标信息,以确定相邻的两条横线段中,哪一横线段与存储的横线段匹配度最高,即确定相邻的两条横线段分别与存储的哪一横线段相距最短,从而保留匹配度最高的横线段,能够提升横线段去重的精度。
B13,依据去重处理得到的直线段,确定表格包含的各单元格。
本申请实施例中,作为一可选实施例,依据去重处理得到的直线段,确定表格包含的各单元格,包括:
B131,依据相交的横线段和竖线段,确定出表格的左上角;
B132,根据最左边竖线段和最上面横线段划分出表格区域,从最上面横线段开始,遍历所有横线段,确定未合并的行单元格以及上下合并的行单元格,分别确定未合并的行单元格以及上下合并的行单元格的起点横坐标和终点横坐标;
本申请实施例中,若遍历的横线段的长度等于最上面横线段的长度,表明该横线段所在的行的行单元格相互独立,没有合并现象发生,获取该未合并的行单元格的起点横坐标和终点横坐标;若遍历的横线段的长度短于最上面横线段的长度,表明该横线段所在的行出现了上下合并的行单元格,继续遍历下一横线段,直至遍历的横线段的长度等于最上面横线段的长度,表明行单元格合并到该遍历的横线段,获取该合并的行单元格的起点横坐标和终点横坐标。
B133,从最左边竖线段开始,遍历所有竖线段,确定未合并的列单元格以及左右合并的列单元格,分别确定未合并的列单元格以及左右合并的列单元格的起点纵坐标和终点纵坐标;
B134,依据行单元格的起点横坐标和终点横坐标以及列单元格的起点纵坐标和终点纵坐标,确定所述表格内各单元格坐标。
本申请实施例中,依据上述行单元格以及列单元格的坐标信息,可以获取表格内各单元格的坐标信息。
步骤104,确定所述单元格在所述PDF页面中的坐标信息;
本申请实施例中,作为一可选实施例,确定所述单元格在所述PDF页面中的坐标信息,包括:
C11,确定组成所述单元格的四条直线段的坐标信息;
C12,针对确定的每一直线段,计算该直线段与存储的对应直线段的距离,获取距离最小的存储的直线段的坐标信息,作为该直线段在所述PDF页面中的坐标信息。
本申请实施例中,如果针对的直线段为横线段,则存储的对应直线段也为横线段;如果针对的直线段为竖线段,则存储的对应直线段也为竖线段。以针对的直线段为横线段为例,可以依据该横线段的坐标信息以及存储的各横线段的坐标信息,计算该横线段与存储的各横线段的距离,取距离最小的存储的横线段的坐标信息作为该横线段在PDF页面中的坐标信息,从而依据该方式,可以得到单元格在PDF页面中的坐标信息。这样,可以避免坐标变换引起累积误差,导致确定的单元格在PDF页面中的坐标信息精确度不高的技术问题。
步骤105,依据所述单元格的坐标信息识别所述单元格中的数据。
本申请实施例中,在确定表格内每一单元格的坐标信息后,依据该单元格的坐标信息,可以识别该单元格内的数据,例如,文本和字符,从而可以获取各单元格内的数据以被后续利用。
本申请实施例提供的解析便携式文档格式文档表格的方法,通过将包含有表格的PDF文档转化为图片,依据图片的易识别性,识别出图片中的直线段,依据识别的直线段确定出表格中的各单元格,再将各单元格映射至PDF文档,从而确定各单元格在PDF文档的坐标信息,识别出该坐标信息对应区域内的数据,实现解析PDF文档表格中包含的数据,能够有效提升数据的利用效率,增强数据的利用价值。进一步地,本申请实施例中,将Tabula和LSD直线识别算法进行融合:利用Tabula识别PDF文档中的直线段,确定是否包含有表格,但由于Tabula不能排除干扰线段,因而,不能利用Tabula进行表格中各单元格的确定,而LSD直线识别算法能够排除干扰的线段,但是不能准确地识别出直线在PDF文档中的坐标信息,通过将LSD直线识别算法识别出的直线段与Tabula识别出的直线段进行匹配,从而能够准确确定出LSD直线识别算法确定出的单元格在PDF文档中的坐标信息,从而能够提取PDF文档中该单元格内的数据。
图2为本申请实施例提供的解析便携式文档格式文档表格的装置结构示意图。如图2所示,该装置包括:
表格确定模块201,用于确定PDF文档中包含有表格的PDF页面;
本申请实施例中,作为一可选实施例,表格确定模块201,具体用于:
利用Tabula提取PDF文档中当前页面中包含的横线段和竖线段;如果提取的一横线段至少与两条竖线段相交,确定所述当前页面为包含有表格的PDF页面。
本申请实施例中,作为一可选实施例,表格确定模块201,具体还用于:
存储提取的横线段的坐标信息和竖线段的坐标信息。
变换模块202,用于将所述PDF页面转换为图片;
本申请实施例中,作为一可选实施例,图片的格式包括但不限于:
JPG、JPEG、PNG、GIF等。
单元格识别模块203,用于识别所述图片中的表格包含的各单元格;
本申请实施例中,作为一可选实施例,单元格识别模块203,具体用于:
利用直线段检测器LSD直线识别算法从所述图片中识别直线段;对识别的直线段进行去重处理;依据去重处理得到的直线段,确定表格包含的各单元格。
本申请实施例中,作为一可选实施例,所述对识别的直线段进行去重处理,包括:
在识别得到的横线段中,计算两条横线段之间的距离,如果计算得到的距离小于预先设置的横线段距离阈值,融合该两条横线段,得到融合横线段;或者,删除其中一条横线段;
在识别得到的竖线段中,计算两条竖线段之间的距离,如果计算得到的距离小于预先设置的竖线段距离阈值,融合该两条竖线段,得到融合竖线段;或者,删除其中一条竖线段。
本申请实施例中,作为一可选实施例,所述计算两条横线段之间的距离,如果计算得到的距离小于预先设置的横线段距离阈值,融合该两条横线段,得到融合横线段,包括:
按照横线段的纵坐标,从小到大进行排序;
从排序的第一条横线段开始,依次获取相邻的两条横线段在竖直方向的最大距离;
若确定所述最大距离小于设定的横线段距离阈值,获取所述相邻的两条横线段的纵坐标的均值,以及,所述相邻的两条横线段的最小横坐标和最大横坐标;
删除所述相邻的两条横线段,依据所述纵坐标的均值、最小横坐标和最大横坐标构建新横线段;
获取所述新横线段以及与所述新横线段相邻的横线段在竖直方向的最大距离并进行比较,直至排序的最后一条横线段。
本申请实施例中,作为一可选实施例,计算两条横线段之间的距离,如果计算得到的距离小于预先设置的横线段距离阈值,删除其中一条横线段,包括:
按照横线段的纵坐标,从小到大进行排序;
从排序的第一条横线段开始,依次获取相邻的两条横线段在竖直方向的最大距离;
若所述最大距离小于设定的横线段距离阈值,分别获取所述相邻的两条横线段的坐标信息;
依据所述相邻的两条横线段的坐标信息以及存储的横线段的坐标信息,计算所述相邻的两条横线段分别与存储的横线段的距离,在所述相邻的两条横线段中,保留最小距离对应的横线段,删除另一横线段。
本申请实施例中,作为一可选实施例,所述依据去重处理得到的直线段,确定表格包含的各单元格,包括:
依据相交的横线段和竖线段,确定出表格的左上角;
根据最左边竖线段和最上面横线段划分出表格区域,从最上面横线段开始,遍历所有横线段,确定未合并的行单元格以及上下合并的行单元格,分别确定未合并的行单元格以及上下合并的行单元格的起点横坐标和终点横坐标;
从最左边竖线段开始,遍历所有竖线段,确定未合并的列单元格以及左右合并的列单元格,分别确定未合并的列单元格以及左右合并的列单元格的起点纵坐标和终点纵坐标;
依据行单元格的起点横坐标和终点横坐标以及列单元格的起点纵坐标和终点纵坐标,确定所述表格内各单元格坐标。
单元格坐标信息确定模块204,用于确定所述单元格在所述PDF页面中的坐标信息;
本申请实施例中,作为一可选实施例,单元格坐标信息确定模块204,具体用于:
确定组成所述单元格的四条直线段的坐标信息;针对确定的每一直线段,计算该直线段与存储的对应直线段的距离,获取距离最小的存储的直线段的坐标信息,作为该直线段在所述PDF页面中的坐标信息。
数据获取模块205,用于依据所述单元格的坐标信息识别所述单元格中的数据。
本申请实施例中,在确定表格内每一单元格的坐标信息后,依据该单元格的坐标信息,可以识别该单元格内的数据,例如,文本和字符,从而可以获取各单元格内的数据以被后续利用。
如图3所示,本申请一实施例提供了一种计算机设备300,用于执行图1中的解析便携式文档格式文档表格的方法,该设备包括存储器301、处理器302及存储在该存储器301上并可在该处理器302上运行的计算机程序,其中,上述处理器302执行上述计算机程序时实现上述解析便携式文档格式文档表格的方法的步骤。
具体地,上述存储器301和处理器302能够为通用的存储器和处理器,这里不做具体限定,当处理器302运行存储器301存储的计算机程序时,能够执行上述解析便携式文档格式文档表格的方法。
对应于图1中的解析便携式文档格式文档表格的方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述解析便携式文档格式文档表格的方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述解析便携式文档格式文档表格的方法。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种解析便携式文档格式PDF文档表格的方法,其特征在于,该方法包括:
确定PDF文档中包含有表格的PDF页面;
将所述PDF页面转换为图片;
识别所述图片中的表格包含的各单元格;
确定所述单元格在所述PDF页面中的坐标信息;
依据所述单元格的坐标信息识别所述单元格中的数据。
2.如权利要求1所述的方法,其特征在于,所述确定PDF文档中包含有表格的PDF页面,包括:
利用Tabula提取PDF文档中当前页面中包含的横线段和竖线段;
如果提取的一横线段至少与两条竖线段相交,确定所述当前页面为包含有表格的PDF页面。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
存储提取的横线段的坐标信息和竖线段的坐标信息。
4.如权利要求1至3任一项所述的方法,其特征在于,所述识别所述图片中的表格包含的各单元格,包括:
利用直线段检测器LSD直线识别算法从所述图片中识别直线段;
对识别的直线段进行去重处理;
依据去重处理得到的直线段,确定表格包含的各单元格。
5.如权利要求4所述的方法,其特征在于,所述对识别的直线段进行去重处理,包括:
在识别得到的横线段中,计算两条横线段之间的距离,如果计算得到的距离小于预先设置的横线段距离阈值,融合该两条横线段,得到融合横线段;或者,删除其中一条横线段;
在识别得到的竖线段中,计算两条竖线段之间的距离,如果计算得到的距离小于预先设置的竖线段距离阈值,融合该两条竖线段,得到融合竖线段;或者,删除其中一条竖线段。
6.如权利要求5所述的方法,其特征在于,所述计算两条横线段之间的距离,如果计算得到的距离小于预先设置的横线段距离阈值,融合该两条横线段,得到融合横线段,包括:
按照横线段的纵坐标,从小到大进行排序;
从排序的第一条横线段开始,依次获取相邻的两条横线段在竖直方向的最大距离;
若确定所述最大距离小于设定的横线段距离阈值,获取所述相邻的两条横线段的纵坐标的均值,以及,所述相邻的两条横线段的最小横坐标和最大横坐标;
删除所述相邻的两条横线段,依据所述纵坐标的均值、最小横坐标和最大横坐标构建新横线段;
获取所述新横线段以及与所述新横线段相邻的横线段在竖直方向的最大距离并进行比较,直至排序的最后一条横线段。
7.如权利要求5所述的方法,其特征在于,计算两条横线段之间的距离,如果计算得到的距离小于预先设置的横线段距离阈值,删除其中一条横线段,包括:
按照横线段的纵坐标,从小到大进行排序;
从排序的第一条横线段开始,依次获取相邻的两条横线段在竖直方向的最大距离;
若所述最大距离小于设定的横线段距离阈值,分别获取所述相邻的两条横线段的坐标信息;
依据所述相邻的两条横线段的坐标信息以及存储的横线段的坐标信息,计算所述相邻的两条横线段分别与存储的横线段的距离,在所述相邻的两条横线段中,保留最小距离对应的横线段,删除另一横线段。
8.如权利要求4所述的方法,其特征在于,所述依据去重处理得到的直线段,确定表格包含的各单元格,包括:
依据相交的横线段和竖线段,确定出表格的左上角;
根据最左边竖线段和最上面横线段划分出表格区域,从最上面横线段开始,遍历所有横线段,确定未合并的行单元格以及上下合并的行单元格,分别确定未合并的行单元格以及上下合并的行单元格的起点横坐标和终点横坐标;
从最左边竖线段开始,遍历所有竖线段,确定未合并的列单元格以及左右合并的列单元格,分别确定未合并的列单元格以及左右合并的列单元格的起点纵坐标和终点纵坐标;
依据行单元格的起点横坐标和终点横坐标以及列单元格的起点纵坐标和终点纵坐标,确定所述表格内各单元格坐标。
9.如权利要求4所述的方法,其特征在于,所述确定所述单元格在所述PDF页面中的坐标信息,包括:
确定组成所述单元格的四条直线段的坐标信息;
针对确定的每一直线段,计算该直线段与存储的对应直线段的距离,获取距离最小的存储的直线段的坐标信息,作为该直线段在所述PDF页面中的坐标信息。
10.一种解析便携式文档格式PDF文档表格的装置,其特征在于,该装置包括:
表格确定模块,用于确定PDF文档中包含有表格的PDF页面;
变换模块,用于将所述PDF页面转换为图片;
单元格识别模块,用于识别所述图片中的表格包含的各单元格;
单元格坐标信息确定模块,用于确定所述单元格在所述PDF页面中的坐标信息;
数据获取模块,用于依据所述单元格的坐标信息识别所述单元格中的数据。
CN201811295745.XA 2018-11-01 2018-11-01 一种解析便携式文档格式文档表格的方法及装置 Pending CN109446487A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811295745.XA CN109446487A (zh) 2018-11-01 2018-11-01 一种解析便携式文档格式文档表格的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811295745.XA CN109446487A (zh) 2018-11-01 2018-11-01 一种解析便携式文档格式文档表格的方法及装置

Publications (1)

Publication Number Publication Date
CN109446487A true CN109446487A (zh) 2019-03-08

Family

ID=65550067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811295745.XA Pending CN109446487A (zh) 2018-11-01 2018-11-01 一种解析便携式文档格式文档表格的方法及装置

Country Status (1)

Country Link
CN (1) CN109446487A (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110110313A (zh) * 2019-05-09 2019-08-09 上海微投股权投资基金管理有限公司 文档表格解析方法及装置
CN110136059A (zh) * 2019-04-04 2019-08-16 哈尔滨理工大学 直线特征的风电叶片图像拼接方法
CN110309746A (zh) * 2019-06-21 2019-10-08 国网辽宁省电力有限公司鞍山供电公司 无通信互联的高等级信息安全区表格数据信息提取方法
CN110334585A (zh) * 2019-05-22 2019-10-15 平安科技(深圳)有限公司 表格识别方法、装置、计算机设备和存储介质
CN110377559A (zh) * 2019-06-17 2019-10-25 平安科技(深圳)有限公司 一种pdf文件数据提取方法、装置及存储介质
CN110516221A (zh) * 2019-08-29 2019-11-29 苏州朗动网络科技有限公司 提取pdf文档中图表数据的方法、设备和存储介质
CN110598196A (zh) * 2019-09-16 2019-12-20 腾讯科技(深圳)有限公司 一种缺失外边框的表格数据提取方法、装置和存储介质
CN111259854A (zh) * 2020-02-04 2020-06-09 北京爱医生智慧医疗科技有限公司 一种文本图像中表格的结构化信息的识别方法及装置
CN111340000A (zh) * 2020-03-23 2020-06-26 深圳智能思创科技有限公司 一种针对pdf文档表格提取优化方法及系统
CN111695371A (zh) * 2019-03-12 2020-09-22 珠海金山办公软件有限公司 一种表格识别的方法、装置、电子设备及存储介质
WO2020238054A1 (zh) * 2019-05-30 2020-12-03 平安科技(深圳)有限公司 Pdf文档中图表的定位方法、装置及计算机设备
CN112036232A (zh) * 2020-07-10 2020-12-04 中科院成都信息技术股份有限公司 一种图像表格结构识别方法、系统、终端以及存储介质
CN112115111A (zh) * 2019-06-20 2020-12-22 上海怀若智能科技有限公司 一种基于ocr的文档版本管理方法和系统
CN112241730A (zh) * 2020-11-21 2021-01-19 杭州投知信息技术有限公司 一种基于机器学习的表格提取方法和系统
CN113158987A (zh) * 2021-05-19 2021-07-23 中国科学技术信息研究所 表格处理方法、装置、设备及计算机可读存储介质
WO2021147222A1 (zh) * 2020-01-22 2021-07-29 平安科技(深圳)有限公司 基于ocr的表格版式恢复方法、装置、电子设备及存储介质
CN113343815A (zh) * 2021-05-31 2021-09-03 北森云计算有限公司 一种pdf等版式文档中识别表格的方法
CN113361257A (zh) * 2021-06-29 2021-09-07 深圳壹账通智能科技有限公司 Pdf文档解析方法、系统、电子装置及存储介质
CN113486638A (zh) * 2021-07-29 2021-10-08 浙江大华技术股份有限公司 表格的重构方法和装置、存储介质及电子装置
CN114926852A (zh) * 2022-03-17 2022-08-19 支付宝(杭州)信息技术有限公司 表格识别重构方法、装置、设备、介质及程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160247020A1 (en) * 2013-03-19 2016-08-25 Fujian Foxit Software Development Joint Stock Co., Ltd. A method for identifying pdf document
CN106951400A (zh) * 2017-02-06 2017-07-14 北京因果树网络科技有限公司 一种pdf文件的信息抽取方法及装置
CN108132916A (zh) * 2017-11-30 2018-06-08 厦门市美亚柏科信息股份有限公司 解析pdf表格数据的方法、存储介质
CN108446264A (zh) * 2018-03-26 2018-08-24 阿博茨德(北京)科技有限公司 Pdf文档中的表格矢量解析方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160247020A1 (en) * 2013-03-19 2016-08-25 Fujian Foxit Software Development Joint Stock Co., Ltd. A method for identifying pdf document
CN106951400A (zh) * 2017-02-06 2017-07-14 北京因果树网络科技有限公司 一种pdf文件的信息抽取方法及装置
CN108132916A (zh) * 2017-11-30 2018-06-08 厦门市美亚柏科信息股份有限公司 解析pdf表格数据的方法、存储介质
CN108446264A (zh) * 2018-03-26 2018-08-24 阿博茨德(北京)科技有限公司 Pdf文档中的表格矢量解析方法及装置

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111695371A (zh) * 2019-03-12 2020-09-22 珠海金山办公软件有限公司 一种表格识别的方法、装置、电子设备及存储介质
CN111695371B (zh) * 2019-03-12 2024-05-03 珠海金山办公软件有限公司 一种表格识别的方法、装置、电子设备及存储介质
CN110136059A (zh) * 2019-04-04 2019-08-16 哈尔滨理工大学 直线特征的风电叶片图像拼接方法
CN110110313A (zh) * 2019-05-09 2019-08-09 上海微投股权投资基金管理有限公司 文档表格解析方法及装置
WO2020232872A1 (zh) * 2019-05-22 2020-11-26 平安科技(深圳)有限公司 表格识别方法、装置、计算机设备和存储介质
CN110334585B (zh) * 2019-05-22 2023-10-24 平安科技(深圳)有限公司 表格识别方法、装置、计算机设备和存储介质
CN110334585A (zh) * 2019-05-22 2019-10-15 平安科技(深圳)有限公司 表格识别方法、装置、计算机设备和存储介质
WO2020238054A1 (zh) * 2019-05-30 2020-12-03 平安科技(深圳)有限公司 Pdf文档中图表的定位方法、装置及计算机设备
CN110377559B (zh) * 2019-06-17 2022-09-16 平安科技(深圳)有限公司 一种pdf文件数据提取方法、装置及存储介质
CN110377559A (zh) * 2019-06-17 2019-10-25 平安科技(深圳)有限公司 一种pdf文件数据提取方法、装置及存储介质
CN112115111A (zh) * 2019-06-20 2020-12-22 上海怀若智能科技有限公司 一种基于ocr的文档版本管理方法和系统
CN110309746A (zh) * 2019-06-21 2019-10-08 国网辽宁省电力有限公司鞍山供电公司 无通信互联的高等级信息安全区表格数据信息提取方法
CN110516221A (zh) * 2019-08-29 2019-11-29 苏州朗动网络科技有限公司 提取pdf文档中图表数据的方法、设备和存储介质
CN110516221B (zh) * 2019-08-29 2021-07-30 企查查科技有限公司 提取pdf文档中图表数据的方法、设备和存储介质
CN110598196A (zh) * 2019-09-16 2019-12-20 腾讯科技(深圳)有限公司 一种缺失外边框的表格数据提取方法、装置和存储介质
WO2021147222A1 (zh) * 2020-01-22 2021-07-29 平安科技(深圳)有限公司 基于ocr的表格版式恢复方法、装置、电子设备及存储介质
CN111259854A (zh) * 2020-02-04 2020-06-09 北京爱医生智慧医疗科技有限公司 一种文本图像中表格的结构化信息的识别方法及装置
CN111259854B (zh) * 2020-02-04 2023-04-18 北京爱医生智慧医疗科技有限公司 一种文本图像中表格的结构化信息的识别方法及装置
CN111340000A (zh) * 2020-03-23 2020-06-26 深圳智能思创科技有限公司 一种针对pdf文档表格提取优化方法及系统
CN112036232A (zh) * 2020-07-10 2020-12-04 中科院成都信息技术股份有限公司 一种图像表格结构识别方法、系统、终端以及存储介质
CN112036232B (zh) * 2020-07-10 2023-07-18 中科院成都信息技术股份有限公司 一种图像表格结构识别方法、系统、终端以及存储介质
CN112241730A (zh) * 2020-11-21 2021-01-19 杭州投知信息技术有限公司 一种基于机器学习的表格提取方法和系统
CN113158987A (zh) * 2021-05-19 2021-07-23 中国科学技术信息研究所 表格处理方法、装置、设备及计算机可读存储介质
CN113343815B (zh) * 2021-05-31 2022-06-07 北森云计算有限公司 一种pdf等版式文档中识别表格的方法
CN113343815A (zh) * 2021-05-31 2021-09-03 北森云计算有限公司 一种pdf等版式文档中识别表格的方法
CN113361257B (zh) * 2021-06-29 2022-10-11 深圳壹账通智能科技有限公司 Pdf文档解析方法、系统、电子装置及存储介质
CN113361257A (zh) * 2021-06-29 2021-09-07 深圳壹账通智能科技有限公司 Pdf文档解析方法、系统、电子装置及存储介质
CN113486638A (zh) * 2021-07-29 2021-10-08 浙江大华技术股份有限公司 表格的重构方法和装置、存储介质及电子装置
CN114926852A (zh) * 2022-03-17 2022-08-19 支付宝(杭州)信息技术有限公司 表格识别重构方法、装置、设备、介质及程序产品

Similar Documents

Publication Publication Date Title
CN109446487A (zh) 一种解析便携式文档格式文档表格的方法及装置
US10824801B2 (en) Interactively predicting fields in a form
TWI321294B (en) Method and device for determining at least one recognition candidate for a handwritten pattern
CN105117054B (zh) 一种手写输入的识别方法及系统
CN113361247A (zh) 文档版面分析方法、模型训练方法、装置和设备
WO2018084715A1 (en) Method and system for transforming handwritten text to digital ink
KR20160132842A (ko) 플로우 문서를 생성하기 위한 이미지 문서 컴포넌트 검출 및 추출 기법
CN113378580A (zh) 文档版面分析方法、模型训练方法、装置和设备
JPWO2010092952A1 (ja) パターン認識装置
CN101763516A (zh) 一种基于拟合函数的文字识别方法
JP2018081674A (ja) 手書きテキスト画像に対する行及び単語切り出し方法
Seidl et al. Automated classification of petroglyphs
Oskouie et al. Automated recognition of building façades for creation of As-Is Mock-Up 3D models
CN103927535A (zh) 一种汉字书写识别方法及装置
Kesiman et al. Southeast Asian palm leaf manuscript images: a review of handwritten text line segmentation methods and new challenges
CN113780098A (zh) 文字识别方法、装置、电子设备以及存储介质
CN113343981A (zh) 一种视觉特征增强的字符识别方法、装置和设备
Obaidullah et al. Structural feature based approach for script identification from printed Indian document
CN114092948A (zh) 一种票据识别方法、装置、设备以及存储介质
CN113553428A (zh) 文档分类方法、装置及电子设备
CN110688995B (zh) 地图查询的处理方法,计算机可读存储介质和移动终端
KR20210092552A (ko) 제품의 영양 정보를 추출하는 방법 및 장치
Xu et al. Graphic composite segmentation for PDF documents with complex layouts
CN103700084A (zh) 基于区域尺寸和弯曲度的化学分子结构图分割方法
CN114661904B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190902

Address after: Room 630, 6th floor, Block A, Wanliu Xingui Building, 28 Wanquanzhuang Road, Haidian District, Beijing

Applicant after: China Science and Technology (Beijing) Co., Ltd.

Address before: Room 601, 6th floor, Block A, Wanliu Xingui Building, 28 Wanquanzhuang Road, Haidian District, Beijing

Applicant before: Beijing Shenzhou Taiyue Software Co., Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 230000 zone B, 19th floor, building A1, 3333 Xiyou Road, hi tech Zone, Hefei City, Anhui Province

Applicant after: Dingfu Intelligent Technology Co., Ltd

Address before: Room 630, 6th floor, Block A, Wanliu Xingui Building, 28 Wanquanzhuang Road, Haidian District, Beijing

Applicant before: DINFO (BEIJING) SCIENCE DEVELOPMENT Co.,Ltd.