CN113761873A - Pdf解析方法、装置、电子设备及可存储介质 - Google Patents

Pdf解析方法、装置、电子设备及可存储介质 Download PDF

Info

Publication number
CN113761873A
CN113761873A CN202111045524.9A CN202111045524A CN113761873A CN 113761873 A CN113761873 A CN 113761873A CN 202111045524 A CN202111045524 A CN 202111045524A CN 113761873 A CN113761873 A CN 113761873A
Authority
CN
China
Prior art keywords
pdf file
analysis
data
pdf
rule
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.)
Granted
Application number
CN202111045524.9A
Other languages
English (en)
Other versions
CN113761873B (zh
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.)
Ping An International Smart City Technology Co Ltd
Original Assignee
Ping An International Smart City Technology 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 Ping An International Smart City Technology Co Ltd filed Critical Ping An International Smart City Technology Co Ltd
Priority to CN202111045524.9A priority Critical patent/CN113761873B/zh
Publication of CN113761873A publication Critical patent/CN113761873A/zh
Application granted granted Critical
Publication of CN113761873B publication Critical patent/CN113761873B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • 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/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • 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/186Templates

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据处理领域,揭露一种PDF解析方法,包括:获取待解析的PDF文件,读取PDF文件的特征元素;从预设解析模板库中获取与特征元素对应的解析模板,并在解析模板中获取PDF文件的解析规则;基于解析规则中的表级规则,确定PDF文件的表格区域;基于解析规则中的行级规则,解析表格区域中的文本信息,得到PDF文件的表格数据;组合表格区域和表格数据,得到PDF文件的解析数据。本发明还涉及一种区块链技术,解析数据可以存储在区块链节点中。本发明还提出一种PDF解析装置、电子设备以及介质。本发明可以提高PDF中表格数据提取的准确性。

Description

