【技术实现步骤摘要】
一种PDF文件数据提取方法、装置及存储介质
本专利技术涉及人工智能领域,具体说,涉及一种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子对象,在每一行中,对 ...
【技术保护点】
1.一种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子对象组合形成组合字符串。
【技术特征摘要】
1.一种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子对象组合形成组合字符串。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子对象。4.根据权利要求1所述的PDF文件数据提取方法,其特征在于,步骤S20中将每页的LT子对象存入对应的第一列表的步骤包括:通过命令{'pageN':[LTobjsoflayout]}将每页的pdfminer.layout对象的LT子对象对应存入一个第一列表,其中,N表示第N个layout,[LTobjsoflayout]为数组。5.根据权利要求1所述的PDF文件数据提取方法,其特征在于,所述LT子对象包括LTTextBoxHorizontal子对象、LTChar子对象、LTFigure子对象中的...
【专利技术属性】
技术研发人员:杨志鸿,常河,徐亮,阮晓雯,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。