CN117350260A - Pdf页面表格内容的重构方法及装置 - Google Patents
Pdf页面表格内容的重构方法及装置 Download PDFInfo
- Publication number
- CN117350260A CN117350260A CN202311660177.XA CN202311660177A CN117350260A CN 117350260 A CN117350260 A CN 117350260A CN 202311660177 A CN202311660177 A CN 202311660177A CN 117350260 A CN117350260 A CN 117350260A
- Authority
- CN
- China
- Prior art keywords
- cell
- cells
- effective
- split
- pdf page
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000004931 aggregating effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000012015 optical character recognition Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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页面的表格内容。本申请提供的方法,有效解决了表格中合并单元格对表格内容识别的影响,对PDF页面表格格式及表格数据的识别及重构更加精确。
Description
技术领域
本申请涉及计算机及文档处理技术领域,具体涉及一种PDF页面表格内容的重构方法及装置。
背景技术
对PDF文件的表格内容进行识别和重构的难度较大,现有技术通常采用光学字符识别(OCR)技术。光学字符识别技术对文本的识别本身就存在一定的错误率,另外,光学字符识别技术对表格标尺线的识别效果较差。因此,通过光学字符识别技术,往往会出现单元格错行、文字识别错误等各种误差。
尤其是在表格中存在合并单元格的情况下,大小形状不一的单元格使得基于光学字符识别技术识别及重构的表格内容更容易出现混乱。
为了解决存在合并单元格情况下,PDF文件中表格内容识别及重构的准确率不佳的问题,亟需提出一种能够准确提取表格中的各合并单元格及其中的字符数据、并精确重构表格内容的技术方案。
发明内容
为解决上述问题,本申请实施例提供了一种PDF页面表格内容的重构方法及装置,有效解决了表格中合并单元格对表格内容识别的影响,重构精确的表格内容。
本申请实施例采用下述技术方案:
第一方面,本申请实施例提供了一种PDF页面表格内容的重构方法,该方法包括:
读取PDF页面中的所有标尺线的信息,根据所有标尺线的信息并基于预设规则确定PDF页面中的所有有效单元格,记录各有效单元格的标识;
读取PDF页面中的所有字符矩形,匹配属于各有效单元格范围内的字符矩形,以标准格式对属于各有效单元格范围内的字符矩形进行拼接确定各单元格文本;
对所有有效单元格的顶点坐标去重后生成顶点坐标集合,根据顶点坐标集合以预设比例尺构建所有拆分单元格;
确定各拆分单元格与各有效单元格的对应关系,将各单元格文本以预设比例尺赋予对应的各拆分单元格,并将各有效单元格的标识赋予对应的各拆分单元格;
对标识相同的拆分单元格进行聚合,对标识相同的拆分单元格内的单元格文本去重,重构PDF页面的表格内容。
可选的,在上述的PDF页面表格内容的重构方法中,读取PDF页面中的所有标尺线的信息,根据所有标尺线的信息并基于预设规则确定PDF页面中的所有有效单元格,记录各有效单元格的标识,包括:
采用PDFBOX从PDF页面中读取所有标尺线的信息,其中,标尺线包括水平标尺线和垂直标尺线;
基于两条水平标尺线、两条垂直标尺线、以及两条水平标尺线和两条垂直标尺线围合相交的四个交点确定一个内部不再有线条的矩形区域作为有效单元格;
基于从左至右、从上至下的顺序遍历所有水平标尺线和垂直标尺线相交的所有交点,确定PDF页面中的所有有效单元格;
通过自增数字ID作为标识标注各有效单元格。
可选的,在上述的PDF页面表格内容的重构方法中,基于两条水平标尺线、两条垂直标尺线、以及两条水平标尺线和两条垂直标尺线围合相交的四个交点确定一个内部不再有线条的矩形区域作为有效单元格,包括:
确定水平标尺线和垂直标尺线相交的所有交点;
对所有交点中的任一个第一交点,从左至右依次寻找直至找到与通过第一交点的水平标尺线相交且向下延伸的目标垂直标尺线,将目标垂直标尺线与通过第一交点的水平标尺线的相交点作为第二交点;
从上至下依次寻找直至找到与通过第一交点的垂直标尺线相交且向右延伸的目标水平标尺线,将目标水平标尺线与通过第一交点的垂直标尺线的相交点作为第三交点;
将目标水平标尺线与目标垂直标尺线的相交点作为第四交点;
基于通过第一交点的水平标尺线、通过第一交点的垂直标尺线、目标水平标尺线、目标垂直标尺线、第一交点、第二交点、第三交点、第四交点围合确定一个有效单元格。
可选的,在上述的PDF页面表格内容的重构方法中,读取PDF页面中的所有字符矩形,匹配属于各有效单元格范围内的字符矩形,以标准格式对属于各有效单元格范围内的字符矩形进行拼接确定各单元格文本,包括:
采用PDFBOX从PDF页面中读取所有字符矩形并记录各字符矩形的坐标;
对任一个有效单元格,将各字符矩形的坐标与围合该有效单元格的标尺线的坐标进行比较,确定属于该有效单元格范围内的字符矩形;
对属于该有效单元格范围内的字符矩形,基于字符矩形的坐标排序拼接,确定该有效单元格的单元格文本;
遍历拼接各有效单元格范围内的字符矩形,确定各单元格文本。
可选的,在上述的PDF页面表格内容的重构方法中,对所有有效单元格的顶点坐标去重后生成顶点坐标集合,根据顶点坐标集合以预设比例尺构建所有拆分单元格,包括:
对所有有效单元格的顶点坐标去重后生成X坐标集合和Y坐标集合;
基于X坐标集合的最大值和Y坐标集合的最大值、以及重构页面的尺寸确定预设比例尺;
以X坐标集合的最小值和Y坐标集合的最小值相交作为原点构建直角坐标系,以X从小至大的顺序从左至右扫描X坐标集合、以Y从小至大的顺序从上到下扫描Y坐标集合,以预设比例尺构建所有拆分单元格。
可选的,在上述的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页面表格内容的重构方法所确定的有效单元格示意图;
图4示出根据本申请的一个实施例的PDF页面表格内容的重构方法所构建的拆分单元格示意图;
图5示出根据本申请的另一个实施例的PDF页面表格内容的重构方法的流程示意图;
图6示出根据本申请的一个实施例的PDF页面表格内容的重构装置的结构示意图;
图7示出根据本申请的一个实施例的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的构思在于:针对PDF页面表格存在合并单元格的情况下,传统方法识别表格内容容易出现错行或错字的问题,提出一种基于标尺线位置识别单元格、基于字符位置匹配表格数据,最终重构表格内容的方法。该方法有效解决了表格中合并单元格的影响,能够准确提取并重构整个表格格式及其中的数据,实现了将PDF页面表格快速识别并重构为其他格式文本。
下面通过具体的实施例对本申请进行详细的描述。
图1示出了本申请一个实施例提出的PDF页面表格内容的重构方法的流程示意图,根据图1所示,该实施例包括步骤S110~步骤S150:
步骤S110,读取PDF页面中的所有标尺线的信息,根据所有标尺线的信息并基于预设规则确定PDF页面中的所有有效单元格,记录各有效单元格的标识。
本申请首先读取PDF页面中的所有标尺线。标尺线为PDF页面表格的线条,包括表格外框线条、分割表格行的线条、以及分割表格列的线条。
由于表格中有合并单元格存在,因此识别出的PDF页面中的各水平标尺线并非全部相同、各垂直标尺线也并非全部相同。读取的各标尺线带有坐标信息。对于一条水平标尺线,可以通过其起始点的水平坐标来表示该水平标尺线的水平位置及长度、可以通过其垂直坐标来表示该水平标尺线的垂直位置;对于一条垂直标尺线,可以通过其起始点的垂直坐标来表示该垂直标尺线的垂直位置及长度、可以通过其水平坐标来表示该垂直标尺线的水平位置。
另外,一条水平标尺线也有可能被多条垂直标尺线分割为了若干段,那么,基于其每段的起始点的水平坐标可以表示该水平标尺线的水平位置及各段长度;一条垂直标尺线也有可能被多条水平标尺线分割为了若干段,那么,基于其每段的起始点的垂直坐标可以表示该垂直标尺线的垂直位置及各段长度。
根据各水平标尺线和各垂直标尺线的坐标信息,可以基于预设规则确定PDF页面中的所有有效单元格。单元格指表格中的一个矩形区域,是行与列的交叉部分。此处,有效单元格是指在PDF页面表格中实际展示出的内部不再有线条的各矩形区域。也就是说,若表格中有单元格未被合并过,则该单元格即为一个有效单元格;若表格中有若干单元格被合并为一个合并单元格展示,则该合并单元格即为一个有效单元格。
可以但不限于通过以下方式确定PDF页面中的所有有效单元格。比如,能够确定各水平标尺线和各垂直标尺线的相交点,进而取得表格的全部交点信息。对于任一个交点,判断是否存在以该交点为左上顶点、且内部不再有线条的矩形区域,若有,则确定一个有效单元格。遍历所有交点,均以上述同样的步骤判断是否存在一个有效单元格,进而确定PDF页面中的所有有效单元格。当然上述步骤中所记载的左上顶点也可以为右上顶点、左下顶点、右下顶点等,只要保证对每个交点的判断条件一致即可。
对于确定出的PDF页面中的所有有效单元格,利用标识对各有效单元格进行标注和区分。比如,可以通过围合有效单元格的顶点位置坐标标注一个有效单元格,或者通过自增数字ID标注各有效单元格。
步骤S120,读取PDF页面中的所有字符矩形,匹配属于各有效单元格范围内的字符矩形,以标准格式对属于各有效单元格范围内的字符矩形进行拼接确定各单元格文本。
本申请其次读取PDF页面中的所有字符。读取字符时,可以从PDFBOX识别出每个字符构建一个字符矩形。字符矩形的大小应保证能够完全“框”住一个完整字符,且不会“切割”到其他字符,可以记录每个字符矩形的坐标、大小等信息,以供拼接时作为参照。
对任一个有效单元格,在该有效单元格范围内匹配所有属于这一范围的字符矩形。将字符矩形按照标准格式进行拼接。比如,将属于有效单元格范围内的字符矩形按照其坐标在虚拟坐标轴上进行定位,字符矩形的坐标可以以字符矩形中心点的X坐标和Y坐标来表示。对于定位好的字符矩形,按照从左至右、从上至下的顺序依次拼接,最终形成整体单元格文本。
步骤S130,对所有有效单元格的顶点坐标去重后生成顶点坐标集合,根据顶点坐标集合以预设比例尺构建所有拆分单元格。
本申请接着对所有有效单元格的顶点坐标去重,生成顶点坐标集合。即,对于多个相连的有效单元格,其具有共享的顶点;将各有效单元格共享的顶点坐标仅保留一个,从而形成顶点坐标集合。
依据预设比例尺,对顶点坐标集合进行转换,转换为更适应重构页面大小的尺寸值。对于去重后的顶点坐标集合,可以为每一个顶点坐标建立一条水平线和一条垂直线;以各条水平线和各条垂直线相交后,所能够围合形成的内部不再有线条的各矩形区域构建各拆分单元格。
步骤S140,确定各拆分单元格与各有效单元格的对应关系,将各单元格文本以预设比例尺赋予对应的各拆分单元格,并将各有效单元格的标识赋予对应的各拆分单元格。
构建的每个拆分单元格都能够找到与其对应的有效单元格。这里的对应是指一个拆分单元格以预设比例尺逆转换后,其坐标位置属于某一个有效单元格范围内,则该拆分单元格与该有效单元格对应。依照此方法,一个有效单元格能够对应至少一个拆分单元格。
确定各拆分单元格和各有效单元格的对应关系后,将各有效单元格的单元格文本以预设比例尺填充到与其对应的各拆分单元格中,并将各有效单元格的标识赋予其对应的各拆分单元格。
步骤S150,对标识相同的拆分单元格进行聚合,对标识相同的拆分单元格内的单元格文本去重,重构PDF页面的表格内容。
可以通过将标识相同的拆分单元格进行合并来形成合并单元格。比如将标识相同的拆分单元格中重复共享的顶点坐标删除,将标识相同的拆分单元格中重复共享的边线删除,形成一个合并单元格。
对标识相同的拆分单元格中的单元格文本,删除冗余的单元格文本,仅保留一个。可以将保留的一个单元格文本基于坐标设置在合并单元格中心。
进而,所有不同标识的单元格(包括拆分单元格和合并单元格)及各单元格文本,共同构成了PDF页面的表格内容,从而实现了PDF页面表格的重构。
重构的PDF页面表格内容,保留了PDF页面表格的格式和数据,实现了更准确地识别PDF表格。
从图1所示的方法可以看出,本申请提供的PDF页面表格内容的重构方法,读取PDF页面中的所有标尺线的信息,根据所有标尺线的信息并基于预设规则确定PDF页面中的所有有效单元格,记录各有效单元格的标识;读取PDF页面中的所有字符矩形,匹配属于各有效单元格范围内的字符矩形,以标准格式对属于各有效单元格范围内的字符矩形进行拼接确定各单元格文本;对所有有效单元格的顶点坐标去重后生成顶点坐标集合,根据顶点坐标集合以预设比例尺构建所有拆分单元格;确定各拆分单元格与各有效单元格的对应关系,将各单元格文本以预设比例尺赋予对应的各拆分单元格,并将各有效单元格的标识赋予对应的各拆分单元格;对标识相同的拆分单元格进行聚合,对标识相同的拆分单元格内的单元格文本去重,重构PDF页面的表格内容。本申请提供的PDF页面表格内容的重构方法,创新性的采用了标尺线相交来确定有效单元格、采用了顶点坐标集合来构建拆分单元格,基于标识快速对拆分单元格进行合并,准确识别并还原PDF页面表格格式和数据。相比于目前的光学字符识别方案,本申请既能快速的读取PDF的标尺线信息和字符矩形进行计算,分析并识别出表格的格式和内容,又能有效避免光学字符识别造成的识别错误,极大的提升了计算速度和准确度。
为了使本领域技术人员更清楚了解本申请的技术方案,参照一个具体示例的PDF页面表格对本申请的实施方式进行详细说明。但应理解,下述具体示例的PDF页面表格仅为示意性举例,而非对本申请技术方案的限制。
图2示出了本申请一个实施例提出的PDF页面表格内容的重构方法所需识别的表格内容示意图。
在一些可选的实施方式中,在上述方法中,步骤S110,读取PDF页面中的所有标尺线的信息,根据所有标尺线的信息并基于预设规则确定PDF页面中的所有有效单元格,记录各有效单元格的标识,包括:采用PDFBOX从PDF页面中读取所有标尺线的信息,其中,标尺线包括水平标尺线和垂直标尺线;基于两条水平标尺线、两条垂直标尺线、以及两条水平标尺线和两条垂直标尺线围合相交的四个交点确定一个内部不再有线条的矩形区域作为有效单元格;基于从左至右、从上至下的顺序遍历所有水平标尺线和垂直标尺线相交的所有交点,确定PDF页面中的所有有效单元格;通过自增数字ID作为标识标注各有效单元格。
在本实施例中,采用PDFBOX从PDF页面中读取所有标尺线。PDFBOX是一个开源的Java库,可以用于处理PDF文件。基于PDFBOX读取PDF页面中所有的水平标尺线和垂直标尺线。
比如结合图2所示,以表格左上角为坐标0点,水平向右为X轴、垂直向下为Y轴形成虚拟坐标轴。读取的水平标尺线从上至下共四条,读取的垂直标尺线从左至右共五条。由于所读取的标尺线带有坐标位置信息,则第一水平标尺线的坐标位置信息为【(0-5),0】,第二水平标尺线的坐标位置信息为【(3-5),1】,第三水平标尺线的坐标位置信息为【(0-5),2】,第四水平标尺线的坐标位置信息为【(0-5),3】;第一垂直标尺线的坐标位置信息为【0,(0-3)】,第二垂直标尺线的坐标位置信息为【1,(2-3)】,第三垂直标尺线的坐标位置信息为【2,(0-3)】,第四垂直标尺线的坐标位置信息为【3,(0-2)】,第五垂直标尺线的坐标位置信息为【5,(0-3)】。
此处,标注标尺线坐标位置信息的数字可以表示标准单位,该标准单位可以通过最小标准单元格的边长进行换算。最小标准单元格指表格中无法再被拆分、且无法再被缩小的一个矩形区域。即,不论最小标准单元格的实际尺寸为何,都基于换算关系,将最小标准单元格的横向边长宽度换算为1,最小标准单元格的竖向边长高度换算为1。
基于上述识别的水平标尺线和垂直标尺线,利用两条水平标尺线、两条垂直标尺线、以及两条水平标尺线和两条垂直标尺线围合相交的四个交点确定一个内部不再有线条的矩形区域作为有效单元格。举例来说,第一水平标尺线和第二水平标尺线,能够与第四垂直标尺线和第五垂直标尺线围合相交四个交点,且该矩形区域内不再有线条,则该矩形区域被确定为一个有效单元格。
为了能够确定出表格内所有的有效单元格,确定水平标尺线和垂直标尺线相交的所有交点。采用从上至下、从左至右的顺序对所有交点进行遍历,从而依次确定PDF页面中的所有有效单元格。确定第一个有效单元格后,为该有效单元格标注一个数字ID(比如数字1);之后每确定一个有效单元格,通过数字ID加1进行标注,即第二个有效单元格标注数字2,第三个有效单元格标注数字3……以此类推。
在一些可选的实施方式中,在上述方法中,基于两条水平标尺线、两条垂直标尺线、以及两条水平标尺线和两条垂直标尺线围合相交的四个交点确定一个内部不再有线条的矩形区域作为有效单元格,包括:确定水平标尺线和垂直标尺线相交的所有交点;对所有交点中的任一个第一交点,从左至右依次寻找直至找到与通过该第一交点的水平标尺线相交且向下延伸的目标垂直标尺线,将目标垂直标尺线与通过该第一交点的水平标尺线的相交点作为第二交点;从上至下依次寻找直至找到与通过该第一交点的垂直标尺线相交且向右延伸的目标水平标尺线,将目标水平标尺线与通过该第一交点的垂直标尺线的相交点作为第三交点;将目标水平标尺线与目标垂直标尺线的相交点作为第四交点;基于通过该第一交点的水平标尺线、通过该第一交点的垂直标尺线、目标水平标尺线、目标垂直标尺线、第一交点、第二交点、第三交点、第四交点围合确定一个有效单元格。
以下,结合图2所示具体解释如何基于两条水平标尺线、两条垂直标尺线、以及两条水平标尺线和两条垂直标尺线围合相交的四个交点确定一个内部不再有线条的矩形区域作为有效单元格。
确定水平标尺线和垂直标尺线相交的所有交点。
首先,以表格左上顶点作为第一个交点开始,寻找该交点右侧的第二垂直标尺线。由于第二垂直标尺线与第一水平标尺线不相交,则继续寻找第三垂直标尺线。第三垂直标尺线与第一水平标尺线相交且向下延伸,则将第三垂直标尺线与第一水平标尺线的相交点作为第二交点。
其次,寻找该交点下侧的第二水平标尺线。由于第二水平标尺线与第一垂直标尺线不相交,则继续寻找第三水平标尺线。第三水平标尺线与第一垂直标尺线相交且向右延伸,则将第三水平标尺线与第一垂直标尺线的相交点作为第三交点。
然后,将第三水平标尺线和第三垂直标尺线的相交点作为第四交点。
最终,基于第一水平标尺线、第三水平标尺线、第一垂直标尺线、第三垂直标尺线、该第一个交点、第二交点、第三交点、第四交点围合确定一个有效单元格,标注为单元格1。
以本实施例确定有效单元格的步骤为基础,继续从第一个交点下侧的第二个交点重复上述步骤。当第一个交点下侧的所有交点被寻找完毕后,继续从第一个交点右侧的交点开始从上到下重复上述步骤。通过遍历所有交点,得到如图3所示的本申请一个实施例提出的PDF页面表格内容的重构方法所确定的有效单元格示意图。
在本申请的一些实施例中,在上述方法中,步骤S120,读取PDF页面中的所有字符矩形,匹配属于各有效单元格范围内的字符矩形,以标准格式对属于各有效单元格范围内的字符矩形进行拼接确定各单元格文本,包括:采用PDFBOX从PDF页面中读取所有字符矩形并记录各字符矩形的坐标;对任一个有效单元格,将各字符矩形的坐标与围合该有效单元格的标尺线的坐标进行比较,确定属于该有效单元格范围内的字符矩形;对属于该有效单元格范围内的字符矩形,基于字符矩形的坐标排序拼接,确定该有效单元格的单元格文本;遍历拼接各有效单元格范围内的字符矩形,确定各单元格文本。
在本实施例中,采用PDFBOX从PDF页面中读取所有字符矩形,一个字符矩形完全“框”住至少一个字符。可以将一个字符矩形范围内的任一点坐标作为该字符矩形的坐标。只要所有字符矩形基于同样的规则确定坐标即可。
对于任一个有效单元格,基于围合该有效单元格的标尺线坐标和交点坐标,能够确定该有效单元格的坐标范围。比如,参考图3所示,有效单元格数字1的坐标范围为【(0,0)-(0,2)-(2,0)-(2,2)】。那么只要字符矩形的坐标同时满足字符矩形的X坐标落入(0-2)范围,字符矩形的Y坐标落入(0-2)范围,则能够确定该字符矩形属于有效单元格数字1的范围内。例如,结合图2和图3所示,字符矩形“这”“是”“一”“个”“示”“例”属于有效单元格数字1范围;字符矩形“籍”“贯”属于有效单元格数字3范围;字符矩形“姓”“名”属于有效单元格数字4范围;字符矩形“学”“历”属于有效单元格数字5范围;字符矩形“年”“龄”属于有效单元格数字6范围;字符矩形“性”“别”属于有效单元格数字7范围。
确定各有效单元格范围内包括的字符矩形后,对各有效单元格范围内的字符矩形进行拼接。拼接时,对于任一个有效单元格,利用字符矩形的坐标与以表格左上角为坐标0点,水平向右为X轴、垂直向下为Y轴形成虚拟坐标轴的位置关系,将各字符矩形置于该坐标轴中的相应坐标点位置。对排列好的各字符矩形进行拼接,得到各有效单元格范围内的单元格文本。每一个有效单元格内的单元格文本形成一个整体,其中各个字符矩形的相对位置和相对大小不再改变。
在本申请的一些实施例中,在上述方法中,步骤S130,对所有有效单元格的顶点坐标去重后生成顶点坐标集合,根据顶点坐标集合以预设比例尺构建所有拆分单元格,包括:对所有有效单元格的顶点坐标去重后生成X坐标集合和Y坐标集合;基于X坐标集合的最大值和Y坐标集合的最大值、以及重构页面的尺寸确定预设比例尺;以X坐标集合的最小值和Y坐标集合的最小值相交作为原点构建直角坐标系,以X从小至大的顺序从左至右扫描X坐标集合、以Y从小至大的顺序从上到下扫描Y坐标集合,以预设比例尺构建所有拆分单元格。
图4示出了本申请一个实施例提出的PDF页面表格内容的重构方法所构建的拆分单元格示意图。结合图4详细说明上述构建拆分单元格的具体步骤。
拆分单元格是指PDF页面表格中的最小维度单元格。此处特别说明的是,最小维度单元格并非一定为最小标准单元格,但最小维度单元格一定不小于最小标准单元格。
结合图4,各有效单元格(即单元格1-7)都具有四个顶点。将每个有效单元格的四个顶点坐标去重后,可以生成顶点坐标集合。图4中,顶点坐标集合为{(0,0),(2,0),(3,0),(5,0),(3,1),(5,1),(0,2),(1,2),(2,2),(3,2),(5,2),(0,3),(1,3),(2,3),(5,3)},其中,X坐标集合为{0,1,2,3,5},Y坐标集合为{0,1,2,3}。
根据X坐标集合的最大值5以及Y坐标集合的最大值3,再结合重构页面的实际尺寸确定预设比例尺。比如,重构页面能够容纳重构的表格内容的实际宽度为10cm、实际高度为20cm,则可以将标准单位与实际尺寸的预设比例尺确定为1标准单位=2cm,使得重构页面能够容纳所有重构的表格内容。
确定预设比例尺后,基于该预设比例尺,建立一个以X坐标集合的最小值与Y坐标集合的最小值相交作为原点的直角坐标系。将X坐标集合从小至大的顺序从左至右在X坐标轴进行扫描,Y坐标集合从小至大的顺序从上至下在Y坐标轴进行扫描,得到X坐标轴和Y坐标轴的扫描点。基于X坐标轴的扫描点分别生成垂直线、基于Y坐标轴的扫描点分别生成水平线。各条垂直线和各条水平线相交后,形成的内部不再有线条的各矩形区域作为各拆分单元格。
结合图4所示,在图2所示的所需识别的表格内容的情形下,共构建12个拆分单元格。其中,拆分单元格1-3、拆分单元格5-7、拆分单元格9-11的大小与最小标准单元格相同;而拆分单元格4、拆分单元格8和拆分单元格12的大小大于最小标准单元格,即一个拆分单元格4相当于两个最小标准单元格。这是由于在图2所示的表格内容中,没有水平坐标信息为4的垂直标尺线,故从水平坐标为3的垂直标尺线到水平坐标为5的垂直标尺线之间,各单元格不需要再被垂直线拆分。
在本申请的一些实施例中,在上述方法中,步骤S140,确定各拆分单元格与各有效单元格的对应关系,将各单元格文本以预设比例尺赋予对应的各拆分单元格,并将各有效单元格的标识赋予对应的各拆分单元格,包括:对任一个拆分单元格,判断该拆分单元格的全部顶点坐标基于预设比例尺逆还原后属于一个有效单元格范围内,则确定该拆分单元格与该有效单元格的对应关系;将该有效单元格的单元格文本以预设比例尺填充至对应的拆分单元格;将有效单元格的标识赋予对应的拆分单元格;按拆分单元格从左至右、从上至下的顺序,依次确定各拆分单元格与有效单元格的对应关系,确定各拆分单元格内的单元格文本以及各拆分单元格的标识;其中,一个有效单元格对应至少一个拆分单元格。
结合图2-图4,以图4所示的拆分单元格1为例。该拆分单元格的四个顶点坐标为(0,0)(1,0)(0,1)(1,1),这四个顶点坐标均属于有效单元格数字1的范围内,则确定拆分单元格1与有效单元格数字1的对应关系。将有效单元格数字1的单元格文本“这是一个示例”(包括其拼接格式)以预设比例尺填充至拆分单元格1,将数字1赋予拆分单元格1。
继续,确定拆分单元格2与有效单元格数字1的对应关系,将有效单元格数字1的单元格文本“这是一个示例” (包括其拼接格式)以预设比例尺填充至拆分单元格2,将数字1赋予拆分单元格2;确定拆分单元格3与有效单元格数字4的对应关系,将有效单元格数字4的单元格文本“姓名” (包括其拼接格式)以预设比例尺填充至拆分单元格3,将数字4赋予拆分单元格3……其他拆分单元格以此类推。
在本申请的一些实施例中,在上述方法中,步骤S150,对标识相同的拆分单元格进行聚合,对标识相同的拆分单元格内的单元格文本去重,重构PDF页面的表格内容,包括:消除标识相同的拆分单元格中重复共享的顶点坐标、消除标识相同的拆分单元格中重复共享的边线,形成合并单元格;在标识相同的拆分单元格的单元格文本中,仅保留任一个拆分单元格的单元格文本;基于拆分单元格和合并单元格、以及保留的单元格文本,重构PDF页面的表格内容。
标识相同的拆分单元格均与同一个有效单元格对应,因此需要将该拆分单元格进行合并。以图4所示的拆分单元格1-2、拆分单元格5-6为例,顶点坐标(1,0)(0,1)(1,1)(1,2)(2,1)为重复共享顶点,因此将上述顶点坐标消除;水平线【(0-1),1】【(1-2),1】和垂直线【1,(0-1)】【1,(1-2)】为重复共享的边线,因此将上述边线消除;最终形成由四个顶点(0,0)(0,2)(2,0)(2,2)及相应边线围合形成的合并单元格。
在拆分单元格1-2、拆分单元格5-6中任选一个拆分单元格内的单元格文本保留。可以将保留的单元格文本中心点坐标与合并单元格中心点坐标对其,从而形成一个包括单元格文本的重构单元格。
其他具有相同标识的拆分单元格同样基于上述步骤进行处理,最终重构PDF页面的所有表格内容。
在本申请的一些实施例中,在上述方法中,步骤S110,在读取PDF页面中的所有标尺线的信息的步骤之后,方法还包括:将水平距离小于标准单位的相邻两条垂直标尺线合并为一条合并垂直标尺线,以该相邻两条垂直标尺线的水平中间点坐标作为该合并垂直标尺线的水平坐标;和/或,将垂直距离小于标准单位的相邻两条水平标尺线合并为一条合并水平标尺线,以该相邻两条水平标尺线的垂直中间点坐标作为该合并水平标尺线的垂直坐标。
在实际情况下,有些表格线条为双线条。为了降低双线条对PDF页面表格的识别影响,将双线条合并为单线条。通常,双线条之间的距离不会大于标准单位,因此以标准单位为基准,将相邻距离小于标准单位的两条线条合并,并以两条线条的中心作为合并后的新线条的坐标。
在本申请的一些实施例中,在上述方法中,步骤S110,在根据所有标尺线的信息并基于预设规则确定PDF页面中的所有有效单元格的步骤之后,方法还包括:消除各有效单元格中重复共享的顶点坐标,以及消除各有效单元格中重复共享的边线,形成至少一个边界矩形。
在实际情况下,有些PDF页面中包含不止一个表格。为了更好地区分每个表格,并对每个表格内容进行识别重构,基于各有效单元格确定不止一个表格的边界矩形。
各个有效单元格中,将具有重复共享的顶点坐标消除后,所剩的顶点坐标为每个表格的四个顶点坐标;将具有重复共享的边线消除后,所剩的边线能够与相应的四个顶点围合成至少一个边界矩形。围合的各边界矩形内包含各表格的全部表格内容。
之后对于每个表格,可以基于本申请上述记载的各实施例的步骤,重构表格内容。
图5示出了本申请另一个实施例的PDF页面表格内容的重构方法的流程示意图,根据图5所示,该方法可以包括以下步骤。
步骤S501,采用PDFBOX从PDF页面中读取所有标尺线的信息,其中,标尺线包括水平标尺线和垂直标尺线。
步骤S502,将水平距离小于标准单位的相邻两条垂直标尺线合并为一条合并垂直标尺线,以该相邻两条垂直标尺线的水平中间点坐标作为该合并垂直标尺线的水平坐标;将垂直距离小于标准单位的相邻两条水平标尺线合并为一条合并水平标尺线,以该相邻两条水平标尺线的垂直中间点坐标作为该合并水平标尺线的垂直坐标。
步骤S503,确定水平标尺线和垂直标尺线相交的所有交点;对所有交点中的任一个第一交点,从左至右依次寻找直至找到与通过该第一交点的水平标尺线相交且向下延伸的目标垂直标尺线,将目标垂直标尺线与通过该第一交点的水平标尺线的相交点作为第二交点;从上至下依次寻找直至找到与通过该第一交点的垂直标尺线相交且向右延伸的目标水平标尺线,将目标水平标尺线与通过该第一交点的垂直标尺线的相交点作为第三交点;将目标水平标尺线与目标垂直标尺线的相交点作为第四交点;基于通过该第一交点的水平标尺线、通过该第一交点的垂直标尺线、目标水平标尺线、目标垂直标尺线、第一交点、第二交点、第三交点、第四交点围合确定一个有效单元格。
步骤S504,基于从左至右、从上至下的顺序遍历所有水平标尺线和垂直标尺线相交的所有交点,确定PDF页面中的所有有效单元格;通过自增数字ID作为标识标注各有效单元格。
步骤S505,消除各有效单元格中重复共享的顶点坐标;消除各有效单元格中重复共享的边线;形成至少一个边界矩形。
步骤S506,在一个边界矩形中,采用PDFBOX从PDF页面中读取所有字符矩形并记录各字符矩形的坐标;对任一个有效单元格,将各字符矩形的坐标与围合该有效单元格的标尺线的坐标进行比较,确定属于该有效单元格范围内的字符矩形;对属于该有效单元格范围内的字符矩形,基于字符矩形的坐标排序拼接,确定该有效单元格的单元格文本;遍历拼接各有效单元格范围内的字符矩形,确定各单元格文本。
步骤S507,对所有有效单元格的顶点坐标去重后生成X坐标集合和Y坐标集合;基于X坐标集合的最大值和Y坐标集合的最大值、以及重构页面的尺寸确定预设比例尺;以X坐标集合的最小值和Y坐标集合的最小值相交作为原点构建直角坐标系,以X从小至大的顺序从左至右扫描X坐标集合、以Y从小至大的顺序从上到下扫描Y坐标集合,以预设比例尺构建所有拆分单元格。
步骤S508,对任一个拆分单元格,判断该拆分单元格的全部顶点坐标基于预设比例尺逆还原后属于一个有效单元格范围内,则确定该拆分单元格与该有效单元格的对应关系;将该有效单元格的单元格文本以预设比例尺填充至对应的拆分单元格;将有效单元格的标识赋予对应的拆分单元格;按拆分单元格从左至右、从上至下的顺序,依次确定各拆分单元格与有效单元格的对应关系,确定各拆分单元格内的单元格文本以及各拆分单元格的标识;其中,一个有效单元格对应至少一个拆分单元格。
步骤S509,消除标识相同的拆分单元格中重复共享的顶点坐标、消除标识相同的拆分单元格中重复共享的边线,形成合并单元格;在标识相同的拆分单元格的单元格文本中,仅保留任一个拆分单元格的单元格文本;基于拆分单元格和合并单元格、以及保留的单元格文本,重构PDF页面的表格内容。
图6示出了本申请一个实施例的PDF页面表格内容的重构装置的结构示意图,根据图6所示,该装置600包括:
有效单元格识别单元610,用于读取PDF页面中的所有标尺线的信息,根据所有标尺线的信息并基于预设规则确定PDF页面中的所有有效单元格,记录各有效单元格的标识;
单元格文本识别单元620,用于读取PDF页面中的所有字符矩形,匹配属于各有效单元格范围内的字符矩形,以标准格式对属于各有效单元格范围内的字符矩形进行拼接确定各单元格文本;
拆分单元格生成单元630,用于对所有有效单元格的顶点坐标去重后生成顶点坐标集合,根据顶点坐标集合以预设比例尺构建所有拆分单元格;
关系确定单元640,用于确定各拆分单元格与各有效单元格的对应关系,将各单元格文本以预设比例尺赋予对应的各拆分单元格,并将各有效单元格的标识赋予对应的各拆分单元格;
表格重构单元650,用于对标识相同的拆分单元格进行聚合,对标识相同的拆分单元格内的单元格文本去重,重构PDF页面的表格内容。
在一些可选的实施方式中,在上述装置600中,有效单元格识别单元610具体用于:采用PDFBOX从PDF页面中读取所有标尺线的信息,其中,标尺线包括水平标尺线和垂直标尺线;基于两条水平标尺线、两条垂直标尺线、以及两条水平标尺线和两条垂直标尺线围合相交的四个交点确定一个内部不再有线条的矩形区域作为有效单元格;基于从左至右、从上至下的顺序遍历所有水平标尺线和垂直标尺线相交的所有交点,确定PDF页面中的所有有效单元格;通过自增数字ID作为标识标注各有效单元格。
在一些可选的实施方式中,在上述装置600中,有效单元格识别单元610还具体用于:确定水平标尺线和垂直标尺线相交的所有交点;对所有交点中的任一个第一交点,从左至右依次寻找直至找到与通过该第一交点的水平标尺线相交且向下延伸的目标垂直标尺线,将目标垂直标尺线与通过该第一交点的水平标尺线的相交点作为第二交点;从上至下依次寻找直至找到与通过该第一交点的垂直标尺线相交且向右延伸的目标水平标尺线,将目标水平标尺线与通过该第一交点的垂直标尺线的相交点作为第三交点;将目标水平标尺线与目标垂直标尺线的相交点作为第四交点;基于通过该第一交点的水平标尺线、通过该第一交点的垂直标尺线、目标水平标尺线、目标垂直标尺线、第一交点、第二交点、第三交点、第四交点围合确定一个有效单元格。
在一些可选的实施方式中,在上述装置600中,单元格文本识别单元620具体用于:采用PDFBOX从PDF页面中读取所有字符矩形并记录各字符矩形的坐标;对任一个有效单元格,将各字符矩形的坐标与围合该有效单元格的标尺线的坐标进行比较,确定属于该有效单元格范围内的字符矩形;对属于该有效单元格范围内的字符矩形,基于字符矩形的坐标排序拼接,确定该有效单元格的单元格文本;遍历拼接各有效单元格范围内的字符矩形,确定各单元格文本。
在一些可选的实施方式中,在上述装置600中,拆分单元格生成单元630具体用于:对所有有效单元格的顶点坐标去重后生成X坐标集合和Y坐标集合;基于X坐标集合的最大值和Y坐标集合的最大值、以及重构页面的尺寸确定预设比例尺;以X坐标集合的最小值和Y坐标集合的最小值相交作为原点构建直角坐标系,以X从小至大的顺序从左至右扫描X坐标集合、以Y从小至大的顺序从上到下扫描Y坐标集合,以预设比例尺构建所有拆分单元格。
在一些可选的实施方式中,上述装置600中,关系确定单元640具体用于:对任一个拆分单元格,判断该拆分单元格的全部顶点坐标基于预设比例尺逆还原后属于一个有效单元格范围内,则确定该拆分单元格与该有效单元格的对应关系;将该有效单元格的单元格文本以预设比例尺填充至对应的拆分单元格;将有效单元格的标识赋予对应的拆分单元格;按拆分单元格从左至右、从上至下的顺序,依次确定各拆分单元格与有效单元格的对应关系,确定各拆分单元格内的单元格文本以及各拆分单元格的标识;其中,一个有效单元格对应至少一个拆分单元格。
在一些可选的实施方式中,上述装置600中,表格重构单元650具体用于:消除标识相同的拆分单元格中重复共享的顶点坐标、消除标识相同的拆分单元格中重复共享的边线,形成合并单元格;在标识相同的拆分单元格的单元格文本中,仅保留任一个拆分单元格的单元格文本;基于拆分单元格和合并单元格、以及保留的单元格文本,重构PDF页面的表格内容。
在一些可选的实施方式中,上述装置600还包括:标尺线预处理单元,具体用于:将水平距离小于标准单位的相邻两条垂直标尺线合并为一条合并垂直标尺线,以该相邻两条垂直标尺线的水平中间点坐标作为该合并垂直标尺线的水平坐标;和/或,将垂直距离小于标准单位的相邻两条水平标尺线合并为一条合并水平标尺线,以该相邻两条水平标尺线的垂直中间点坐标作为该合并水平标尺线的垂直坐标。
在一些可选的实施方式中,上述装置600还包括:多表格识别单元,具体用于:消除各有效单元格中重复共享的顶点坐标,以及消除各有效单元格中重复共享的边线,形成至少一个边界矩形。
需要说明的是,上述PDF页面表格内容的重构装置600可一一实现前述的PDF页面表格内容的重构方法,对此不再赘述。
图7示出了本申请一个实施例的计算机设备的结构示意图,根据图7所示,该计算机设备的内部结构可以包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性和/或易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的客户端通过网络连接通信。该计算机程序被处理器执行时以实现PDF页面表格的重构方法的功能或步骤。
在一个实施例中,本申请提供的计算机设备,包括存储器和处理器,存储器存储有数据库和可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
读取PDF页面中的所有标尺线的信息,根据所有标尺线的信息并基于预设规则确定PDF页面中的所有有效单元格,记录各有效单元格的标识;
读取PDF页面中的所有字符矩形,匹配属于各有效单元格范围内的字符矩形,以标准格式对属于各有效单元格范围内的字符矩形进行拼接确定各单元格文本;
对所有有效单元格的顶点坐标去重后生成顶点坐标集合,根据顶点坐标集合以预设比例尺构建所有拆分单元格;
确定各拆分单元格与各有效单元格的对应关系,将各单元格文本以预设比例尺赋予对应的各拆分单元格,并将各有效单元格的标识赋予对应的各拆分单元格;
对标识相同的拆分单元格进行聚合,对标识相同的拆分单元格内的单元格文本去重,重构PDF页面的表格内容。
在一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
读取PDF页面中的所有标尺线的信息,根据所有标尺线的信息并基于预设规则确定PDF页面中的所有有效单元格,记录各有效单元格的标识;
读取PDF页面中的所有字符矩形,匹配属于各有效单元格范围内的字符矩形,以标准格式对属于各有效单元格范围内的字符矩形进行拼接确定各单元格文本;
对所有有效单元格的顶点坐标去重后生成顶点坐标集合,根据顶点坐标集合以预设比例尺构建所有拆分单元格;
确定各拆分单元格与各有效单元格的对应关系,将各单元格文本以预设比例尺赋予对应的各拆分单元格,并将各有效单元格的标识赋予对应的各拆分单元格;
对标识相同的拆分单元格进行聚合,对标识相同的拆分单元格内的单元格文本去重,重构PDF页面的表格内容。
需要说明的是,上述关于计算机设备或计算机可读存储介质所能实现的功能或步骤,可对应参阅前述方法实施例中的相关描述,为避免重复,这里不再一一描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种PDF页面表格内容的重构方法,其特征在于,所述方法包括:
读取PDF页面中的所有标尺线的信息,根据所有所述标尺线的信息并基于预设规则确定所述PDF页面中的所有有效单元格,记录各所述有效单元格的标识;
读取所述PDF页面中的所有字符矩形,匹配属于各所述有效单元格范围内的所述字符矩形,以标准格式对属于各所述有效单元格范围内的所述字符矩形进行拼接确定各单元格文本;
对所有所述有效单元格的顶点坐标去重后生成顶点坐标集合,根据所述顶点坐标集合以预设比例尺构建所有拆分单元格;
确定各所述拆分单元格与各所述有效单元格的对应关系,将各所述单元格文本以所述预设比例尺赋予对应的各所述拆分单元格,并将各所述有效单元格的所述标识赋予对应的各所述拆分单元格;
对所述标识相同的所述拆分单元格进行聚合,对所述标识相同的所述拆分单元格内的所述单元格文本去重,重构所述PDF页面的表格内容。
2.根据权利要求1所述的PDF页面表格内容的重构方法,其特征在于,所述读取PDF页面中的所有标尺线的信息,根据所有所述标尺线的信息并基于预设规则确定所述PDF页面中的所有有效单元格,记录各所述有效单元格的标识,包括:
采用PDFBOX从所述PDF页面中读取所有所述标尺线的信息,其中,所述标尺线包括水平标尺线和垂直标尺线;
基于两条所述水平标尺线、两条所述垂直标尺线、以及两条所述水平标尺线和两条所述垂直标尺线围合相交的四个交点确定一个内部不再有线条的矩形区域作为所述有效单元格;
基于从左至右、从上至下的顺序遍历所有所述水平标尺线和所述垂直标尺线相交的所有所述交点,确定所述PDF页面中的所有所述有效单元格;
通过自增数字ID作为标识标注各所述有效单元格。
3.根据权利要求2所述的PDF页面表格内容的重构方法,其特征在于,所述基于两条所述水平标尺线、两条所述垂直标尺线、以及两条所述水平标尺线和两条所述垂直标尺线围合相交的四个交点确定一个内部不再有线条的矩形区域作为所述有效单元格,包括:
确定所述水平标尺线和所述垂直标尺线相交的所有所述交点;
对所有所述交点中的任一个第一交点,从左至右依次寻找直至找到与通过所述第一交点的所述水平标尺线相交且向下延伸的目标垂直标尺线,将所述目标垂直标尺线与通过所述第一交点的所述水平标尺线的相交点作为第二交点;
从上至下依次寻找直至找到与通过所述第一交点的所述垂直标尺线相交且向右延伸的目标水平标尺线,将所述目标水平标尺线与通过所述第一交点的所述垂直标尺线的相交点作为第三交点;
将所述目标水平标尺线与所述目标垂直标尺线的相交点作为第四交点;
基于通过所述第一交点的所述水平标尺线、通过所述第一交点的所述垂直标尺线、所述目标水平标尺线、所述目标垂直标尺线、所述第一交点、所述第二交点、所述第三交点、所述第四交点围合确定一个所述有效单元格。
4.根据权利要求1所述的PDF页面表格内容的重构方法,其特征在于,所述读取所述PDF页面中的所有字符矩形,匹配属于各所述有效单元格范围内的所述字符矩形,以标准格式对属于各所述有效单元格范围内的所述字符矩形进行拼接确定各单元格文本,包括:
采用PDFBOX从所述PDF页面中读取所有所述字符矩形并记录各所述字符矩形的坐标;
对任一个所述有效单元格,将各所述字符矩形的坐标与围合所述有效单元格的所述标尺线的坐标进行比较,确定属于所述有效单元格范围内的所述字符矩形;
对属于所述有效单元格范围内的所述字符矩形,基于所述字符矩形的坐标排序拼接,确定所述有效单元格的所述单元格文本;
遍历拼接各所述有效单元格范围内的所述字符矩形,确定各所述单元格文本。
5.根据权利要求1所述的PDF页面表格内容的重构方法,其特征在于,所述对所有所述有效单元格的顶点坐标去重后生成顶点坐标集合,根据所述顶点坐标集合以预设比例尺构建所有拆分单元格,包括:
对所有所述有效单元格的顶点坐标去重后生成X坐标集合和Y坐标集合;
基于所述X坐标集合的最大值和所述Y坐标集合的最大值、以及重构页面的尺寸确定预设比例尺;
以所述X坐标集合的最小值和所述Y坐标集合的最小值相交作为原点构建直角坐标系,以X从小至大的顺序从左至右扫描所述X坐标集合、以Y从小至大的顺序从上到下扫描所述Y坐标集合,以所述预设比例尺构建所有所述拆分单元格。
6.根据权利要求1所述的PDF页面表格内容的重构方法,其特征在于,所述确定各所述拆分单元格与各所述有效单元格的对应关系,将各所述单元格文本以所述预设比例尺赋予对应的各所述拆分单元格,并将各所述有效单元格的所述标识赋予对应的各所述拆分单元格,包括:
对任一个所述拆分单元格,判断所述拆分单元格的全部顶点坐标基于所述预设比例尺逆还原后属于一个所述有效单元格范围内,则确定所述拆分单元格与所述有效单元格的对应关系;
将所述有效单元格的所述单元格文本以所述预设比例尺填充至对应的所述拆分单元格;
将所述有效单元格的所述标识赋予对应的所述拆分单元格;
按所述拆分单元格从左至右、从上至下的顺序,依次确定各所述拆分单元格与所述有效单元格的对应关系,确定各所述拆分单元格内的所述单元格文本以及各所述拆分单元格的所述标识;
其中,一个所述有效单元格对应至少一个所述拆分单元格。
7.根据权利要求1所述的PDF页面表格内容的重构方法,其特征在于,所述对所述标识相同的所述拆分单元格进行聚合,对所述标识相同的所述拆分单元格内的所述单元格文本去重,重构所述PDF页面的表格内容,包括:
消除所述标识相同的所述拆分单元格中重复共享的顶点坐标、消除所述标识相同的所述拆分单元格中重复共享的边线,形成合并单元格;
在所述标识相同的所述拆分单元格的所述单元格文本中,仅保留任一个所述拆分单元格的所述单元格文本;
基于所述拆分单元格和所述合并单元格、以及保留的所述单元格文本,重构所述PDF页面的表格内容。
8.根据权利要求1~7任一项所述的PDF页面表格内容的重构方法,其特征在于,在所述读取PDF页面中的所有标尺线的信息的步骤之后,所述方法还包括:
将水平距离小于标准单位的相邻两条垂直标尺线合并为一条合并垂直标尺线,以相邻两条所述垂直标尺线的水平中间点坐标作为所述合并垂直标尺线的水平坐标;
和/或,
将垂直距离小于标准单位的相邻两条水平标尺线合并为一条合并水平标尺线,以相邻两条所述水平标尺线的垂直中间点坐标作为所述合并水平标尺线的垂直坐标。
9.根据权利要求1~7任一项所述的PDF页面表格内容的重构方法,其特征在于,在所述根据所有所述标尺线的信息并基于预设规则确定所述PDF页面中的所有有效单元格的步骤之后,所述方法还包括:
消除各所述有效单元格中重复共享的顶点坐标,以及消除各所述有效单元格中重复共享的边线,形成至少一个边界矩形。
10.一种PDF页面表格内容的重构装置,其特征在于,所述装置包括:
有效单元格识别单元,用于读取PDF页面中的所有标尺线的信息,根据所有所述标尺线的信息并基于预设规则确定所述PDF页面中的所有有效单元格,记录各所述有效单元格的标识;
单元格文本识别单元,用于读取所述PDF页面中的所有字符矩形,匹配属于各所述有效单元格范围内的所述字符矩形,以标准格式对属于各所述有效单元格范围内的所述字符矩形进行拼接确定各单元格文本;
拆分单元格生成单元,用于对所有所述有效单元格的顶点坐标去重后生成顶点坐标集合,根据所述顶点坐标集合以预设比例尺构建所有拆分单元格;
关系确定单元,用于确定各所述拆分单元格与各所述有效单元格的对应关系,将各所述单元格文本以所述预设比例尺赋予对应的各所述拆分单元格,并将各所述有效单元格的所述标识赋予对应的各所述拆分单元格;
表格重构单元,用于对所述标识相同的所述拆分单元格进行聚合,对所述标识相同的所述拆分单元格内的所述单元格文本去重,重构所述PDF页面的表格内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311660177.XA CN117350260B (zh) | 2023-12-06 | 2023-12-06 | Pdf页面表格内容的重构方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311660177.XA CN117350260B (zh) | 2023-12-06 | 2023-12-06 | Pdf页面表格内容的重构方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117350260A true CN117350260A (zh) | 2024-01-05 |
CN117350260B CN117350260B (zh) | 2024-02-27 |
Family
ID=89367190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311660177.XA Active CN117350260B (zh) | 2023-12-06 | 2023-12-06 | Pdf页面表格内容的重构方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117350260B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190294399A1 (en) * | 2018-03-26 | 2019-09-26 | Abc Fintech Co., Ltd. | Method and device for parsing tables in pdf document |
CN110516208A (zh) * | 2019-08-12 | 2019-11-29 | 深圳智能思创科技有限公司 | 一种针对pdf文档表格提取的系统及方法 |
CN110532968A (zh) * | 2019-09-02 | 2019-12-03 | 苏州美能华智能科技有限公司 | 表格识别方法、装置和存储介质 |
CN110968667A (zh) * | 2019-11-27 | 2020-04-07 | 广西大学 | 一种基于文本状态特征的期刊文献表格抽取方法 |
KR102309562B1 (ko) * | 2020-12-30 | 2021-10-06 | 주식회사 애자일소다 | Pdf 테이블 재구성 장치 및 그 동작 방법 |
CN113486638A (zh) * | 2021-07-29 | 2021-10-08 | 浙江大华技术股份有限公司 | 表格的重构方法和装置、存储介质及电子装置 |
CN115761773A (zh) * | 2022-11-17 | 2023-03-07 | 上海交通大学 | 基于深度学习的图像内表格识别方法及系统 |
CN116311259A (zh) * | 2022-12-07 | 2023-06-23 | 中国矿业大学(北京) | 一种pdf业务文档的信息抽取方法 |
-
2023
- 2023-12-06 CN CN202311660177.XA patent/CN117350260B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190294399A1 (en) * | 2018-03-26 | 2019-09-26 | Abc Fintech Co., Ltd. | Method and device for parsing tables in pdf document |
CN110516208A (zh) * | 2019-08-12 | 2019-11-29 | 深圳智能思创科技有限公司 | 一种针对pdf文档表格提取的系统及方法 |
CN110532968A (zh) * | 2019-09-02 | 2019-12-03 | 苏州美能华智能科技有限公司 | 表格识别方法、装置和存储介质 |
CN110968667A (zh) * | 2019-11-27 | 2020-04-07 | 广西大学 | 一种基于文本状态特征的期刊文献表格抽取方法 |
US20210158034A1 (en) * | 2019-11-27 | 2021-05-27 | Guangxi University | Method for table extraction from journal literature based on text state characteristics |
KR102309562B1 (ko) * | 2020-12-30 | 2021-10-06 | 주식회사 애자일소다 | Pdf 테이블 재구성 장치 및 그 동작 방법 |
CN113486638A (zh) * | 2021-07-29 | 2021-10-08 | 浙江大华技术股份有限公司 | 表格的重构方法和装置、存储介质及电子装置 |
CN115761773A (zh) * | 2022-11-17 | 2023-03-07 | 上海交通大学 | 基于深度学习的图像内表格识别方法及系统 |
CN116311259A (zh) * | 2022-12-07 | 2023-06-23 | 中国矿业大学(北京) | 一种pdf业务文档的信息抽取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117350260B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7853869B2 (en) | Creation of semantic objects for providing logical structure to markup language representations of documents | |
TW452721B (en) | Method and apparatus for character font generation within limitation of character output media and computer readable storage medium storing character font generation program | |
CN110188649B (zh) | 基于tesseract-ocr的pdf文件解析方法 | |
CN110705503B (zh) | 生成目录结构化信息的方法和装置 | |
CN112085022B (zh) | 一种用于识别文字的方法、系统及设备 | |
CN107679442A (zh) | 单证信息录入的方法、装置、计算机设备及存储介质 | |
CN105469040A (zh) | 一种便于识别的答题卡及其制作方法 | |
CN112651331B (zh) | 文本表格提取方法、系统、计算机设备及存储介质 | |
CN114187602A (zh) | 一种房产证明材料内容识别方法、系统、设备及存储介质 | |
CN112926421A (zh) | 图像处理方法和装置、电子设备和存储介质 | |
CN109670461A (zh) | Pdf文字提取方法、装置、计算机设备和存储介质 | |
CN114677695A (zh) | 表格解析方法、装置、计算机设备和存储介质 | |
CN116402020A (zh) | 基于ofd文档的签名图像化处理方法、系统和存储介质 | |
CN117350260B (zh) | Pdf页面表格内容的重构方法及装置 | |
CN114663897A (zh) | 表格提取方法与表格提取系统 | |
CN110990539A (zh) | 稿件内部查重方法、装置、存储介质及电子设备 | |
CN116108804A (zh) | 点码文件生成方法、内容审阅方法和内容审阅系统 | |
CN112560849B (zh) | 基于神经网络算法的文理分割方法及系统 | |
CN114926840A (zh) | 一种影印pdf转可复制pdf方法及系统 | |
CN113868411A (zh) | 合同比对方法、装置、存储介质及计算机设备 | |
CN114581923A (zh) | 表格图像及对应标注信息的生成方法、装置及存储介质 | |
CN113569528A (zh) | 一种自动版面文档标注生成方法 | |
CN112329426A (zh) | 电子文件的页眉页脚识别方法、装置、设备和介质 | |
CN116311301B (zh) | 无线表格识别方法及系统 | |
CN117173725B (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 |