CN110147537A - 一种基于位置关系的pdf表格抽取方法 - Google Patents
一种基于位置关系的pdf表格抽取方法 Download PDFInfo
- Publication number
- CN110147537A CN110147537A CN201810142927.7A CN201810142927A CN110147537A CN 110147537 A CN110147537 A CN 110147537A CN 201810142927 A CN201810142927 A CN 201810142927A CN 110147537 A CN110147537 A CN 110147537A
- Authority
- CN
- China
- Prior art keywords
- text block
- text
- row
- positional relationship
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000001788 irregular Effects 0.000 claims abstract description 10
- 230000015572 biosynthetic process Effects 0.000 abstract 1
- 238000000605 extraction Methods 0.000 description 3
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005194 fractionation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/183—Tabulation, 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)
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种基于位置关系的PDF表格抽取方法,该方法中首先整理/读取出PDF文件中的各个文本块信息,将由多个文本块并合形成的融合文本块再次拆分回多个文本块,并按照绝对位置信息重新排列所有的文本块;根据行间距和标志性序号,从中筛选出待处理表格;再对该待处理表格做进一步处理,如删除不规整表格,调整各个文本块的宽度,删除多余的行列等,最终得到与PDF中信息对应性良好的可编辑表格。
Description
技术领域
本发明涉及PDF文件处理方法领域,具体涉及一种基于位置关系的PDF表格抽取方法。
背景技术
PDF全称Portable Document Format,是便携文档格式的意思,可以完美表现文件的原始样式(完美保真),不会因为使用的软件、系统,等等东西的不同而产生不同的显示效果,屏幕显示和打印输出就是发布者想要的样子。因此,目前网络上传播的文档大部分是PDF格式文件,但是这给很多从文档中整理表格数据的人群带来了困难,尤其是在金融领域,在财务报告、行业研究报告中,研究员需针对表格做进一步的深度处理,需将pdf中的表格转化成规则的行和列的形式,如Excel表格等可编辑的形式。
目前业内大多数pdf处理工具,基本上都是针对文本的处理,或者转化为doc格式,转化为doc后,虽然能提取出部分表格,但是由于原始pdf表格中的格式样式差异化较大,表格效果不理想,准确率较低,不能满足金融领域中高精度数据的需求。
由于上述原因,本发明人开发设计出一种全新的PDF文本提取方法,尤其是PDF文本中无边框表格的提取方法。
发明内容
为了克服上述问题,本发明人进行了锐意研究,设计出一种基于位置关系的PDF表格抽取方法,该方法中首先整理/读取出PDF文件中的各个文本块信息,将由多个文本块并合形成的融合文本块再次拆分回多个文本块,并按照绝对位置信息重新排列所有的文本块;根据行间距和标志性序号,从中筛选出待处理表格;再对该待处理表格做进一步处理,如删除不规整表格,调整各个文本块的宽度,删除多余的行列等,最终得到与PDF中信息对应性良好的可编辑表格,从而完成本发明。
具体来说,本发明的目的在于提供基于位置关系的PDF表格抽取方法,该方法包括如下步骤:
步骤1:从PDF文件中解析出各个文本块信息;
步骤2:在虚拟内存中,按照PDF文件中的位置信息重新排列各个文本块,形成待处理文本;
步骤3:识别所述待处理文本中各个行的位置信息和字符信息,从中筛选出待处理表格;
步骤4:删除步骤3得到的待处理表格中不规整的表格;
步骤5:调整所述待处理表格中各个文本块的宽度,使得同一列中的各个文本块宽度一致;
步骤6:沿着文本块绘制表格。
其中,所述文本块信息包括该文本块中所有的字符信息和该文本块在PDF文件中的坐标位置信息。
其中,在步骤1之后,在步骤2之前还要对步骤1中的文本块做拆分处理,将需要拆分的文本块拆分成两个或多个文本块。
其中,所述需要拆分的文本块为:存在间距尺寸大于预定值的相邻两个字符的文本块;
从该需要拆分的文本块的所述间距尺寸大于预定值的相邻两个字符之间拆分;
优选地,所述预定值为该PDF文件中一个汉字字符的平均尺寸。
其中,在步骤2中,所述重新排列各个文本块包括把位于同一水平位置上的文本块按从左到右的顺序排成一行,把位于同一竖直位置上的文本块按从上到下的顺序排成一列。
其中,在步骤3中,通过各个行的位置信息判断各个行之间的间距尺寸,通过字符信息判断各个行中是否包含标志性的序号。
其中,在步骤4中,所述不规整的表格包括行数为2行以下的表格和列数为2列以下的表格。
其中,在步骤5中,当所述待处理表格中相邻两行有一处或多处文本块在列的方向对齐时,将各个列中宽度较小的文本块向左右两侧扩展,使单元格宽度一致;
其中,对于所在单元格宽窄不一的文本块,需先把较窄的文本块向行向位置长的扩展,使得同一列的左右位置均对齐;
当所述待处理表格中相邻两行没有文本块在列的方向对齐时,使所在行的文本块同时向左或向右移动,使该行的左端或右端与相邻行的左端或右端对齐;然后该行中各个列中宽度较小的文本块向左右两侧扩展,使单元格宽度一致。
其中,在步骤6完成后,还要删除多余的空行和/或空列。
(1)根据本发明提供的基于位置关系的PDF表格抽取方法,可以在不确定PDF文件中是否有表格,不确定PDF文件中表格位置及数量的情况下,从中筛选出表格所记载的信息,并重新绘制成可编辑的表格;
(2)根据本发明提供的基于位置关系的PDF表格抽取方法,能够从PDF文件中抽取出无边框的表格,并且准确程度很高,具有广阔的应用范围。
附图说明
图1示出根据本发明一种优选实施方式的基于位置关系的PDF表格抽取方法整体流程图;
图2示出实施例中待处理的PDF文件页面
图3示出根据本发明提供的方法处理后得到的清晰完整并且与PDF文件中表格相对应的可编辑表格。
具体实施方式
下面通过附图和实施例对本发明进一步详细说明。通过这些说明,本发明的特点和优点将变得更为清楚明确。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
根据本发明提供的基于位置关系的PDF表格抽取方法,如图1中所示,该方法包括如下步骤:
步骤1:从PDF文件中解析出各个文本块信息;本专利中所述文本块的概念源自于英文block这个名词,是本领域中约定俗成的概念,是指在PDF文件显示界面上的一个固定区域,其中可能包含多个字符及其他相关信息,其中block的概念可以参见国际标准化组织针对对PDF文件所给出的PDF协议文件,该文件编号为ISO32000-1:2008;
其中,所述文本块信息包括该文本块中所有的字符信息和该文本块在PDF文件中的坐标位置信息,该坐标是指PDF文件中的绝对位置坐标。
步骤2:在虚拟内存中,按照PDF文件中的位置信息重新排列各个文本块,形成待处理文本;
其中,所述重新排列各个文本块包括把位于同一水平位置上的文本块按从左到右的顺序排成一行,把位于同一竖直位置上的文本块按从上到下的顺序排成一列。这里的位置都是文本块中记载的位置,是PDF文件中的绝对坐标位置,必须通过上述重新排列的过程才能获得准确的PDF文件文本块位置信息,而不能直接通过读取PDF文件中文本块的先后顺序来获得,因为在PDF协议中,页脚的信息是记录在前面的,该信息会对读取结果的准确性带来巨大误差。
优选地,在步骤1之后,在步骤2之前还要对步骤1中的文本块做拆分处理,将需要拆分的文本块拆分成两个或多个文本块。
所述需要拆分的文本块为:存在间距尺寸大于预定值的相邻两个字符的文本块;
从该需要拆分的文本块的所述间距尺寸大于预定值的相邻两个字符之间拆分;如果文本块中存在两对以上的上述相邻字符,则该文本块需要进行两次以上的拆分,确保最终拆分得到的文本块不会是所述需要拆分的文本块;
优选地,所述预定值为该PDF文件中平均一个汉字字符的尺寸。
通过所述拆分文本块的作业,能够提高最终生成表格的准确率和召回率。
步骤3:识别所述待处理文本中各个行的位置信息和字符信息,从中筛选出待处理表格;
其中,通过各个行的位置信息判断各个行之间的间距尺寸,通过字符信息判断各个行中是否包含标志性的序号,所述标志性的序号可以为表一、表二等带有“表”字的序号,也可以是单一的数字,如1、2、3、一、二等等;在标志性序号所在的行及其下一行都可认为是表格,另外,每个表格中各个行间的距离应该是一致的,在步骤3中,依次识别每个行,将带有标志性序号,行间距一致的连续多行文本块组成一个待处理表格,在发信某一行不是表格中的行以后,将该行上方的所有连续的表格中的行聚合整理为一个待处理表格,并且继续核验/判断下一行,以寻找下一个表格。
步骤4:删除步骤3得到的待处理表格中不规整的表格;
其中,所述不规整的表格包括行数为2行以下的表格和列数为2列以下的表格,通过该步骤能够有效地去除冗余到所述待处理表格中的流程图,还可以根据同一行中相邻文本块之间的距离尺寸来筛选不规整表格,以提高所述待处理表格的准确性。
步骤5:调整所述待处理表格中各个文本块的宽度,使得同一列中的各个文本块宽度一致;
当所述待处理表格中相邻两行有一处或多处文本块在列的方向对齐时,将各个列中宽度较小的文本块向左右两侧扩展,使单元格宽度一致;
其中,对于所在单元格宽窄不一的文本块,需先把较窄的文本块向行向位置长的扩展,使得同一列的左右位置均对齐;
当所述待处理表格中相邻两行没有文本块在列的方向对齐时,使所在行的文本块同时向左或向右移动,使该行的左端或右端与相邻行的左端或右端对齐;然后该行中各个列中宽度较小的文本块向左右两侧扩展,使单元格宽度一致;最后在相邻文本块没有交错处即空白处进行单元格的划分,完善表格框线。
通过上述步骤,能够降低最终生成的表格的线条数量,既能够减少工作量,提高工作效率,还能够提高最终结果的准确性。
步骤6:沿着文本块绘制表格;优选地,该表格的线条紧邻各个文本块中的字符进行绘制,即沿着文本块中最边缘的字符的边缘绘制表格,在步骤6完成后,还要删除多余的空行和/或空列,并且自动调整各个行与列的宽度,其中的字符可以自动换行,以使得最终得到的表格简单、美观。
实施例:
采用本发明提供的方法对如图2中所示的PDF文件做表格抽取处理,
步骤1:从PDF文件中解析出各个文本块信息;
步骤2:在虚拟内存中,按照PDF文件中的位置信息重新排列各个文本块,形成待处理文本;
步骤3:识别所述待处理文本中各个行的位置信息和字符信息,从中筛选出待处理表格;
步骤4:删除步骤3得到的待处理表格中不规整的表格;
步骤5:调整所述待处理表格中各个文本块的宽度,使得同一列中的各个文本块宽度一致;
步骤6:沿着文本块绘制表格,最终得到的表格如图3中所示。
通过该实验例可知通过本发明提供的方法能够有效地从PDF文件中抽取出表格,甚至可以从中抽取出无边框份表格,并且得到的表格信息与PDF文件中的信息一致,极少错漏。
以上结合了优选的实施方式对本发明进行了说明,不过这些实施方式仅是范例性的,仅起到说明性的作用。在此基础上,可以对本发明进行多种替换和改进,这些均落入本发明的保护范围内。
Claims (9)
1.一种基于位置关系的PDF表格抽取方法,其特征在于,该方法包括如下步骤:
步骤1:从PDF文件中解析出各个文本块信息;
步骤2:在虚拟内存中,按照PDF文件中的位置信息重新排列各个文本块,形成待处理文本;
步骤3:识别所述待处理文本中各个行的位置信息和字符信息,从中筛选出待处理表格;
步骤4:删除步骤3得到的待处理表格中不规整的表格;
步骤5:调整所述待处理表格中各个文本块的宽度,使得同一列中的各个文本块宽度一致;
步骤6:沿着文本块绘制表格。
2.根据权利要求1所述的基于位置关系的PDF表格抽取方法,其特征在于,
所述文本块信息包括该文本块中所有的字符信息和该文本块在PDF文件中的坐标位置信息。
3.根据权利要求1所述的基于位置关系的PDF表格抽取方法,其特征在于,
在步骤1之后,在步骤2之前还要对步骤1中的文本块做拆分处理,将需要拆分的文本块拆分成两个或多个文本块。
4.根据权利要求3所述的基于位置关系的PDF表格抽取方法,其特征在于,
所述需要拆分的文本块为:存在间距尺寸大于预定值的相邻两个字符的文本块;
从该需要拆分的文本块的所述间距尺寸大于预定值的相邻两个字符之间拆分;
优选地,所述预定值为该PDF文件中一个汉字字符的平均尺寸。
5.根据权利要求1所述的基于位置关系的PDF表格抽取方法,其特征在于,
在步骤2中,所述重新排列各个文本块包括把位于同一水平位置上的文本块按从左到右的顺序排成一行,把位于同一竖直位置上的文本块按从上到下的顺序排成一列。
6.根据权利要求1所述的基于位置关系的PDF表格抽取方法,其特征在于,
在步骤3中,通过各个行的位置信息判断各个行之间的间距尺寸,通过字符信息判断各个行中是否包含标志性的序号。
7.根据权利要求1所述的基于位置关系的PDF表格抽取方法,其特征在于,
在步骤4中,所述不规整的表格包括行数为2行以下的表格和列数为2列以下的表格。
8.根据权利要求1所述的基于位置关系的PDF表格抽取方法,其特征在于,
在步骤5中,当所述待处理表格中相邻两行有一处或多处文本块在列的方向对齐时,将各个列中宽度较小的文本块向左右两侧扩展,使单元格宽度一致;
其中,对于所在单元格宽窄不一的文本块,需先把较窄的文本块向行向位置长的扩展,使得同一列的左右位置均对齐;
当所述待处理表格中相邻两行没有文本块在列的方向对齐时,使所在行的文本块同时向左或向右移动,使该行的左端或右端与相邻行的左端或右端对齐;然后该行中各个列中宽度较小的文本块向左右两侧扩展,使单元格宽度一致。
9.根据权利要求1所述的基于位置关系的PDF表格抽取方法,其特征在于,
在步骤6完成后,还要删除多余的空行和/或空列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810142927.7A CN110147537A (zh) | 2018-02-11 | 2018-02-11 | 一种基于位置关系的pdf表格抽取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810142927.7A CN110147537A (zh) | 2018-02-11 | 2018-02-11 | 一种基于位置关系的pdf表格抽取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110147537A true CN110147537A (zh) | 2019-08-20 |
Family
ID=67589070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810142927.7A Pending CN110147537A (zh) | 2018-02-11 | 2018-02-11 | 一种基于位置关系的pdf表格抽取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110147537A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112906695A (zh) * | 2021-04-14 | 2021-06-04 | 数库(上海)科技有限公司 | 适配多类ocr识别接口的表格识别方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976232A (zh) * | 2010-09-19 | 2011-02-16 | 深圳市万兴软件有限公司 | 一种识别文档中数据表格的方法及装置 |
CN102722475A (zh) * | 2012-05-09 | 2012-10-10 | 深圳市万兴软件有限公司 | 一种PDF文档中的表格转换成Excel表格的方法 |
WO2014146483A1 (zh) * | 2013-03-19 | 2014-09-25 | 福建福昕软件开发股份有限公司北京分公司 | 一种pdf文档识别方法 |
-
2018
- 2018-02-11 CN CN201810142927.7A patent/CN110147537A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976232A (zh) * | 2010-09-19 | 2011-02-16 | 深圳市万兴软件有限公司 | 一种识别文档中数据表格的方法及装置 |
CN102722475A (zh) * | 2012-05-09 | 2012-10-10 | 深圳市万兴软件有限公司 | 一种PDF文档中的表格转换成Excel表格的方法 |
WO2014146483A1 (zh) * | 2013-03-19 | 2014-09-25 | 福建福昕软件开发股份有限公司北京分公司 | 一种pdf文档识别方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112906695A (zh) * | 2021-04-14 | 2021-06-04 | 数库(上海)科技有限公司 | 适配多类ocr识别接口的表格识别方法及相关设备 |
CN112906695B (zh) * | 2021-04-14 | 2022-03-08 | 数库(上海)科技有限公司 | 适配多类ocr识别接口的表格识别方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7323584B2 (ja) | モバイル向けのおよび他の表示環境をサポートするインタラクティブなサイトおよびアプリケーションの自動変換のためのシステムおよび方法 | |
CN101876967B (zh) | 一种pdf文本段落生成的方法 | |
CN105589841B (zh) | 一种pdf文档表格识别的方法 | |
US8214732B2 (en) | Table column spanning | |
CN108470021A (zh) | Pdf文档中表格的定位方法及装置 | |
CN110163030B (zh) | 一种基于图像信息的pdf有边框表格抽取方法 | |
CN101206639A (zh) | 一种基于pdf的复杂版面的标引方法 | |
CN104268127A (zh) | 一种电子档版式文件阅读顺序分析的方法 | |
CN110704570A (zh) | 一种连续页版式文档结构化信息提取方法 | |
CN110516221A (zh) | 提取pdf文档中图表数据的方法、设备和存储介质 | |
CN110688825A (zh) | 一种版式文档中的含线表格信息提取方法 | |
US9049400B2 (en) | Image processing apparatus, and image processing method and program | |
US10120852B2 (en) | Data processing method, non-transitory computer-readable storage medium, and data processing device | |
CN110147537A (zh) | 一种基于位置关系的pdf表格抽取方法 | |
US7627815B2 (en) | Object editing system | |
CN112416340A (zh) | 基于草图的网页生成方法和系统 | |
CN110705224A (zh) | 一种多页面版式文档的版心识别及对齐方法 | |
CN112287660B (zh) | Pdf文件中的表格解析方法及装置、计算设备、存储介质 | |
CN112767419A (zh) | 一种图集九宫格切割的方法及系统 | |
JP4213558B2 (ja) | 文書レイアウト解析プログラム、文書レイアウト解析プログラムを記憶したコンピュータ読み取り可能な記憶媒体、文書レイアウト解析方法および文書レイアウト解析装置 | |
CN104112287A (zh) | 切分图片中文字的方法和装置 | |
Chao | Graphics extraction in a PDF document | |
JPH01147786A (ja) | 表を含む文書の読取装置 | |
JP2020060905A (ja) | 階層構造認識プログラム、階層構造認識方法及び階層構造認識装置 | |
US20080147712A1 (en) | Table synthesis from raw data |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190820 |
|
RJ01 | Rejection of invention patent application after publication |