CN108595402A - 一种提取pdf表格信息的系统 - Google Patents
一种提取pdf表格信息的系统 Download PDFInfo
- Publication number
- CN108595402A CN108595402A CN201810399152.1A CN201810399152A CN108595402A CN 108595402 A CN108595402 A CN 108595402A CN 201810399152 A CN201810399152 A CN 201810399152A CN 108595402 A CN108595402 A CN 108595402A
- Authority
- CN
- China
- Prior art keywords
- file
- page
- coordinate
- cross
- 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
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
-
- 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
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文档通过信息读取模块结果输出为表格矩阵。所述PDF文档为标准的表格数据,对于手工绘制的线条暂不做处理。所述跨页处理包括跨页表格按照每一个单元格的坐标信息和表头进行合并。所述PDF文档中的流数据操作符为“q”的表格。本发明能够提取PDF文件中的表格信息,且效率高、准确性高、不仅能提取表格的样式,更能提取表格中的内容。
Description
技术领域
本发明涉及文件处理技术领域,尤其涉及一种提取PDF表格信息的系统。
背景技术
随着计算机网络的发展,信息量的不断增长,电子文件信息已经深入到了生产和生活的各个方面,如工业设计、影视娱乐、科学研究、教育和管理等方面的视频、音频、动画、表格等信息。PDF文件所支持的格式包括文本、表格、动画、音频和视频等信息,目前还没有方法能准确无误地提取出PDF文件中包含的信息。因此针对其中表格信息提取是我们研究的重点。从表头方向来说表头是横向的(简称为横表)表头是纵向的(简称为竖表),从同一个表格的分布来说表格存在跨页的情况,需要进行判断并有效合并完整的表格再一页中展示,直接提取。从一个PDF页面来说可能存在一个表格,可能有多个表格,可能有一张表格的一部分,可能有两张表各自的一部分。从PDF文件来说可能一个页面有表格,可能多个页面有表格,可能要同时处理多个PDF的表格。针对上述情况,我们从PDF文件属性出发,通过研究PDF文件的字符流信息,发现使用PDFBox工具箱可以有效获取目前所有PDF的字符流信息,并能获取到关于PDF页码和字符等信息。
发明内容
鉴于此,本发明提供了一种提取PDF表格信息的系统,其特征在于,包括文件读取模块、文件加载、表格坐标获取、表格坐标处理、表格内容获取、跨页处理、PDF文档与表格矩阵,所述文件读取模块包括文件加载、表格坐标获取、表格坐标处理、表格内容获取与跨页处理,所述PDF文档通过信息读取模块结果输出为表格矩阵。
对本发明的进一步描述,所述PDF文档为标准的表格数据,对于手工绘制的线条暂不做处理。
对本发明的进一步描述,所述跨页处理包括跨页表格按照每一个单元格的坐标信息和表头进行合并。
对本发明的进一步描述,所述文件读取模块读取文件中的流数据后,使用流读取操作获取文件的流数据信息。
对本发明的进一步描述,所述PDF文档中的流数据操作符为“q”的表格。
采用上述技术方案,具有如下有益效果:
本发明能够提取PDF文件中的表格信息,且效率高、准确性高、不仅能提取表格的样式,更能提取表格中的内容。
附图说明
图1为本发明的系统结构图。
具体实施方式
下面结合附图对本发明做进一步说明。
如图1所述的一种提取PDF表格信息的系统,其特征在于,包括文件读取模块、文件加载、表格坐标获取、表格坐标处理、表格内容获取、跨页处理、PDF文档与表格矩阵,所述文件读取模块包括文件加载、表格坐标获取、表格坐标处理、表格内容获取与跨页处理,所述PDF文档通过信息读取模块结果输出为表格矩阵。所述PDF文档为标准的表格数据,对于手工绘制的线条暂不做处理。所述跨页处理包括跨页表格按照每一个单元格的坐标信息和表头进行合并。所述文件读取模块读取文件中的流数据后,使用流读取操作获取文件的流数据信息。所述PDF文档中的流数据操作符为“q”的表格。
从PDF文件属性出发,通过研究PDF文件的字符流信息,发现使用PDFBox工具箱可以有效获取目前所有PDF的字符流信息,并能获取到关于PDF页码和字符信息等信息。
有了上述的准备基础,通过反复观察同一份PDF文件中的文件流信息,并和原文进行对比,发现可以通过坐标信息定位到表格所在的区域;然后对比其他PDF文件发现该方法的有效性。
发现可以通过坐标信息定位到表格的位置后,下一步要做的就是通过位置信息准确获取每一个单元格的位置及文本信息。通过对比同一个表格的不同单元格在文件流中的位置信息和前后关系,我们发现:
一个单元格的组成包括起始位置(X和Y)、宽度(W)、高度(H)共四个信息,也就是说通过这四个信息我们就可以准确获取单元格的位置信息。
利用坐标信息可以调用PDFBOX中的方法,获取对应文本区域的文本信息;而文本区域就是坐标信息表示的区域。
可以利用二维数组将一个个的单元格存放到一个二维数组中,表征为一个表格。
借助上一个二维数组获取文本域的文本信息,使用新的二维数组存放对应位置的文本信息,达到信息的有效还原。
同一个PDF文件可能存在观察到的表格的位置信息和字符流中的表格信息存在镜像关系,即表格信息出现上下颠倒的情况,因此表格在页面中的坐标可能是真实值,可能需要使用字符流信息中的值减去页面高度,并用页面宽度减去上述结果。
表格的坐标信息存在负数,通过观察,我们发现直接将该值取绝对值后,就可以准确拿到单元格。
有了上一步的基础,我们就可以有效将一个个单元格进行还原,但此时我们并没有将一个个的单元格进行有效合并成一个个的表格,因此我们利用单元格的位置信息进行表格的还原:
(1)获取第一个单元格,并将其设置为参考点
(2)获取下一个单元格,对比他们的Y值等关系
Y值一致,则是同一表格的同一行单元格,将这两个单元格进行合并;
Y值的差值是一个单元格的高度,说明是一个表格的下一行,将该单元格设置为新的参考点,并继续(1)的操作;
Y值差距较大,则是不同的表格,将上一个结果作为一个整体进行存储,并将才单元格作为参考点,继续(1)的操作;
经过上一步的处理,我们已经将表格进行了一定程度上的还原,但是还没有处理表格跨页的情况。通过反复观察跨页表格信息及其对应的文件流,我们发现:
跨页的表格:两部分表格中间没有文本,两部分表格的列数是一致的,两部分表格的坐标信息有一定的关联性,可以通过二维数组中变量的追加,将跨页表格的下半部分追加到上半部分中,同一页面的表格在合并时需要考虑被重复访问的情况。
针对上述结论,利用已有的二维数组和文件流,将表格信息进行还原,包括表格的位置信息、表格中的单元格信息、将不同单元格汇集成不同的表格,并针对单元格信息获取文本信息,而考虑上述情况,我们处理表格跨页的情况,获取第一个表格的坐标信息和当前页面文本域的坐标信息。
表格的起始位置大于文本域,说明表格不是该页第一个元素,因此不存在跨页情况,反之,需要观察二维数组中的上一页的数据,如果该表格位于第一页,则不是跨页,非首页,则判断该页下一个表格、最后一个表格和文本域及页面的坐标信息。
i.如果表格的结束Y值小于最后一个表格的结束坐标,则该表格是中间表格,直接存储;
ii.如果等于最后一个表格的结束坐标,则是最后一个表格,需要访问下一页的表格信息;
iii.通过一系列操作,返回下一页的第一个表格和页面的信息,如果第一个元素是表格,则说明下一页存在续表,则将下一页的表格追加到该表格中;
(2)访问下一个页面,并从头开始。
经过上述操作,我们已经获取了一个PDF文件中所有的表格的信息。但是我们此时所做的是将文件的绝对地址传递给文件访问接口,为了处理的高效性,是程序处理具有自动化,我们需要将一个文件夹传递给程序,使得程序可以自动获取目录下属的文件及文件夹,包括子文件夹中的文件信息的获取,采用如下处理方法:用户传递字符串给程序入口;系统判定用户输入的字符串的后四位;以“.pdf”结尾,说明是文件,直接采用上述的方法进行处理;非“.pdf”结尾,说明用户传递的是文件夹,需要采用递归调用和循环访问的方式读取并处理每一个PDF文件;对每一个文件,通过PDFBox打开后,如果不是标准的PDF文件,则提示用户,否则调用表格处理的流程进行信息提取;将每一个处理结果进行有效展示。
在PDF初期研究过程中,我们通过现有的方法和技术可以获取PDF中的文本数据,但是更多的信息隐含在表格中。为了能获取更多的信息,尤其是隐藏才PDF中的表格信息,我们需要对表格信息进行提取,不仅是对文本进行提取,更要做到准确提取,这就要求不仅要获取到表格的样式,还要能准确提取到各个位置的表格内容,并最终将表格中的信息准确无误地还原出来。
为了能准确提取出表格中的信息,包括表格样式、跨页及表格具体的内容,本系统从结构上分为3个大模块:文件加载模块、表格信息处理模块和输出模块;表格信息处理模块又分为表格坐标获取、表格内容获取和跨页表格处理共3个小模块。
本系统的主要设计流程如下所述:读取PDF文档后,通过pdfbox获取其中的流数据(流标记);利用其中的标签信息,获取需要的信息;借助流数据其他坐标信息获取表格和文本的信息,同时,去除其中的重复坐标信息;借助上述信息整合跨页的表格;最后将处理结果以矩阵的方式输出到控制台和相应的文本文件中。
以上描述了本发明的基本原理和主要特征,本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内,发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (5)
1.一种提取PDF表格信息的系统,其特征在于,包括文件读取模块、文件加载、表格坐标获取、表格坐标处理、表格内容获取、跨页处理、PDF文档与表格矩阵,所述文件读取模块包括文件加载、表格坐标获取、表格坐标处理、表格内容获取与跨页处理,所述PDF文档通过信息读取模块结果输出为表格矩阵。
2.根据权利要求1所述的一种提取PDF表格信息的系统,其特征在于,所述PDF文档为标准的表格数据,对于手工绘制的线条暂不做处理。
3.根据权利要求1所述的一种提取PDF表格信息的系统,其特征在于,所述跨页处理包括跨页表格按照每一个单元格的坐标信息和表头进行合并。
4.根据权利要求1所述的一种提取PDF表格信息的系统,其特征在于,所述文件读取模块读取文件中的流数据后,使用流读取操作获取文件的流数据信息。
5.根据权利要求1所述的一种提取PDF表格信息的系统,其特征在于,所述PDF文档中的流数据操作符为“q”的表格。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810399152.1A CN108595402A (zh) | 2018-04-28 | 2018-04-28 | 一种提取pdf表格信息的系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810399152.1A CN108595402A (zh) | 2018-04-28 | 2018-04-28 | 一种提取pdf表格信息的系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108595402A true CN108595402A (zh) | 2018-09-28 |
Family
ID=63610676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810399152.1A Pending CN108595402A (zh) | 2018-04-28 | 2018-04-28 | 一种提取pdf表格信息的系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108595402A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582941A (zh) * | 2018-11-29 | 2019-04-05 | 杭州迪普科技股份有限公司 | 一种表格数据显示方法、装置、设备及存储介质 |
CN110377604A (zh) * | 2019-07-23 | 2019-10-25 | 北京小米移动软件有限公司 | 一种提取表格信息的方法、装置及介质 |
CN110705213A (zh) * | 2019-08-23 | 2020-01-17 | 平安科技(深圳)有限公司 | Pdf表格提取方法、装置、终端及计算机可读存储介质 |
CN111027285A (zh) * | 2019-12-17 | 2020-04-17 | 南京上游软件有限公司 | 一种从pdf格式订单中自动提取订单信息的方法及系统 |
CN112232048A (zh) * | 2020-11-12 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 一种基于神经网络的表格处理方法以及相关装置 |
CN112380826A (zh) * | 2020-11-12 | 2021-02-19 | 中国农业银行股份有限公司佛山分行 | 一种基于文本文件的格式化电子表格生成方法 |
WO2021042507A1 (zh) * | 2019-09-02 | 2021-03-11 | 苏州朗动网络科技有限公司 | pdf文档中表格数据的提取方法、设备和存储介质 |
CN112487775A (zh) * | 2020-12-03 | 2021-03-12 | 上海众言网络科技有限公司 | 网页代码转换方法和装置 |
CN112764642A (zh) * | 2020-12-31 | 2021-05-07 | 达而观数据(成都)有限公司 | 一种基于Canvas技术的通用文档标注方法及系统 |
US11010543B1 (en) | 2020-08-11 | 2021-05-18 | Fmr Llc | Systems and methods for table extraction in documents |
CN113343658A (zh) * | 2021-07-01 | 2021-09-03 | 湖南四方天箭信息科技有限公司 | 一种pdf文件信息抽取方法、装置以及计算机设备 |
CN113869014A (zh) * | 2021-08-25 | 2021-12-31 | 盐城金堤科技有限公司 | 表格数据的提取方法和装置、以及存储介质和电子设备 |
CN114077830A (zh) * | 2020-08-17 | 2022-02-22 | 税友软件集团股份有限公司 | 一种基于位置的pdf表格文档的解析方法、装置及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105988979A (zh) * | 2015-02-16 | 2016-10-05 | 北京邮电大学 | 基于pdf文件的表格提取方法和装置 |
CN106897690A (zh) * | 2017-02-22 | 2017-06-27 | 南京述酷信息技术有限公司 | Pdf表格提取方法 |
-
2018
- 2018-04-28 CN CN201810399152.1A patent/CN108595402A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105988979A (zh) * | 2015-02-16 | 2016-10-05 | 北京邮电大学 | 基于pdf文件的表格提取方法和装置 |
CN106897690A (zh) * | 2017-02-22 | 2017-06-27 | 南京述酷信息技术有限公司 | Pdf表格提取方法 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582941A (zh) * | 2018-11-29 | 2019-04-05 | 杭州迪普科技股份有限公司 | 一种表格数据显示方法、装置、设备及存储介质 |
CN110377604A (zh) * | 2019-07-23 | 2019-10-25 | 北京小米移动软件有限公司 | 一种提取表格信息的方法、装置及介质 |
CN110377604B (zh) * | 2019-07-23 | 2022-06-24 | 北京小米移动软件有限公司 | 一种提取表格信息的方法、装置及介质 |
CN110705213A (zh) * | 2019-08-23 | 2020-01-17 | 平安科技(深圳)有限公司 | Pdf表格提取方法、装置、终端及计算机可读存储介质 |
CN110705213B (zh) * | 2019-08-23 | 2023-11-14 | 平安科技(深圳)有限公司 | Pdf表格提取方法、装置、终端及计算机可读存储介质 |
WO2021036380A1 (zh) * | 2019-08-23 | 2021-03-04 | 平安科技(深圳)有限公司 | Pdf表格提取方法、装置、计算机设备及计算机可读存储介质 |
WO2021042507A1 (zh) * | 2019-09-02 | 2021-03-11 | 苏州朗动网络科技有限公司 | pdf文档中表格数据的提取方法、设备和存储介质 |
CN111027285A (zh) * | 2019-12-17 | 2020-04-17 | 南京上游软件有限公司 | 一种从pdf格式订单中自动提取订单信息的方法及系统 |
US11010543B1 (en) | 2020-08-11 | 2021-05-18 | Fmr Llc | Systems and methods for table extraction in documents |
CN114077830A (zh) * | 2020-08-17 | 2022-02-22 | 税友软件集团股份有限公司 | 一种基于位置的pdf表格文档的解析方法、装置及设备 |
CN112380826A (zh) * | 2020-11-12 | 2021-02-19 | 中国农业银行股份有限公司佛山分行 | 一种基于文本文件的格式化电子表格生成方法 |
CN112380826B (zh) * | 2020-11-12 | 2024-03-22 | 中国农业银行股份有限公司佛山分行 | 一种基于文本文件的格式化电子表格生成方法 |
CN112232048A (zh) * | 2020-11-12 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 一种基于神经网络的表格处理方法以及相关装置 |
CN112487775A (zh) * | 2020-12-03 | 2021-03-12 | 上海众言网络科技有限公司 | 网页代码转换方法和装置 |
CN112764642B (zh) * | 2020-12-31 | 2022-11-29 | 达而观数据(成都)有限公司 | 一种基于Canvas技术的通用文档标注方法及系统 |
CN112764642A (zh) * | 2020-12-31 | 2021-05-07 | 达而观数据(成都)有限公司 | 一种基于Canvas技术的通用文档标注方法及系统 |
CN113343658A (zh) * | 2021-07-01 | 2021-09-03 | 湖南四方天箭信息科技有限公司 | 一种pdf文件信息抽取方法、装置以及计算机设备 |
CN113343658B (zh) * | 2021-07-01 | 2024-04-09 | 湖南四方天箭信息科技有限公司 | 一种pdf文件信息抽取方法、装置以及计算机设备 |
CN113869014A (zh) * | 2021-08-25 | 2021-12-31 | 盐城金堤科技有限公司 | 表格数据的提取方法和装置、以及存储介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595402A (zh) | 一种提取pdf表格信息的系统 | |
CN101025738B (zh) | 一种免模板动态网站生成方法 | |
CN101923723B (zh) | 实现电子文档显示的方法 | |
US20030200507A1 (en) | System and method for data publication through web pages | |
CN103268340B (zh) | 基于层次式索引的版式可回流文件建立和绘制方法 | |
CN104598462B (zh) | 提取结构化数据的方法及装置 | |
CN110163030A (zh) | 一种基于图像信息的pdf有边框表格抽取方法 | |
CN110516221A (zh) | 提取pdf文档中图表数据的方法、设备和存储介质 | |
CN113158987B (zh) | 表格处理方法、装置、设备及计算机可读存储介质 | |
US8230365B2 (en) | Document management system, document management method and document management program | |
WO2019041442A1 (zh) | 图表数据结构化提取方法、系统、电子设备及计算机可读存储介质 | |
CN104252696B (zh) | 获取缩略图的方法及装置 | |
CN109522390A (zh) | 一种搜索结果展示方法和装置 | |
CN112651331A (zh) | 文本表格提取方法、系统、计算机设备及存储介质 | |
CN116719784A (zh) | 多ofd版式文件弹性聚类组合阅读的装置 | |
CN105721810A (zh) | 一种图像压缩存储方法及装置 | |
CN105373526B (zh) | 一种电子文档中的空白区域处理方法和系统 | |
CN107066438A (zh) | 一种文本编辑方法及装置,电子设备 | |
CN102831187A (zh) | 基于内容的图像检索系统 | |
JP5551986B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
CN103345495B (zh) | 网络环境下超精图像的极速展示方法 | |
WO2016206395A1 (zh) | 周报信息处理方法及装置 | |
JP2003085160A (ja) | ソースファイル生成装置 | |
Tamura | Image database management for pattern information processing studies | |
JP2011118818A (ja) | 画像処理装置 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180928 |
|
WD01 | Invention patent application deemed withdrawn after publication |