PDF解析方法、装置、电子设备及可存储介质
技术领域
本发明涉及数据处理领域,尤其涉及一种PDF解析方法、装置、电子设备及可存储介质。
背景技术
当前,在信息技术飞速发展的背景下,PDF数据的统计分析在社会各个领域中的应用也越来越广泛,其中,PDF数据一般是由文本、图片及表格构成。
但是,常用的PDFBox/Tabula等技术方案对PDF文件解析大都是基于文本数据提取,而对于PDF文件中的表格数据提取,常常出现表格识别错误或是无法识别表格的问题,导致PDF文件中表格数据提取的准确率较低。
发明内容
本发明提供一种PDF解析方法、装置、电子设备及计算机介质,其主要目的是为了提高PDF中表格数据提取的准确性。
为实现上述目的,本发明提供的一种PDF解析方法,包括:
获取待解析的PDF文件,读取所述PDF文件的特征元素;
根据所述特征元素从预设解析模板库中选取所述PDF文件的解析模板,并在所述解析模板中获取所述PDF文件的解析规则;
基于所述解析规则中的表级规则,确定所述PDF文件的表格区域;
基于所述解析规则中的行级规则,解析所述表格区域中的文本信息,得到所述PDF文件的表格数据;
组合所述表格区域和所述表格数据,得到所述PDF文件的解析数据。
可选地,所述基于所述解析规则中的表级规则,确定所述PDF文件的表格区域,包括:
获取表格主题,基于所述解析规则中的表级规则将所述表格主题映射至所述PDF文件,并识别所述PDF文件中包含所述表格主题的区域;
获取所述区域的线条集合以及与所述区域对应的线条位置坐标;
根据所述线条位置坐标确定所述区域中的矩形边框区域;
识别所述线条集合中存在的交叉线条,得到交叉线条集,并识别所述矩形边框区域中存在所述交叉线条集的区域作为所述PDF文件的表格区域。
可选地,所述基于所述解析规则中的行级规则,解析所述表格区域中的文本信息,得到所述PDF文件的表格数据,包括:
基于所述解析规则的行级规则,确定所述表格区域中的文本信息初始位置及文本信息结束位置;
在所述初始文本信息初始位置及文本信息结束位置之间,设定行数据终止符;
根据所述行数据终止符,解析所述PDF文件,得到所述PDF文件的表格数据。
可选地,所述从预设解析模板库中获取与所述特征元素对应的解析模板,包括:
获取所述预设解析模板库的模板特征元素集,将所述PDF文件的特征元素与所述模板特征元素集中多个特征元素子集进行比较;
根据比较结果从所述标准特征元素集中选择与所述特征元素一致的特征元素子集;
获取选择的所述特征元素子集对应的模板为所述PDF文件的解析模板。可选地,所述组合所述表单数据和所述行级数据,得到所述文档的解析数据,包括:
组合所述表格区域和所述表格数据,得到关联数据;
对所述关联数据进行数据清洗,得到所述PDF文件的解析数据。
可选地,所述读取所述PDF文件的特征元素,包括:
将所述PDF文件按页进行拆分与转化,得到所述PDF文件的每页文本;
读取所述每页文本的特征元素。
可选地,所述读取所述PDF文件的特征元素之前,该方法还包括:
对所述PDF文件进行哈希计算,得到PDF文件哈希值;
将所述PDF文件哈希值与预设区块链中的哈希值进行比对,判断所述PDF文件哈希值和所述预设区块链中的哈希值是否一致;
若所述PDF文件哈希值和所述预设区块链中的哈希值不一致,则确定所述PDF文件未通过安全性校验;
若所述PDF文件哈希值和所述预设区块链中的哈希值一致,则确定所述PDF文件通过安全性校验。
为了解决上述问题,本发明还提供一种PDF解析装置,所述装置包括:
特征元素读取模块,用于获取待解析的PDF文件,读取所述PDF文件的特征元素;
解析模板获取模块,用于从预设解析模板库中获取与所述特征元素对应的解析模板,并在所述解析模板中获取所述PDF文件的解析规则;
表级规则解析模块,用于基于所述解析规则中的表级规则,确定所述PDF文件的表格区域;
行级规则解析模块,用于基于所述解析规则中的行级规则,解析所述表格区域中的文本信息,得到所述PDF文件的表格数据;
数据解析模块,用于组合所述表格区域和所述表格数据,得到所述PDF文件的解析数据。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个计算机程序;及
处理器,执行所述存储器中存储的计算机程序以实现上述所述的PDF解析方法。
为了解决上述问题,本发明还提供一种计算机介质,所述计算机介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的PDF解析方法。
本发明实施例中,首先从预设解析模板库中获取与所述特征元素对应的解析模板;其次,在所述解析模板中获取所述PDF文件的解析规则,根据解析规则的表级规则和行级规则解析PDF文件,得到解析数据,可以针对一些结构较复杂的PDF文件结构匹配不同的解析模板,根据解析模板对应不同的表级规则和行级规则对PDF文件进行解析,进而提高PDF文件解析的准确性。因此本发明实施例提出的PDF解析方法、装置、电子设备及可存储介质可以提高PDF中表格数据提取的准确性。
附图说明
图1为本发明一实施例提供的PDF解析方法的流程示意图;
图2为本发明一实施例提供的PDF解析装置的模块示意图;
图3为本发明一实施例提供的实现PDF解析方法的电子设备的内部结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供一种PDF解析方法。所述PDF解析方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述PDF解析方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
参照图1所示的本发明一实施例提供的PDF解析方法的流程示意图,在本发明实施例中,所述PDF解析方法包括:
S1、获取待解析的PDF文件,读取所述PDF文件的特征元素。
本发明实施例中,PDF(Portable Document Format,便携式文档格式)文件为一种图文格式文件,可以通过对PDF文件进行解析,提取PDF文件中携带的信息,所述PDF文件可以从公开网站及各类APP上获取。
本发明实施例中,所述特征元素主要包括表格数据,进一步细化地,特征元素可以包括表格名、关键字、字型、格式、数据、页码数、分隔符及图形图像等。
详细地,所述读取所述PDF文件的特征元素,包括:
将所述PDF文件按页进行拆分与转化,得到所述PDF文件的每页文本;
读取所述每页文本的特征元素。
本发明实施例中,所述读取所述PDF文件的特征元素之前,该方法还包括:
对所述PDF文件进行哈希计算,得到PDF文件哈希值;
将所述PDF文件哈希值与预设区块链中的哈希值进行比对,判断所述PDF文件哈希值和所述预设区块链中的哈希值是否一致;
若所述PDF文件哈希值和所述预设区块链中的哈希值不一致,则确定所述PDF文件未通过安全性校验;若所述PDF文件哈希值和所述预设区块链中的哈希值一致,则确定所述PDF文件通过安全性校验。
本发明实施例中,利用所述哈希值进行PDF文件的安全性校验可以防止客户端被篡改,用户信息泄露的情况,且哈希值的抗篡改能力很强,对于任意一个输入,仅是及其微小的改动,哈希值的改变也非常大。
例如,“This is a test”对应的哈希值“C7BE1ED902FB8DD4D48897C6452F5D7E509FBCDBE2808B16BCF4EDCE4C07D14E”,而“this is a test”的哈希值是“2E99758548972A8E8822AD47FA1017FF72F06F3FF6A016851F45C398732BC50C”。
本发明实施例中,所述获取待解析的PDF文件之前,该方法还包括:
利用预设公钥获取所述待解析PDF文件的加密密文,利用预设私钥与所述预设公钥进行配对;
根据配对结果对所述加密密文进行解密,得到解密的所述待解析PDF文件。
本发明实施例中,所述PDF文件的预设公钥与预设私钥都由RSA算法获取,具体的算法可从现有技术中获取,此处不在赘述。
S2、从预设解析模板库中获取与所述特征元素对应的解析模板,并在所述解析模板中获取所述PDF文件的解析规则。
本发明实施例中,所述PDF文件的解析模板是可以将所述PDF文件导入并进行解析的模板。
详细地,所述从预设解析模板库中获取与所述特征元素对应的解析模板,包括:
获取所述预设解析模板库的模板特征元素集,将所述PDF文件的特征元素与所述模板特征元素集中多个特征元素子集进行比较;
根据比较结果从所述标准特征元素集中选择与所述特征元素一致的特征元素子集;
获取选择的所述特征元素子集对应的模板为所述PDF文件的解析模板。
本发明实施例中,若所述特征元素包括表格名、关键字、表格格式及数据等,则匹配的解析模板中包含针对上述特征元素的解析方式,且所述特征元素不同时,匹配的解析模板中针对特征元素的解析方式也不同。
进一步地,所述根据比较结果从所述标准特征元素集中选择与所述特征元素一致的特征元素子集之前,该方法还包括:
在根据比较结果判定所述PDF文件的特征元素与所述模板特征元素集中每个特征元素子集进行比较都不一致时,采用预设修正方法修正所述特征元素,并读取修正后的所述特征元素,返回到上述将所述特征元素与所述模板特征元素集中每个特征元素子集进行比较的步骤,直到所述特征元素与所述标准特征元素集中的至少一个特征元素子集一致。
本发明实施例中,所述PDF文件的特征元素与所述标准特征元素集中的所有特征元素子集都不一致时的原因可能为特征元素识别异常,其中,所述特征元素识别异常可包括:特征元素缺失或特征元素异常值等。所述修正方法指的是针对所述特征元素缺失或所述特征元素异常值采用不同的方法进行修正。
具体地,特征元素缺失一般在缺失值无法使用其他途径找回或者重新统计计算,并且在缺失值有变化规律可循的前提下可以使用回归分析的方法拟合特征元素的变化趋势后进行预测,并采用回归插补或多重插补方法进行修正。
具体地,特征元素异常值可能包括字符编码问题引起的乱码、字符被截断和异常的数值等。
例如,特征元素的字符编码中参杂了一些其他的无用字符,可以利用trim函数去掉字符前后的空格;若是字符被截断,可以使用截断后的字符推导出原先完整的字符串。
本发明实施例中,可以在所述解析模板中获取所述PDF文件的解析规则,所述解析规则为解析PDF文件的依据,主要包括表级规则和行级规则。
本发明实施例中,所述解析规则中的表级规则的作用主要是可以提取所述PDF文件的表格区域;所述解析规则中的行级规则的作用主要是可以提取所述表格区域中的表格数据。
本发明实施例中,根据不同的PDF文件中包含的不同表格配置相应的解析模板和解析规则,可以提高PDF文件中表格数据提取的准确性。
S3、基于所述解析规则中的表级规则,确定所述PDF文件的表格区域。
本发明实施例中,所述表级规则的作用是确定所述PDF文件的表格区域。
本发明实施例中,所述PDF文件的表格区域是由矩形边框区域和矩形边框区域中相互交叉的线条集合组合而成,其中,所述线条集合可以包括:横线、竖线。
详细地,所述基于所述解析规则中的表级规则,确定所述PDF文件的表格区域,包括:
获取表格主题,基于所述解析规则中的表级规则将所述表格主题映射至所述PDF文件,并识别所述PDF文件中包含所述表格主题的区域;
获取所述区域的线条集合以及与所述区域对应的线条位置坐标;
根据所述线条位置坐标确定所述区域中的矩形边框区域;
识别所述线条集合中存在的交叉线条,得到交叉线条集,并识别所述矩形边框区域中存在所述交叉线条集的区域作为所述PDF文件的表格区域。
本发明实施例中,利用所述表级规则,将所述表格主题映射至所述PDF文件每一页中,并寻找每一页PDF文件包含所述表格主题的区域,实现表格主题-页码-包含表格主题区域的对应关系,另外,将所述表格主题映射至每一页中,是为了将所述PDF文件中跨页的表格进行连接以得到完整的表格。
例如,所述表级规则为Table Rules,对所述PDF文件进行下列操作,得到包含表格主题的区域:Topic Table Mapping(同名表格映射关系:表格主题-页码-表格对应关系)、Landscape Combine Page+Page Count(同名表格横向合并)、Vertical Combine Page+Page Count(同名表格跨页纵向合并)及Split Pages+Split Indicators+Split Num(提取一页中包括的多个表格)。
本发明实施例中,可以利用图像处理算法得到所述PDF文件的线条集合以及与所述区域对应的线条位置坐标。
本发明实施例中,可以利用Opencv(开源计算机视觉库)根据线条的顶边位置坐标和底边位置坐标确定矩形边框的上下区域,据线条的顶边位置坐标和底边位置坐标确定矩形边框的上下区域据线条的左边位置坐标和右边位置坐标确定边框的左右区域,拼接所述上下左右区域,得到边框区域,其中,所述线条位置坐标包括:顶边位置坐标、底边位置坐标、左边位置坐标和右边位置坐标。
本发明实施例中,可以利用图像处理算法识别所述线条集合中存在的交叉线条,得到交叉线条集,避免将不属于表格中的单线条识别为表格,提高PDF文件解析的准确性。
S4、基于所述解析规则中的行级规则,解析所述表格区域中的文本信息,得到所述PDF文件的表格数据。
本发明实施例中,所述表格数据是所述表格区域包含的数据。
详细地,所述基于所述解析规则中的行级规则,解析所述表格区域中的文本信息,得到所述PDF文件的表格数据,包括:
基于所述解析规则的行级规则,确定所述表格区域中的文本信息初始位置及文本信息结束位置;
在所述初始文本信息初始位置及文本信息结束位置之间,设定行数据终止符;
根据所述行数据终止符,解析所述PDF文件,得到所述PDF文件的表格数据。
本发明实施例中,所述行级规则为Rows Rules,包括:Skip Words+Skip Num(解析到第SN(文本信息初始位置)和SW(文本信息结束位置)就会忽略后面所有的行)、MergeWords+Line Count(解析到MW(行数据终止符),就会把LC(行数据)按特定规则拼接为一行)。
所述行级规则还可以包括:Link Word连接字符(解析到LW就会把LW与下面所有行的名称连接起来)、Space Words(解析到SW,去除空格,合并为一个单词)。
S5、组合所述表格区域和所述表格数据,得到所述PDF文件的解析数据。
详细地,所述组合所述表单数据和所述行级数据,得到所述文档的解析数据,包括:
组合所述表格区域和所述表格数据,得到关联数据;
对所述关联数据进行数据清洗,得到所述PDF文件的解析数据。
本发明一可选实施例中,对关联数据进行数据清洗,可以是对所述关联数据进行删除重复值、缺失值处理以及一致化处理等。
例如,对所述关联数据中的数据列,数据列名出现重复的,对重复数据列名进行重命名;若所述数据列中发现重复数据,删除重复数据;若数据列中的数据存在缺失值,可以从数据源推导出来,利用平均值、最大值、最小值或概率估计代替缺失的值;若数据列命名存在不一致,利用预设数据迁移工具进行规则转换,实现命名的一致。
本发明实施例中,解析所述PDF文件过程中可能会出现一些解析的错误数据,如果将所述错误数据进行使用,可能会导致出错,因此需要对所述关联数据进行数据清洗,且数据清洗不会改变关联数据的关键信息,能保证解析数据的完整性,提升数据数量。
本发明实施例中,所述得到所述PDF文件的解析数据之后,可以利用所述解析数据进行数据分析,因为所述解析数据是比较完整的有规律的表格数据,且经过数据清洗,数据的完整性及质量性更高,所以可以利用所述解析数据进行数据分析。
本发明实施例中,首先从预设解析模板库中获取与所述特征元素对应的解析模板;其次,在所述解析模板中获取所述PDF文件的解析规则,根据解析规则的表级规则和行级规则解析PDF文件,得到解析数据,可以针对一些结构较复杂的PDF文件结构匹配不同的解析模板,根据解析模板对应不同的表级规则和行级规则对PDF文件进行解析,进而提高PDF文件解析的准确性。因此本发明实施例提出的PDF解析方法可以提高PDF中表格数据提取的准确性。
如图2所示,是本发明PDF解析装置的功能模块图。
本发明所述PDF解析装置100可以安装于电子设备中。根据实现的功能,所述PDF解析装置可以包括特征元素读取模块101、解析模板获取模块102、表级规则解析模块103、行级规则解析模块104、数据解析模块105,本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述特征元素读取模块101,用于获取待解析的PDF文件,读取所述PDF文件的特征元素。
本发明实施例中,PDF(Portable Document Format,便携式文档格式)文件为一种图文格式文件,可以通过对PDF文件进行解析,提取PDF文件中携带的信息,所述PDF文件可以从公开网站及各类APP上获取。
本发明实施例中,所述特征元素主要包括表格数据,进一步细化地,特征元素可以包括表格名、关键字、字型、格式、数据、页码数、分隔符及图形图像等。
详细地,所述特征元素读取模块101通过执行下述操作读取所述PDF文件的特征元素,包括:
将所述PDF文件按页进行拆分与转化,得到所述PDF文件的每页文本;
读取所述每页文本的特征元素。
本发明实施例中,所述装置还包括文件校验模块,所述文件校验模块用于:
读取所述PDF文件的特征元素之前,对所述PDF文件进行哈希计算,得到PDF文件哈希值;
将所述PDF文件哈希值与预设区块链中的哈希值进行比对,判断所述PDF文件哈希值和所述预设区块链中的哈希值是否一致;
若所述PDF文件哈希值和所述预设区块链中的哈希值不一致,则确定所述PDF文件未通过安全性校验;若所述PDF文件哈希值和所述预设区块链中的哈希值一致,则确定所述PDF文件通过安全性校验。
本发明实施例中,利用所述哈希值进行PDF文件的安全性校验可以防止客户端被篡改,用户信息泄露的情况,且哈希值的抗篡改能力很强,对于任意一个输入,仅是及其微小的改动,哈希值的改变也非常大。
例如,“This is a test”对应的哈希值“C7BE1ED902FB8DD4D48897C6452F5D7E509FBCDBE2808B16BCF4EDCE4C07D14E”,而“this is a test”的哈希值是“2E99758548972A8E8822AD47FA1017FF72F06F3FF6A016851F45C398732BC50C”。
本发明实施例中,所述装置还包括解密模块,所述解密模块用于:
获取待解析的PDF文件之前,利用预设公钥获取所述待解析PDF文件的加密密文,利用预设私钥与所述预设公钥进行配对;
根据配对结果对所述加密密文进行解密,得到解密的所述待解析PDF文件。
本发明实施例中,所述PDF文件的预设公钥与预设私钥都由RSA算法获取,具体的算法可从现有技术中获取,此处不在赘述。
所述解析模板获取模块102,用于从预设解析模板库中获取与所述特征元素对应的解析模板,并在所述解析模板中获取所述PDF文件的解析规则。
本发明实施例中,所述PDF文件的解析模板是可以将所述PDF文件导入并进行解析的模板。
详细地,所述解析模板获取模块102通过执行下述操作从预设解析模板库中获取与所述特征元素对应的解析模板,包括:
获取所述预设解析模板库的模板特征元素集,将所述PDF文件的特征元素与所述模板特征元素集中多个特征元素子集进行比较;
根据比较结果从所述标准特征元素集中选择与所述特征元素一致的特征元素子集;
获取选择的所述特征元素子集对应的模板为所述PDF文件的解析模板。
本发明实施例中,若所述特征元素包括表格名、关键字、表格格式及数据等,则匹配的解析模板中包含针对上述特征元素的解析方式,且所述特征元素不同时,匹配的解析模板中针对特征元素的解析方式也不同。
进一步地,所述装置还包括修正模块,所述修正模块用于:
根据比较结果从所述标准特征元素集中选择与所述特征元素一致的特征元素子集之前,在根据比较结果判定所述PDF文件的特征元素与所述模板特征元素集中每个特征元素子集进行比较都不一致时,采用预设修正方法修正所述特征元素,并读取修正后的所述特征元素,返回到上述将所述特征元素与所述模板特征元素集中每个特征元素子集进行比较的步骤,直到所述特征元素与所述标准特征元素集中的至少一个特征元素子集一致。
本发明实施例中,所述PDF文件的特征元素与所述标准特征元素集中的所有特征元素子集都不一致时的原因可能为特征元素识别异常,其中,所述特征元素识别异常可包括:特征元素缺失或特征元素异常值等。所述修正方法指的是针对所述特征元素缺失或所述特征元素异常值采用不同的方法进行修正。
具体地,特征元素缺失一般在缺失值无法使用其他途径找回或者重新统计计算,并且在缺失值有变化规律可循的前提下可以使用回归分析的方法拟合特征元素的变化趋势后进行预测,并采用回归插补或多重插补方法进行修正。
具体地,特征元素异常值可能包括字符编码问题引起的乱码、字符被截断和异常的数值等。
例如,特征元素的字符编码中参杂了一些其他的无用字符,可以利用trim函数去掉字符前后的空格;若是字符被截断,可以使用截断后的字符推导出原先完整的字符串。
本发明实施例中,可以在所述解析模板中获取所述PDF文件的解析规则,所述解析规则为解析PDF文件的依据,主要包括表级规则和行级规则。
本发明实施例中,所述解析规则中的表级规则的作用主要是可以提取所述PDF文件的表格区域;所述解析规则中的行级规则的作用主要是可以提取所述表格区域中的表格数据。
本发明实施例中,根据不同的PDF文件中包含的不同表格配置相应的解析模板和解析规则,可以提高PDF文件中表格数据提取的准确性。
所述表级规则解析模块103,用于基于所述解析规则中的表级规则,确定所述PDF文件的表格区域。
本发明实施例中,所述表级规则的作用是确定所述PDF文件的表格区域。
本发明实施例中,所述PDF文件的表格区域是由矩形边框区域和矩形边框区域中相互交叉的线条集合组合而成,其中,所述线条集合可以包括:横线、竖线。
详细地,所述表级规则解析模块103通过执行下述操作基于所述解析规则中的表级规则,确定所述PDF文件的表格区域,包括:
获取表格主题,基于所述解析规则中的表级规则将所述表格主题映射至所述PDF文件,并识别所述PDF文件中包含所述表格主题的区域;
获取所述区域的线条集合以及与所述区域对应的线条位置坐标;
根据所述线条位置坐标确定所述区域中的矩形边框区域;
识别所述线条集合中存在的交叉线条,得到交叉线条集,并识别所述矩形边框区域中存在所述交叉线条集的区域作为所述PDF文件的表格区域。
本发明实施例中,利用所述表级规则,将所述表格主题映射至所述PDF文件每一页中,并寻找每一页PDF文件包含所述表格主题的区域,实现表格主题-页码-包含表格主题区域的对应关系,另外,将所述表格主题映射至每一页中,是为了将所述PDF文件中跨页的表格进行连接以得到完整的表格。
例如,所述表级规则为Table Rules,对所述PDF文件进行下列操作,得到包含表格主题的区域:Topic Table Mapping(同名表格映射关系:表格主题-页码-表格对应关系)、Landscape Combine Page+Page Count(同名表格横向合并)、Vertical Combine Page+Page Count(同名表格跨页纵向合并)及Split Pages+Split Indicators+Split Num(提取一页中包括的多个表格)。
本发明实施例中,可以利用图像处理算法得到所述PDF文件的线条集合以及与所述区域对应的线条位置坐标。
本发明实施例中,可以利用Opencv(开源计算机视觉库)根据线条的顶边位置坐标和底边位置坐标确定矩形边框的上下区域,据线条的顶边位置坐标和底边位置坐标确定矩形边框的上下区域据线条的左边位置坐标和右边位置坐标确定边框的左右区域,拼接所述上下左右区域,得到边框区域,其中,所述线条位置坐标包括:顶边位置坐标、底边位置坐标、左边位置坐标和右边位置坐标。
本发明实施例中,可以利用图像处理算法识别所述线条集合中存在的交叉线条,得到交叉线条集,避免将不属于表格中的单线条识别为表格,提高PDF文件解析的准确性。
所述行级规则解析模块104,用于基于所述解析规则中的行级规则,解析所述表格区域中的文本信息,得到所述PDF文件的表格数据。
本发明实施例中,所述表格数据是所述表格区域包含的数据。
详细地,所述行级规则解析模块104通过执行下述操作基于所述解析规则中的行级规则,解析所述表格区域中的文本信息,得到所述PDF文件的表格数据,包括:
基于所述解析规则的行级规则,确定所述表格区域中的文本信息初始位置及文本信息结束位置;
在所述初始文本信息初始位置及文本信息结束位置之间,设定行数据终止符;
根据所述行数据终止符,解析所述PDF文件,得到所述PDF文件的表格数据。
本发明实施例中,所述行级规则为Rows Rules,包括:Skip Words+Skip Num(解析到第SN(文本信息初始位置)和SW(文本信息结束位置)就会忽略后面所有的行)、MergeWords+Line Count(解析到MW(行数据终止符),就会把LC(行数据)按特定规则拼接为一行)。
所述行级规则还可以包括:Link Word连接字符(解析到LW就会把LW与下面所有行的名称连接起来)、Space Words(解析到SW,去除空格,合并为一个单词)。
所述数据解析模块105,用于组合所述表格区域和所述表格数据,得到所述PDF文件的解析数据。
详细地,所述数据解析模块105具体用于:
组合所述表格区域和所述表格数据,得到关联数据;
对所述关联数据进行数据清洗,得到所述PDF文件的解析数据。
本发明一可选实施例中,对关联数据进行数据清洗,可以是对所述关联数据进行删除重复值、缺失值处理以及一致化处理等。
例如,对所述关联数据中的数据列,数据列名出现重复的,对重复数据列名进行重命名;若所述数据列中发现重复数据,删除重复数据;若数据列中的数据存在缺失值,可以从数据源推导出来,利用平均值、最大值、最小值或概率估计代替缺失的值;若数据列命名存在不一致,利用预设数据迁移工具进行规则转换,实现命名的一致。
本发明实施例中,解析所述PDF文件过程中可能会出现一些解析的错误数据,如果将所述错误数据进行使用,可能会导致出错,因此需要对所述关联数据进行数据清洗,且数据清洗不会改变关联数据的关键信息,能保证解析数据的完整性,提升数据数量。
本发明实施例中,所述得到所述PDF文件的解析数据之后,可以利用所述解析数据进行数据分析,因为所述解析数据是比较完整的有规律的表格数据,且经过数据清洗,数据的完整性及质量性更高,所以可以利用所述解析数据进行数据分析。
本发明实施例中,首先从解析模板库中获取与所述特征元素对应的解析模板;其次,在所述解析模板中获取所述PDF文件的解析规则,根据解析规则的表级规则和行级规则解析PDF文件,得到解析数据,可以针对一些结构较复杂的PDF文件结构匹配不同的解析模板,根据解析模板对应不同的表级规则和行级规则对PDF文件进行解析,进而提高PDF文件解析的准确性。因此本发明实施例提出的PDF解析装置可以提高PDF中表格数据提取的准确性。
如图3所示,是本发明实现PDF解析方法的电子设备的结构示意图。
所述电子设备可以包括处理器10、存储器11、通信总线12和通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如PDF解析程序。
其中,所述存储器11至少包括一种类型的介质,所述介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、本地磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备的应用软件及各类数据,例如PDF解析程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如PDF解析程序等),以及调用存储在所述存储器11内的数据,以执行电子设备的各种功能和处理数据。
所述通信总线12可以是外设部件互连标准(perIPheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述通信总线12总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
可选地,所述通信接口13可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。
可选地,所述通信接口13还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备中的所述存储器11存储的PDF解析程序是多个计算机程序的组合,在所述处理器10中运行时,可以实现:
获取待解析的PDF文件,读取所述PDF文件的特征元素;
根据所述特征元素从预设解析模板库中选取所述PDF文件的解析模板,并在所述解析模板中获取所述PDF文件的解析规则;
基于所述解析规则中的表级规则,确定所述PDF文件的表格区域;
基于所述解析规则中的行级规则,解析所述表格区域中的文本信息,得到所述PDF文件的表格数据;
组合所述表格区域和所述表格数据,得到所述PDF文件的解析数据。
具体地,所述处理器10对上述计算机程序的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取介质中。所述计算机可读介质可以是非易失性的,也可以是易失性的。所述计算机可读介质可以包括:能够携待所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明实施例还可以提供一种计算机介质,所述介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
获取待解析的PDF文件,读取所述PDF文件的特征元素;
根据所述特征元素从预设解析模板库中选取所述PDF文件的解析模板,并在所述解析模板中获取所述PDF文件的解析规则;
基于所述解析规则中的表级规则,确定所述PDF文件的表格区域;
基于所述解析规则中的行级规则,解析所述表格区域中的文本信息,得到所述PDF文件的表格数据;
组合所述表格区域和所述表格数据,得到所述PDF文件的解析数据。
进一步地,所述计算机可用介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种PDF解析方法,其特征在于,所述方法包括:
获取待解析的PDF文件,读取所述PDF文件的特征元素;
从预设解析模板库中获取与所述特征元素对应的解析模板,并在所述解析模板中获取所述PDF文件的解析规则;
基于所述解析规则中的表级规则,确定所述PDF文件的表格区域;
基于所述解析规则中的行级规则,解析所述表格区域中的文本信息,得到所述PDF文件的表格数据;
组合所述表格区域和所述表格数据,得到所述PDF文件的解析数据。
2.如权利要求1所述的PDF解析方法,其特征在于,所述基于所述解析规则中的表级规则,确定所述PDF文件的表格区域,包括:
获取表格主题,基于所述解析规则中的表级规则将所述表格主题映射至所述PDF文件,并识别所述PDF文件中包含所述表格主题的区域;
获取所述区域的线条集合以及与所述区域对应的线条位置坐标;
根据所述线条位置坐标确定所述区域中的矩形边框区域;
识别所述线条集合中存在的交叉线条,得到交叉线条集,并识别所述矩形边框区域中存在所述交叉线条集的区域作为所述PDF文件的表格区域。
3.如权利要求1所述的PDF解析方法,其特征在于,所述基于所述解析规则中的行级规则,解析所述表格区域中的文本信息,得到所述PDF文件的表格数据,包括:
基于所述解析规则的行级规则,确定所述表格区域中的文本信息初始位置及文本信息结束位置;
在所述初始文本信息初始位置及文本信息结束位置之间,设定行数据终止符;
根据所述行数据终止符,解析所述PDF文件,得到所述PDF文件的表格数据。
4.如权利要求1所述的PDF解析方法,其特征在于,所述从预设解析模板库中获取与所述特征元素对应的解析模板,包括:
获取所述预设解析模板库的模板特征元素集,将所述PDF文件的特征元素与所述模板特征元素集中多个特征元素子集进行比较;
根据比较结果从所述标准特征元素集中选择与所述特征元素一致的特征元素子集;
获取选择的所述特征元素子集对应的模板为所述PDF文件的解析模板。
5.如权利要求1所述的PDF解析方法,其特征在于,所述组合所述表单数据和所述行级数据,得到所述文档的解析数据,包括:
组合所述表格区域和所述表格数据,得到关联数据;
对所述关联数据进行数据清洗,得到所述PDF文件的解析数据。
6.如权利要求1至5中任一项所述的PDF解析方法,其特征在于,所述读取所述PDF文件的特征元素,包括:
将所述PDF文件按页进行拆分与转化,得到所述PDF文件的每页文本;
读取所述每页文本的特征元素。
7.如权利要求1至5中任一项所述的PDF解析方法,其特征在于,所述读取所述PDF文件的特征元素之前,该方法还包括:
对所述PDF文件进行哈希计算,得到PDF文件哈希值;
将所述PDF文件哈希值与预设区块链中的哈希值进行比对,判断所述PDF文件哈希值和所述预设区块链中的哈希值是否一致;
若所述PDF文件哈希值和所述预设区块链中的哈希值不一致,则确定所述PDF文件未通过安全性校验;
若所述PDF文件哈希值和所述预设区块链中的哈希值一致,则确定所述PDF文件通过安全性校验。
8.一种PDF解析装置,其特征在于,包括:
特征元素读取模块,用于获取待解析的PDF文件,读取所述PDF文件的特征元素;
解析模板获取模块,用于从预设解析模板库中获取与所述特征元素对应的解析模板,并在所述解析模板中获取所述PDF文件的解析规则;
表级规则解析模块,用于基于所述解析规则中的表级规则,确定所述PDF文件的表格区域;
行级规则解析模块,用于基于所述解析规则中的行级规则,解析所述表格区域中的文本信息,得到所述PDF文件的表格数据;
数据解析模块,用于组合所述表格区域和所述表格数据,得到所述PDF文件的解析数据。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的PDF解析方法。
10.一种计算机介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的PDF解析方法。
CN202111045524.9A 2021-09-07 2021-09-07 Pdf解析方法、装置、电子设备及可存储介质 Active CN113761873B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111045524.9A CN113761873B (zh) 2021-09-07 2021-09-07 Pdf解析方法、装置、电子设备及可存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111045524.9A CN113761873B (zh) 2021-09-07 2021-09-07 Pdf解析方法、装置、电子设备及可存储介质

Publications (2)

Publication Number Publication Date
CN113761873A true CN113761873A (zh) 2021-12-07
CN113761873B CN113761873B (zh) 2024-08-13

Family

ID=78793669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111045524.9A Active CN113761873B (zh) 2021-09-07 2021-09-07 Pdf解析方法、装置、电子设备及可存储介质

Country Status (1)

Country Link
CN (1) CN113761873B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118468815A (zh) * 2024-07-12 2024-08-09 山东远联信息科技有限公司 一种基于谱图的数据处理方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726388A (zh) * 2018-05-07 2019-05-07 深圳壹账通智能科技有限公司 Pdf文件解析方法、装置、设备及计算机可读存储介质
CN110472208A (zh) * 2019-06-26 2019-11-19 上海恒生聚源数据服务有限公司 Pdf文档中表格解析的方法、系统、存储介质及电子设备
CN110569489A (zh) * 2018-06-05 2019-12-13 北京国双科技有限公司 基于pdf文件的表格数据解析方法及装置
CN110765739A (zh) * 2019-10-24 2020-02-07 中国人民大学 一种从pdf文档中抽取表格数据和篇章结构的方法
CN111368511A (zh) * 2020-02-28 2020-07-03 证通股份有限公司 Pdf文档解析方法及装置
WO2021062896A1 (zh) * 2019-09-30 2021-04-08 北京市商汤科技开发有限公司 表单识别方法、表格提取方法及相关装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726388A (zh) * 2018-05-07 2019-05-07 深圳壹账通智能科技有限公司 Pdf文件解析方法、装置、设备及计算机可读存储介质
CN110569489A (zh) * 2018-06-05 2019-12-13 北京国双科技有限公司 基于pdf文件的表格数据解析方法及装置
CN110472208A (zh) * 2019-06-26 2019-11-19 上海恒生聚源数据服务有限公司 Pdf文档中表格解析的方法、系统、存储介质及电子设备
WO2021062896A1 (zh) * 2019-09-30 2021-04-08 北京市商汤科技开发有限公司 表单识别方法、表格提取方法及相关装置
CN110765739A (zh) * 2019-10-24 2020-02-07 中国人民大学 一种从pdf文档中抽取表格数据和篇章结构的方法
CN111368511A (zh) * 2020-02-28 2020-07-03 证通股份有限公司 Pdf文档解析方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118468815A (zh) * 2024-07-12 2024-08-09 山东远联信息科技有限公司 一种基于谱图的数据处理方法、装置及电子设备

Also Published As

Publication number Publication date
CN113761873B (zh) 2024-08-13

Similar Documents

Publication Publication Date Title
CN112861648B (zh) 文字识别方法、装置、电子设备及存储介质
CN113434674A (zh) 数据解析方法、装置、电子设备及可读存储介质
CN112508145B (zh) 电子印章生成及验证方法、装置、电子设备及存储介质
CN113489704A (zh) 基于流量的敏感数据识别方法、装置、电子设备及介质
CN112115145A (zh) 数据采集方法、装置、电子设备及存储介质
CN112528616A (zh) 业务表单生成方法、装置、电子设备及计算机存储介质
CN111159183B (zh) 报表生成方法、电子装置及计算机可读存储介质
CN113761873B (zh) Pdf解析方法、装置、电子设备及可存储介质
CN114827354A (zh) 身份验证信息显示方法、装置、电子设备及可读存储介质
CN114547696A (zh) 文件脱敏方法、装置、电子设备及存储介质
CN113434542A (zh) 数据关系识别方法、装置、电子设备及存储介质
CN113051224A (zh) 文件传输方法、装置、电子设备及计算机可读存储介质
CN116542221A (zh) Pdf文件解析预览方法、装置、设备及存储介质
CN115758013A (zh) 智能化可视办公方法及装置
CN113221888B (zh) 车牌号管理系统测试方法、装置、电子设备及存储介质
CN115544566A (zh) 日志脱敏方法、装置、设备及存储介质
CN114942855A (zh) 接口调用方法、装置、电子设备及存储介质
CN111784499A (zh) 基于云平台的业务集成方法、装置、电子设备及存储介质
CN112667244A (zh) 数据校验方法、装置、电子设备及计算机可读存储介质
CN111738005A (zh) 命名实体对齐方法、装置、电子设备及可读存储介质
CN113360505B (zh) 基于时序数据的数据处理方法、装置、电子设备及可读存储介质
CN113448933B (zh) 业务数据处理方法、装置、电子设备及介质
CN113657076B (zh) 页面操作记录表的生成方法、装置、电子设备及存储介质
CN113672565B (zh) 一种文件标记方法、装置、电子设备及存储介质
CN115145870A (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
GR01 Patent grant
GR01 Patent grant