CN110377559B - 一种pdf文件数据提取方法、装置及存储介质 - Google Patents
一种pdf文件数据提取方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110377559B CN110377559B CN201910521031.4A CN201910521031A CN110377559B CN 110377559 B CN110377559 B CN 110377559B CN 201910521031 A CN201910521031 A CN 201910521031A CN 110377559 B CN110377559 B CN 110377559B
- Authority
- CN
- China
- Prior art keywords
- sub
- objects
- pdf file
- list
- line
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
本方案涉及人工智能,提供一种PDF文件数据提取方法、装置及存储介质,方法包括:对PDF文件进行解析,生成LT子对象;获取各LT子对象的纵坐标和横坐标,将每页的LT子对象对应存入一个第一列表,按照纵坐标从小到大的顺序依次抽取LT子对象,根据纵坐标由小至大的顺序纵向排列在第一列表中;在分行读取的过程中,通过竖向距离判断LT子对象是否在同一行,将LT子对象划分到各行中;对每一行的LT子对象按x0的顺序从小到大排序,若左侧的LT子对象的x1等于右侧的LT子对象的x0,将这两个LT子对象组合形成组合字符串。本发明将PDF文件的数据转换成excel格式,降低运用数据分析软件从统计月报提取信息的难度。
Description
技术领域
本发明涉及人工智能领域,具体说,涉及一种PDF文件数据提取方法、装置及存储介质。
背景技术
现有统计局的统计月报都是用PDF格式对数据进行存储,从PDF中提取数据十分不便,往往需要人工查看来提取所需的数据,十分耗时耗力。目前还可以将PDF文件转换成word格式,再从word文件中提取数据。但是,现存的PDF转word技术对PDF进行转换时,常常出现乱码,中文顺序错位等问题。而对于统计月报来说,其中还包含有大量的表格,在PDF文件转换的过程中更加会出现表格位置窜动,表格中内容缺失等情况。截止目前,暂未有较好的解决方案。
发明内容
为解决以上技术问题,本发明提供一种PDF文件数据提取方法,应用于电子装置,包括:
S10,使用pdfminer工具对PDF文件进行解析,对PDF的每个页面都生成一个pdfminer.layout对象,其中,所述pdfminer.layout对象中包含LT子对象;
S20,获取各LT子对象的纵坐标和横坐标,并将每页的LT子对象存入对应的第一列表,其中,所述横坐标包括LT子对象的左侧边界坐标x0和LT子对象的右侧边界坐标x1,按照纵坐标从小到大的顺序依次抽取每个页面中pdfminer.layout对象的LT子对象,并根据纵坐标由小至大的顺序纵向排列在各页面对应的第一列表中;
S30,对所述第一列表进行分行读取操作,并且,对于每一种LT子对象,在分行读取的过程中,通过各LT子对象之间的竖向距离判断每个LT子对象所属的行,从而将LT子对象划分到各行中;
S40,对于每一种LT子对象,在每一行中,对LT子对象按左侧边界坐标x0的顺序从小到大排序,并且,通过判断左侧的LT子对象的右侧边界坐标x1是否等于相邻的右侧的LT子对象的左侧边界坐标x0,将多个LT子对象组合形成组合字符串。
本发明还提供一种电子装置,该电子装置包括:存储器和处理器,所述存储器中存储PDF文件数据提取程序,所述PDF文件数据提取程序被所述处理器执行时实现如下步骤:
S10,使用pdfminer工具对PDF文件进行解析,对PDF的每个页面都生成一个pdfminer.layout对象,其中,所述pdfminer.layout对象中包含LT子对象;
S20,获取各LT子对象的纵坐标和横坐标,并将每页的LT子对象存入对应的第一列表,其中,所述横坐标包括LT子对象的左侧边界坐标x0和LT子对象的右侧边界坐标x1,按照纵坐标从小到大的顺序依次抽取每个页面中pdfminer.layout对象的LT子对象,并根据纵坐标由小至大的顺序纵向排列在各页面对应的第一列表中;
S30,对所述第一列表进行分行读取操作,并且,对于每一种LT子对象,在分行读取的过程中,通过各LT子对象之间的竖向距离判断每个LT子对象所属的行,从而将LT子对象划分到各行中;
S40,对于每一种LT子对象,在每一行中,对LT子对象按左侧边界坐标x0的顺序从小到大排序,并且,通过判断左侧的LT子对象的右侧边界坐标x1是否等于相邻的右侧的LT子对象的左侧边界坐标x0,将多个LT子对象组合形成组合字符串。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,实现如上所述的PDF文件数据提取方法。
本发明将PDF文件的数据转换成excel格式,将大大降低运用例如spider和pycharm数据分析软件从统计月报提取信息的难度。
附图说明
通过结合下面附图对其实施例进行描述,本发明的上述特征和技术优点将会变得更加清楚和容易理解。
图1是表示本发明实施例的PDF文件数据提取方法的流程图;
图2是表示本发明实施例的pdfminer.layout对象的框架示意图;
图3是表示本发明第一实施例的PDF文件中的LTChar的示意图;
图4是表示本发明第一实施例的分行读取获得的数据提取结果示意图;
图5是表示本发明第一实施例的对LTChar进行排序后的数据提取结果示意图;
图6是表示本发明第二实施例的PDF文件中的LTChar的示意图;
图7是表示本发明第二实施例的比对组合字符串坐标后的数据提取结果示意图;
图8是表示本发明第三实施例的添加LTline后的数据提取结果示意图;
图9是表示本发明第四实施例的调整LTline后的数据提取结果示意图;
图10是表示本发明第五实施例的PDF文件中的LTLtine的示意图;
图11是表示本发明实施例的电子装置的硬件架构示意图;
图12是表示本发明实施例的PDF文件数据提取程序的程序模块示意图。
具体实施方式
下面将参考附图来描述本发明所述的PDF文件数据提取方法、装置及存储介质的实施例。本领域的普通技术人员可以认识到,在不偏离本发明的精神和范围的情况下,可以用各种不同的方式或其组合对所描述的实施例进行修正。因此,附图和描述在本质上是说明性的,而不是用于限制权利要求的保护范围。此外,在本说明书中,附图未按比例画出,并且相同的附图标记表示相同的部分。
本实施例的PDF文件数据提取方法是应用于对PDF文件中文字及其表格的提取。文字可以是形成在表格内的,也可以是没有表格的分段落的文字。下面以PDF格式的统计月报为例来说明。
第一实施例
图1示出本实施例中PDF文件数据提取方法的流程图,该方法包括以下步骤:
步骤S10,使用pdfminer工具(从PDF文档中提取信息的工具),对PDF文件进行解析,对PDF的每个页面都生成一个pdfminer.layout对象,如图2所示,其中,pdfminer.layout对象中可以包含多个LT子对象,所述LT子对象可以是LTTextBoxHorizontal(水平文本框)子对象、LTChar(字符)子对象中的至少一个。LTChar是具有边界的字符。下文中主要是以LTChar为例来说明,所以提到的字符为LT子对象。
当然,更进一步,还可以包括LTFigure(区域框)子对象、LTLine(分隔线)子对象。其中,LTFigure代表由区域框占用的一块区域,区域框用于引入图片或另一个PDF文档。
步骤S20,获取各LT子对象的纵坐标和横坐标,例如,如果LT子对象是LTChar,则是获取每个字符的纵坐标和横坐标。如果LT子对象是LTLine,则获取每个分隔线的横坐标和纵坐标。如果LT子对象是水平文本框,则获取每个水平文本框的纵坐标和横坐标。并将每页的LT子对象存入对应的第一列表,比如,第一页对应一个第一列表,第二页对应一个第一列表。将每页的pdfminer.layout对象的LT子对象对应存入一个第一列表对应的命令为{'pageN':[LTobjs of layout]},其中,N表示第N个layout,[LTobjs of layout]为数组。
其中,优选地,所述纵坐标包括LT子对象的左下角纵坐标y0和LT子对象的右上角纵坐标y1,所述横坐标包括LT子对象的左侧边界坐标x0和LT子对象的右侧边界坐标x1,按照纵坐标从小到大的顺序依次抽取pdfminer.layout对象的LT子对象,并根据左下角的纵坐标由小至大的顺序按序纵向排列在第一列表中。
步骤S30,通过[list of line(list)]命令分行读取第一列表中的内容,并且,在分行读取的过程中,还通过竖向距离判断LT子对象是否在同一行,从而将LT子对象划分到各行中。其中,通过竖向距离判断LT子对象是否在同一行的公式如下:
|LTtext[i]y0-LTtext[i+1]y0|<|LTtext[i]y1-LTtext[i]y0| (1)
其中,|LTtext[i]y1-LTtext[i]y0|为LT子对象的高度,例如LT子对象为一个字符,则对应的该LT子对象的高度为字符的高度;
|LTtext[i]y0-LTtext[i+1]y0|为第i个LT子对象与第i+1个LT子对象的y0的差值;
i表示第i个LT子对象。
通过该公式1,第i个LT子对象与第i+1个LT子对象的y0的差值如果小于一个LT子对象的高度,则说明第i个LT子对象与第i+1个LT子对象之间的距离肯定小于一个LT子对象所需占用的高度,那么,第i个LT子对象与第i+1个LT子对象就应该在同一行。而如果i个LT子对象与第i+1个LT子对象之间的距离大于一个LT子对象的高度,则第i个LT子对象与第i+1个LT子对象就应该是分布在不同的行。
步骤S40,对同一行的LT子对象按左侧边界坐标x0从小到大的顺序由左至右排序,对于每一行,通过判断左侧的LT子对象的右侧边界坐标x1是否等于相邻的右侧的LT子对象的左侧边界坐标x0,将多个LT子对象组合形成组合字符串。通过步骤S40,可以将同一行的LT子对象按照原PDF文件中的顺序组合在一起,还原PDF文件中的文字顺序。
以上是提取了LTChar的内容,月报的主要内容通常还包括表格,下面还需要提取LTline。根据LTline的坐标,划分出表格的边界线。
进一步地,还包括步骤S50,以组合字符串的最左侧的字符串的左侧边界坐标作为组合字符串的左侧边界坐标,以组合字符串的最右侧的字符串的右侧边界坐标作为组合字符串的右侧边界坐标;
比较各组合字符串的左侧边界坐标,将组合字符串再按照组合字符串的左侧边界坐标从小到大的顺序从左至右排序。
进一步地,还包括步骤S60,将LTline的所有竖线的横坐标位置按照从小到大的顺序从左往右排序,将LTline的所有横线的纵坐标位置按照从小到大的顺序从上往下排序,从而形成表格。
下面以一个具体实例来说明数据提取过程。对图3所示的PDF文件中的列表及其中的文字进行提取。如图3所示,其中的文字包括如下三行:
[“其”,“他”……“-”,“5”,“8”,“.”,“7”]
[“总”,“计”……“电”,“子”,“亿”,“元”……”1”,”0”,“.”,“9”]
[“设”,“备”,“制“,”造“,”业”,“总”]
在读取过程中,“其”与“他”的y0值的差值的绝对值小于LT子对象的高度。所以,“其”与“他”应该在同一行内。同样地,把应该在同一行的LT子对象都分配到同一行内。而读取到“7”的时候,“7”的y0值–“总”的y0值的绝对值大于LT子对象的高度,因此“7”与“总”不会在同一行,“总”会另起一行。
而因为“设备制造业”这几个字在两行中间,所以“9”的y0值-“设”的y0值的绝对值小于LT子对象的高度,因此,在提取文字时,会将“总计中:计算机、通信和其他电子“和”设备制造业”存入到第一列表的同一行,并将“设备制造业”添加到“10.9”后面(因为是逐行由上至下读取,肯定是先读取到“10.9”,然后再读取到“设”)。由此得到的文件如图4所示。
接下来将处在同一行的字符形成组合字符串。对于第二行的“通”和“信”,由于“通”的x1等于“信”的x0值,所以,“通”与“信”组合在一起。而对于第二行的“子”和“亿”,由于“子”的x1不等于“亿”的x0值,所以“子”和“亿”并不是组合在一起,而是以“子”的x1与“亿”的x0值之间的间隔保持。通过比较x1和x0值,可以将每行的LT子对象形成组合字符串。例如第二行可以形成“总计中:计算机、通信和其他电子”、“亿元”、“490.31”、“3202.49”、“10.9”、“设备制造业”这些组合字符串。其中,以组合字符串的最左侧的字符串的左侧边界坐标作为该组合字符串的左侧边界坐标,以最右侧的字符串的右侧边界坐标作为组合字符串的右侧边界坐标。以组合字符串的最左侧字符串的左下角纵坐标作为组合字符串的左下角纵坐标,以最右侧的字符串的右上角纵坐标作为组合字符串的右上角纵坐标。
进一步比较组合字符串的左侧边界坐标和右侧边界坐标。如果组合字符串的x0值–左侧组合字符串的x1值<预设的拼接阈值,例如0.01(避免由于小误差而不能连接),则这两个组合字符串可以拼接在一起。本实施例的第二行并没有满足此条件的组合字符串。
但是目前这些组合字符串是以“总计中:计算机、通信和其他电子”、“亿元”、“490.31”、“3202.49”、“10.9”、“设备制造业”的顺序排列,这与原PDF文件并不完全一致。因此,继续比较各组合字符串的左侧边界坐标,将组合字符串再按照左侧边界坐标从小到大的顺序从左至右排序。例如,组合字符串“总计中:计算机、通信和其他电子”的左侧边界坐标小于组合字符串“设备制造业”的左侧边界坐标。则组合字符串“总计中:计算机、通信和其他电子”应该在组合字符串“设备制造业”的左侧,而组合字符串“设备制造业”的左侧边界坐标小于“亿元”、“490.31”、“3202.49”、“10.9”的坐标,则组合字符串“设备制造业”就转移到“总计中:计算机、通信和其他电子”与“亿元”之间。
至此,第二行的几个组合字符串可以按照“总计中:计算机、通信和其他电子”、“设备制造业”、“亿元”、“490.31”、“3202.49”、“10.9”排列。其形式如图5所示。
将LTline的所有竖线的横坐标位置按照从小到大的顺序从左往右排序,将LTline的所有横线的纵坐标位置按照从小到大的顺序从上往下排序,从而形成表格,其形式如图8所示。
以上是以第二行为例进行说明,其他行与第二行的方法相同,不再赘述。
在一个可选实施例中,在步骤S20中,对于LTFigure,则迭代抽取其中的LT子对象,形成一个包含LTFigure内部所有LT子对象的第二列表,并存入第一列表中。
第二实施例
第二实施例与第一实施例基本相同,在此省略与第一实施例相同的部分内容,仅描述与第一实施例不同的特征。
还可以比较同一行的组合字符串的左侧边界坐标,如果左侧边界坐标相同,如图6所示,“总计中:计算机、通信和其他电子”与“设备制造业”的x0值相等,则进一步比较两个组合字符串的y0数值,并将y0数值高的排列在y0数值低的组合字符串前面。例如图6中,“总计中:计算机、通信和其他电子”的y0大于“设备制造业”的y0,所以将“设备制造业”拼接在“总计中:计算机、通信和其他电子”的后面,如图7所示。
第三实施例
第三实施例与第一实施例基本相同,在此省略与第一实施例相同的部分内容,仅描述与第一实施例不同的特征。
如果按x0的顺序从小到大排序后,产生位置重叠的情况,则说明组合字符串的左侧边界坐标和右侧边界坐标的区间落在另一组合字符串的左侧边界坐标和右侧边界坐标的区间之内,则可能该组合字符串是所述另一组合字符串换行导致的位置变化,如图3所示。例如,“设备制造业”的左侧边界坐标和右侧边界坐标的区间就落在“总计中:计算机、通信和其他电子”的左侧边界坐标和右侧边界坐标的区间内,则进一步比较两个组合字符串的y0数值,并将y0数值高的排列在y0数值低的组合字符串前面。从而得到“总计中:计算机、通信和其他电子设备制造业”,如图7所示。
第四实施例
第四实施例与第一实施例基本相同,在此省略与第一实施例相同的部分内容,仅描述与第一实施例不同的特征。
比对组合字符串对应的LTline的数值,如果组合字符串对应的LTline的竖线的数值是完全相同的,则说明组合字符串在原PDF文件中是处于同一单元格内。比如,“总计中:计算机、通信和其他电子”对应的LTline的数值与“设备制造业”对应的LTline的数值是完全相同的。因此,根据满足|LTtext[i]y0-LTtexti+1y0<LTtextiy1-LTtext[i]y0条件的LT子对象的个数,将满足该条件的LTChar所对应的LTline的竖线向右侧移动对应的距离。例如,“设备制造业”是5个LTChar,其中每个字符与该行的其他字符的竖向距离都满足|LTtext[i]y0-LTtext[i+1]y0|<|LTtext[i]y1-LTtext[i]y0|,则将竖线向右侧移动对应5个LTChar的距离,以便将“总计中:计算机、通信和其他电子”],[“设备制造业”]所有文字都框在其中,从而形成“总计中:计算机、通信和其他电子设备制造业”,如图9所示。并且,对应的,将该竖线的右侧的多个竖线也向右侧移动5个LTChar的距离。
第五实施例
第五实施例与第一实施例基本相同,在此省略与第一实施例相同的部分内容,仅描述与第一实施例不同的特征。
对于每行,判断最左侧竖线的横坐标是否大于最左侧字符串的横坐标,如果大于,则意味着最左侧竖线位于最左侧字符串的右侧,即没有把字符串全部框在单元格内,因此在该最左侧字符串的左侧边界坐标位置添加竖线,可以最左侧字符串也框入单元格内。同样的,判断最右侧竖线的横坐标是否小于最右侧字符串的横坐标,如果小于,则在该最右侧字符串的右侧边界坐标位置添加竖线。如图10所示,第二行的最左侧字符串“总”左侧没有竖线,所以在其左侧以“总”的左侧边界坐标位置添加竖线。
以上是说明了LTline和LTChar,LTTextBoxHorizontal和LTFigure也是同样的方式,一个LTTextBoxHorizontal作为LT子对象即相当于一个字符,对于解析出来的多个LTTextBoxHorizontal按照上述的纵坐标、横坐标排列方法即可。
参阅图11所示,是本发明电子装置的实施例的硬件架构示意图。本实施例中,所述电子装置2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图11所示,所述电子装置2至少包括,但不限于,可通过系统总线相互通信连接的存储器21、处理器22。其中:所述存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器21可以是所述电子装置2的内部存储单元,例如该电子装置2的硬盘或内存。在另一些实施例中,所述存储器21也可以是所述电子装置2的外部存储设备,例如该电子装置2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器21还可以既包括所述电子装置2的内部存储单元也包括其外部存储设备。本实施例中,所述存储器21通常用于存储安装于所述电子装置2的操作系统和各类应用软件,例如所述PDF文件数据提取程序代码等。此外,所述存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制所述电子装置2的总体操作,例如执行与所述电子装置2进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器22用于运行所述存储器21中存储的程序代码或者处理数据,例如运行所述的PDF文件数据提取程序等。
可选地,该电子装置2还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)显示器等。显示器用于显示在电子装置2中处理的信息以及用于显示可视化的用户界面。
需要指出的是,图11仅示出了具有组件21-22的电子装置2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
包含可读存储介质的存储器21中可以包括操作系统、PDF文件数据提取程序50等。处理器22执行存储器21中PDF文件数据提取程序50时实现以上PDF文件数据提取方法所述的步骤。在本实施例中,存储于存储器21中的所述PDF文件数据提取程序可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并可由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。例如,图11示出了所述PDF文件数据提取程序的程序模块示意图,该实施例中,所述PDF文件数据提取程序50可以被分割为PDF文件解析模块501、LT子对象存储模块502、分行读取模块503、LT子对象排序模块504。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述PDF文件数据提取程序在所述电子装置2中的执行过程。以下描述将具体介绍所述程序模块的具体功能。
其中,PDF文件解析模块501用于使用pdfminer工具(可以从PDF文档中提取信息的工具),对PDF文件进行解析,对应PDF的每个页面都生成一个pdfminer.layout对象,其中,pdfminer.layout对象中包含多个LT子对象,所述LT子对象包括LTTextBoxHorizontal(水平文本框)子对象、LTChar(字符)子对象中的至少一个。
进一步地,LT子对象还可以包括LTFigure(区域框)子对象、LTLine(分隔线)子对象,其中,LTFigure代表由区域框占用的一块区域,区域框用于引入例如图片或另一个PDF文档。
其中,LT子对象存储模块502用于获取各LT子对象的纵坐标和横坐标,例如,如果LT子对象是LTChar,则是获取每个字符的纵坐标和横坐标。如果LT子对象是LTLine,则获取每个分隔线的横坐标和纵坐标。如果LT子对象是水平文本框,则获取每个水平文本框的纵坐标和横坐标。并将每页的LT子对象对应存入一个第一列表,比如,第一页对应一个第一列表,第二页对应一个第一列表。将每页的pdfminer.layout对象的LT子对象对应存入一个第一列表对应的命令为{'pageN':[LTobjs of layout]},其中,N表示第N个layout,[LTobjsof layout]为数组。
其中,所述纵坐标包括LT子对象的左下角纵坐标y0和LT子对象的右上角纵坐标y1,所述横坐标包括LT子对象的左侧边界坐标x0和LT子对象的右侧边界坐标x1,按照纵坐标从小到大的顺序依次抽取pdfminer.layout对象的LT子对象,并根据左下角的纵坐标由小至大的顺序按序排列在第一列表中。
分行读取模块503用于通过[list of line(list)]命令分行读取第一列表中的内容,并且,在分行读取的过程中,还通过各LT子对象之间的竖向距离判断LT子对象是否在同一行,从而将LT子对象划分到各行中。其中,通过竖向距离判断LT子对象是否在同一行的公式如下:
|LTtext[i]y0-LTtext[i+1]y0|<|LTtext[i]y1-LTtext[i]y0| (1)
其中,|LTtext[i]y1-LTtext[i]y0|为LT子对象的高度,例如LT子对象为一个字符,则对应的该LT子对象的高度为字符的高度;
|LTtext[i]y0-LTtext[i+1]y0|为第i个LT子对象与第i+1个LT子对象的y0的差值;
i表示第i个LT子对象。
通过该公式,第i个LT子对象与第i+1个LT子对象的y0的差值如果小于一个LT子对象的高度,则说明第i个LT子对象与第i+1个LT子对象之间的距离肯定小于一个LT子对象所需占用的高度,那么,第i个LT子对象与第i+1个LT子对象就应该在同一行。而如果i个LT子对象与第i+1个LT子对象之间的距离大于一个LT子对象的高度,则第i个LT子对象与第i+1个LT子对象就应该是分布在不同的行。
其中,LT子对象排序模块504用于对同一行的LT子对象按x0的顺序从小到大排序,对于每一行,若左侧的LT子对象的x1等于其右侧临近的LT子对象的x0,则将这两个LT子对象组合在一起,形成组合字符串。通过步骤4,可以将同一行的LT子对象按照原PDF文件中的顺序组合在一起,还原PDF文件中的文字顺序。
下面以一个具体实例来说明数据提取过程。对图3所示的PDF文件中的列表即其中的文字进行提取。如图3所示,其中的文字包括如下三行:
[“其”,“他”……“-”,“5”,“8”,“.”,“7”……]
[“总”,“计”……“电”,“子”,“亿”,“元”……”1”,”0”,“.”,“9”]
[“设”,“备”,“制“,”造“,”业”,“总”……]
在读取过程中,“其”与“他”的y0值的差值的绝对值小于LT子对象的高度。所以,“其”与“他”应该在同一行内。同样地,把应该在同一行的LT子对象都分配到同一行内。而读取到“7”的时候,(“7”的y0值–“总”)的y0值的绝对值大于LT子对象的高度,因此“7”与“总”不会在同一行,“总”会另起一行。
而因为“设备制造业”这几个字在两行中间,所以“9”的y0值-“设”的y0值)的绝对值小于LT子对象的高度,因此,在提取文字时,会将“总计中:计算机、通信和其他电子“和”设备制造业”存入到第一列表的同一行,并将“设备制造业”添加到“10.9”后面(因为是逐行由上至下读取,肯定是先读取到“10.9”,然后再读取到“设”)。由此得到的文件如图4所示。
还包括步骤S50,接下来将处在同一行的字符形成组合字符串。对于第二行的“通”和“信”,由于“通”的x1等于“信”的x0值,所以,“通”与“信”组合在一起。而对于第二行的“子”和“亿”,由于“子”的x1不等于“亿”的x0值,所以“子”和“亿”并不是组合在一起,而是以“子”的x1与“亿”的x0值之间的间隔保持。通过比较x1和x0值,可以将每行的LT子对象形成组合字符串。例如第二行可以形成“总计中:计算机、通信和其他电子”、“亿元”、“490.31”、“3202.49”、“10.9”、“设备制造业”这些组合字符串。其中,以最左侧的字符串的左侧边界坐标作为组合字符串的左侧边界坐标,以最右侧的字符串的右侧边界坐标作为组合字符串的右侧边界坐标。以最左侧字符串的左下角纵坐标作为组合字符串的左下角纵坐标,以最右侧的字符串的右上角纵坐标作为组合字符串的右上角纵坐标。
但是目前这些组合字符串是以“总计中:计算机、通信和其他电子”、“亿元”、“490.31”、“3202.49”、“10.9”、“设备制造业”的顺序排列,这与原PDF文件并不完全一致。因此,继续比较各组合字符串的左侧边界坐标,将组合字符串再按照左侧边界坐标从小到大的顺序从左至右排序。例如,组合字符串“总计中:计算机、通信和其他电子”的左侧边界坐标小于组合字符串“设备制造业”的左侧边界坐标。则组合字符串“总计中:计算机、通信和其他电子”应该在组合字符串“设备制造业”的左侧,而组合字符串“设备制造业”的左侧边界坐标小于“亿元”、“490.31”、“3202.49”、“10.9”的坐标,则组合字符串“设备制造业”就转移到“总计中:计算机、通信和其他电子”与“亿元”之间。
至此,第二行的几个组合字符串可以按照“总计中:计算机、通信和其他电子”、“设备制造业”、“亿元”、“490.31”、“3202.49”、“10.9”排列。其形式如图5所示。
以上是以第二行为例进行说明,其他行与第二行的方法相同,不再赘述。
在一个可选实施例中,还包括第一位置纠正模块505,位置纠正模块505可以比较同一行的组合字符串的左侧边界坐标,如果左侧边界坐标相同,如图6所示,“总计中:计算机、通信和其他电子”与“设备制造业”的x0值相等,则进一步比较两个组合字符串的y0数值,并将y0数值高的排列在y0数值低的组合字符串前面。例如图5中,“总计中:计算机、通信和其他电子”的y0大于“设备制造业”的y0,所以将“设备制造业”拼接在“总计中:计算机、通信和其他电子”的后面,如图7所示。
在一个可选实施例中,还包括第二位置纠正模块506,如果按x0的顺序从小到大排序后,产生位置重叠的情况,则说明组合字符串的左侧边界坐标和右侧边界坐标的区间落在另一组合字符串的左侧边界坐标和右侧边界坐标的区间之内,则可能该组合字符串是所述另一组合字符串换行导致的位置变化。例如,如图3所示,“设备制造业”的左侧边界坐标和右侧边界坐标的区间就落在“总计中:计算机、通信和其他电子”的左侧边界坐标和右侧边界坐标的区间内,第二位置纠正模块506进一步比较两个组合字符串的y0数值,并将y0数值高的排列在y0数值低的组合字符串前面。从而得到“总计中:计算机、通信和其他电子设备制造业”,如图7所示。
以上是提取了LTChar的内容,月报的主要内容通常还包括表格,下面还需要提取LTline。根据LTline的坐标,划分出表格的边界线。
进一步地,还包括表格形成模块507,表格形成模块507将LTline的所有竖线的横坐标位置按照从小到大的顺序从左往右排序,将LTline的所有横线的纵坐标位置按照从小到大的顺序从上往下排序,从而形成表格,如图8所示。
进一步地,还包括表格调整模块508,表格调整模块508比对组合字符串对应的LTline的数值,如果LT子对象的LTline的竖线的数值是完全相同的,则说明LT子对象在原PDF文件中是处于同一单元格内。比如,“总计中:计算机、通信和其他电子”对应的LTline的数值与“设备制造业”对应的LTline的数值是相同的。因此,根据满足|LTtext[i]y0-LTtext[i+1]y0|<|LTtext[i]y1-LTtext[i]y0条件的LTChar的个数,将满足该条件的LTChar所对应的LTline的竖线向右侧移动对应的距离。例如“设备制造业”是5个LTChar,其中每个字符与该行的其他字符的竖向距离都满足|LTtext[i]y0-LTtext[i+1]y0|<|LTtext[i]y1-LTtext[i]y0|,则将竖线向右侧移动对应5个LTChar,以便将“总计中:计算机、通信和其他电子”,“设备制造业”所有文字都框在其中,从而形成“总计中:计算机、通信和其他电子设备制造业”,如图9所示。并且,对应的,将该竖线的右侧的多个竖线也向右侧移动5个LTChar的距离。
在一个可选实施例中,LT子对象存储模块502还用于在步骤S20中,对于LTFigure,则迭代抽取其中的LT子对象,形成一个包含LTFigure内部所有LT子对象的第二列表,并存入第一列表中。
在一个可选实施例中,表格调整模块508还用于对于每行,判断最左侧竖线的横坐标是否大于最左侧字符串的横坐标,如果大于,则意味着最左侧竖向位于最左侧字符串的右侧,即没有把字符串全部框在单元格内,因此在该最左侧字符串的左侧边界坐标位置添加竖线,可以最左侧字符串也框入单元格内。同样的,判断最右侧竖线的横坐标是否小于最又侧字符串的横坐标,如果小于,则在该最右侧字符串的右侧边界坐标位置添加竖线。如图10所示,第二行的最左侧字符串“总”左侧没有竖向,所以在其左侧以“总”的左侧边界坐标位置添加竖线。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中包括PDF文件数据提取程序等,所述PDF文件数据提取程序50被处理器22执行时实现如下操作:
步骤S10,使用pdfminer工具(从PDF文档中提取信息的工具),对PDF文件进行解析,对应PDF的每个页面都生成一个pdfminer.layout对象,如图2所示,其中,pdfminer.layout对象中包含多个LT子对象,所述LT子对象包括LTTextBoxHorizontal(水平文本框)子对象、LTChar(字符)子对象。LTChar是具有边界的字符。下文中主要是以LTChar为例来说明,所以提到的字符为LT子对象。
当然。更进一步,还可以包括LTFigure(区域框)子对象、LTLine(分隔线)子对象。其中,LTFigure代表由区域框占用的一块区域,区域框用于引入图片或另一个PDF文档。
步骤S20,获取各LT子对象的纵坐标和横坐标,例如,如果LT子对象是LTChar,则是获取每个字符的纵坐标和横坐标。如果LT子对象是LTLine,则获取每个分隔线的横坐标和纵坐标。如果LT子对象是水平文本框,则获取每个水平文本框的纵坐标和横坐标。并将每页的LT子对象对应存入一个第一列表,比如,第一页对应一个第一列表,第二页对应一个第一列表。将每页的pdfminer.layout对象的LT子对象对应存入一个第一列表对应的命令为{'pageN':[LTobjs of layout]},其中,N表示第N个layout,[LTobjs of layout]为数组。
其中,所述纵坐标包括LT子对象的左下角纵坐标y0和LT子对象的右上角纵坐标y1,所述横坐标包括LT子对象的左侧边界坐标x0和LT子对象的右侧边界坐标x1,按照纵坐标从小到大的顺序依次抽取pdfminer.layout对象的LT子对象,并根据左下角的纵坐标由小至大的顺序按序排列在第一列表中。
步骤S30,通过[list of line(list)]命令分行读取PDF文件中的内容,并且,在分行读取的过程中,还通过各LT子对象之间的竖向距离判断LT子对象是否在同一行,从而将LT子对象划分到各行中。其中,通过竖向距离判断LT子对象是否在同一行的公式如下:
|LTtext[i]y0-LTtext[i+1]y0|<|LTtext[i]y1-LTtext[i]y0| (1)
其中,|LTtext[i]y1-LTtext[i]y0|为LT子对象的高度,例如LT子对象为一个字符,则对应的该LT子对象的高度为字符的高度;
|LTtext[i]y0-LTtext[i+1]y0|为第i个LT子对象与第i+1个LT子对象的y0的差值;
i表示第i个LT子对象。
通过该公式1,第i个LT子对象与第i+1个LT子对象的y0的差值如果小于一个LT子对象的高度,则说明第i个LT子对象与第i+1个LT子对象之间的距离肯定小于一个LT子对象所需占用的高度,那么,第i个LT子对象与第i+1个LT子对象就应该在同一行。而如果i个LT子对象与第i+1个LT子对象之间的距离大于一个LT子对象的高度,则第i个LT子对象与第i+1个LT子对象就应该是分布在不同的行。
步骤S40,对同一行的LT子对象按x0的顺序从小到大排序,对于每一行,通过判断左侧的LT子对象的x1是否等于相邻的右侧的LT子对象的x0,将多个LT子对象组合形成组合字符串。通过步骤S40,可以将同一行的LT子对象按照原PDF文件中的顺序组合在一起,还原PDF文件中的文字顺序。
本发明之计算机可读存储介质的具体实施方式与上述PDF文件数据提取方法以及电子装置2的具体实施方式大致相同,在此不再赘述。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种PDF文件数据提取方法,应用于电子装置,其特征在于,包括以下步骤:
S10,使用pdfminer工具对PDF文件进行解析,对PDF的每个页面都生成一个pdfminer.layout对象,其中,所述pdfminer.1ayout对象中包含LT子对象;
S20,获取各LT子对象的纵坐标和横坐标,并将每页的LT子对象存入对应的第一列表,其中,所述横坐标包括LT子对象的左侧边界坐标x0和LT子对象的右侧边界坐标x1,按照纵坐标从小到大的顺序依次抽取每个页面中pdfminer.layout对象的LT子对象,并根据纵坐标由小至大的顺序纵向排列在各页面对应的第一列表中;
S30,对所述第一列表进行分行读取操作,并且,对于每一种LT子对象,在分行读取的过程中,通过各LT子对象之间的竖向距离判断每个LT子对象所属的行,从而将LT子对象划分到各行中;
S40,对于每一种LT子对象,在每一行中,对LT子对象按左侧边界坐标x0的顺序从小到大排序,并且,通过判断左侧的LT子对象的右侧边界坐标x1是否等于相邻的右侧的LT子对象的左侧边界坐标x0,将多个LT子对象组合形成组合字符串。
2.根据权利要求1所述的PDF文件数据提取方法,其特征在于,所述方法还包括:
S50,以组合字符串的最左侧的字符串的左侧边界坐标作为组合字符串的左侧边界坐标;
在每一行中,比较各组合字符串的左侧边界坐标,将组合字符串再按照组合字符串的左侧边界坐标从小到大的顺序从左至右排序。
3.根据权利要求1所述的PDF文件数据提取方法,其特征在于,通过竖向距离判断LT子对象是否在同一行的公式如下:
|LTtext[i]y0-LTtext[[i+1]y0|<|LTtext[i]y1-LTtext[i]y0|
其中,|LTtext[i]y1-LTtext[i]y0|为LT子对象的高度;
|LTtext[i]y0-LTtext[[i+1]y0|为第i个LT子对象与第i+1个LT子对象的y0的差值;
i表示第i个LT子对象;
y0是LT子对象的左下角纵坐标;
y1是LT子对象的右上角纵坐标。
4.根据权利要求1所述的PDF文件数据提取方法,其特征在于,步骤S20中将每页的LT子对象存入对应的第一列表的步骤包括:
通过命令将每页的pdfminer.layout对象的LT子对象对应存入一个第一列表。
5.根据权利要求1所述的PDF文件数据提取方法,其特征在于,所述LT子对象包括LTTextBoxHorizontal子对象、LTChar子对象、LTFigure子对象中的至少一项,其中,LTFigure子对象代表由区域框占用的一块区域,区域框用于引入另一个PDF文档。
6.根据权利要求5所述的PDF文件数据提取方法,其特征在于,
步骤S20还包括,对于LTTextBoxHorizontal子对象,直接存入第一列表,对于LTFigure子对象,则迭代抽取其中的LT子对象,形成一个包含LTFigure内部所有LT子对象的第二列表,并存入第一列表中。
7.根据权利要求1所述的PDF文件数据提取方法,其特征在于,所述LT子对象还包括LTLine子对象,所述方法还包括:
步骤S60,根据LTline子对象的坐标,将LTline的所有竖线的横坐标位置按照从小到大的顺序从左往右排序,将LTline的所有横线的纵坐标位置按照从小到大的顺序从上往下排序,从而形成表格。
8.一种电子装置,其特征在于,该电子装置包括:存储器和处理器,所述存储器中存储PDF文件数据提取程序,所述PDF文件数据提取程序被所述处理器执行时实现如下步骤:
S10,使用pdfminer工具对PDF文件进行解析,对PDF的每个页面都生成一个pdfminer.layout对象,其中,所述pdfminer.layout对象中包含LT子对象;
S20,获取各LT子对象的纵坐标和横坐标,并将每页的LT子对象存入对应的第一列表,其中,所述横坐标包括LT子对象的左侧边界坐标x0和LT子对象的右侧边界坐标x1,按照纵坐标从小到大的顺序依次抽取每个页面中pdfminer.layout对象的LT子对象,并根据纵坐标由小至大的顺序纵向排列在各页面对应的第一列表中;
S30,对所述第一列表进行分行读取操作,并且,对于每一种LT子对象,在分行读取的过程中,通过各LT子对象之间的竖向距离判断每个LT子对象所属的行,从而将LT子对象划分到各行中;
S40,对于每一种LT子对象,在每一行中,对LT子对象按左侧边界坐标x0的顺序从小到大排序,并且,通过判断左侧的LT子对象的右侧边界坐标x1是否等于相邻的右侧的LT子对象的左侧边界坐标x0,将多个LT子对象组合形成组合字符串。
9.根据权利要求8所述的电子装置,其特征在于,
还包括步骤S50,以组合字符串的最左侧的字符串的左侧边界坐标作为组合字符串的左侧边界坐标;
比较各组合字符串的左侧边界坐标,将组合字符串再按照组合字符串的左侧边界坐标从小到大的顺序从左至右排序。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,实现如权利要求1-7任一项所述的PDF文件数据提取方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910521031.4A CN110377559B (zh) | 2019-06-17 | 2019-06-17 | 一种pdf文件数据提取方法、装置及存储介质 |
PCT/CN2019/103580 WO2020252931A1 (zh) | 2019-06-17 | 2019-08-30 | 一种pdf文件数据提取方法和装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910521031.4A CN110377559B (zh) | 2019-06-17 | 2019-06-17 | 一种pdf文件数据提取方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110377559A CN110377559A (zh) | 2019-10-25 |
CN110377559B true CN110377559B (zh) | 2022-09-16 |
Family
ID=68248967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910521031.4A Active CN110377559B (zh) | 2019-06-17 | 2019-06-17 | 一种pdf文件数据提取方法、装置及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110377559B (zh) |
WO (1) | WO2020252931A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114077830A (zh) * | 2020-08-17 | 2022-02-22 | 税友软件集团股份有限公司 | 一种基于位置的pdf表格文档的解析方法、装置及设备 |
CN113361257B (zh) * | 2021-06-29 | 2022-10-11 | 深圳壹账通智能科技有限公司 | Pdf文档解析方法、系统、电子装置及存储介质 |
CN115618847B (zh) * | 2022-12-20 | 2023-03-14 | 浙江保融科技股份有限公司 | 一种解析pdf文档的方法、装置和可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866335A (zh) * | 2010-06-14 | 2010-10-20 | 深圳市万兴软件有限公司 | 一种文档转换中的表格处理方法及装置 |
CN102722475A (zh) * | 2012-05-09 | 2012-10-10 | 深圳市万兴软件有限公司 | 一种PDF文档中的表格转换成Excel表格的方法 |
JP2016177524A (ja) * | 2015-03-20 | 2016-10-06 | 株式会社島津製作所 | Pdfデータ取り出しシステム及びpdfデータ取り出しシステム用プログラム |
CN109446487A (zh) * | 2018-11-01 | 2019-03-08 | 北京神州泰岳软件股份有限公司 | 一种解析便携式文档格式文档表格的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8861856B2 (en) * | 2007-09-28 | 2014-10-14 | Abbyy Development Llc | Model-based methods of document logical structure recognition in OCR systems |
CN108038426A (zh) * | 2017-11-29 | 2018-05-15 | 阿博茨德(北京)科技有限公司 | 一种提取文件中图表信息的方法及装置 |
US10902193B2 (en) * | 2017-12-13 | 2021-01-26 | Think Research Corporation | Automated generation of web forms using fillable electronic documents |
CN108415887B (zh) * | 2018-02-09 | 2021-04-16 | 武汉大学 | 一种pdf文件向ofd文件转化的方法 |
-
2019
- 2019-06-17 CN CN201910521031.4A patent/CN110377559B/zh active Active
- 2019-08-30 WO PCT/CN2019/103580 patent/WO2020252931A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866335A (zh) * | 2010-06-14 | 2010-10-20 | 深圳市万兴软件有限公司 | 一种文档转换中的表格处理方法及装置 |
CN102722475A (zh) * | 2012-05-09 | 2012-10-10 | 深圳市万兴软件有限公司 | 一种PDF文档中的表格转换成Excel表格的方法 |
JP2016177524A (ja) * | 2015-03-20 | 2016-10-06 | 株式会社島津製作所 | Pdfデータ取り出しシステム及びpdfデータ取り出しシステム用プログラム |
CN109446487A (zh) * | 2018-11-01 | 2019-03-08 | 北京神州泰岳软件股份有限公司 | 一种解析便携式文档格式文档表格的方法及装置 |
Non-Patent Citations (1)
Title |
---|
PDF文件信息的抽取与分析;李珍等;《计算机应用》;20031228(第12期);第145-147页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110377559A (zh) | 2019-10-25 |
WO2020252931A1 (zh) | 2020-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110377559B (zh) | 一种pdf文件数据提取方法、装置及存储介质 | |
US7853869B2 (en) | Creation of semantic objects for providing logical structure to markup language representations of documents | |
CN110968667B (zh) | 一种基于文本状态特征的期刊文献表格抽取方法 | |
US20190294399A1 (en) | Method and device for parsing tables in pdf document | |
EP0651339B1 (en) | Method of finding columns in tabular documents | |
CN111428457B (zh) | 数据表的自动格式化 | |
CN101443790A (zh) | 数字图像中的非回流内容的有效处理 | |
CN115061721A (zh) | 一种报表生成方法、装置、计算机设备及存储介质 | |
CN111339166A (zh) | 基于词库的匹配推荐方法、电子装置及存储介质 | |
CN105302626B (zh) | Xps结构化数据的解析方法 | |
CN113434674A (zh) | 数据解析方法、装置、电子设备及可读存储介质 | |
CN112286934A (zh) | 数据库表导入方法、装置、设备及介质 | |
CN111367982B (zh) | 导入tririga基础数据的方法、装置、计算机设备及存储介质 | |
CN113327136A (zh) | 归因分析方法、装置、电子设备及存储介质 | |
CN112417899A (zh) | 文字翻译方法、装置、计算机设备和存储介质 | |
CN116644729A (zh) | 表格文件处理方法、装置、计算机设备和存储介质 | |
US9898523B2 (en) | Tabular data parsing in document(s) | |
US10970478B2 (en) | Tabular data analysis method, recording medium storing tabular data analysis program, and information processing apparatus | |
CN114398346A (zh) | 数据迁移方法、装置、设备及存储介质 | |
CN114201620A (zh) | 用于挖掘pdf文件中的pdf表格的方法、设备和介质 | |
CN113658002A (zh) | 基于决策树的交易结果生成方法、装置、电子设备及介质 | |
CN116860747A (zh) | 训练样本的生成方法、装置、电子设备及存储介质 | |
US10671644B1 (en) | Adaptive column set composition | |
CN114882515A (zh) | 基于神经网络模型的表格类型判定方法、设备及介质 | |
US20200250238A1 (en) | Information processing apparatus and non-transitory computer readable medium |
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 |