CN116542226A - 非编辑文档的表格抽取方法、电子设备及可读存储介质 - Google Patents
非编辑文档的表格抽取方法、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116542226A CN116542226A CN202210090792.0A CN202210090792A CN116542226A CN 116542226 A CN116542226 A CN 116542226A CN 202210090792 A CN202210090792 A CN 202210090792A CN 116542226 A CN116542226 A CN 116542226A
- Authority
- CN
- China
- Prior art keywords
- row
- cell
- preset
- edited document
- coordinate
- 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
- 238000000605 extraction Methods 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000003708 edge detection Methods 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 239000003086 colorant Substances 0.000 claims description 3
- 238000004590 computer program Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012015 optical character recognition Methods 0.000 description 3
- 238000005260 corrosion Methods 0.000 description 2
- 230000007797 corrosion Effects 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method 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
-
- 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
一种非编辑文档的表格抽取方法、电子设备及计算机可读存储介质,所述方法包括:获取非编辑文档中的表格所包含的框线及框线的坐标信息;基于框线的交叉点及坐标信息得到表格中的每个单元格的坐标信息;基于交叉点及每个单元格的坐标信息在可编辑文档中生成与表格对应的可编辑表格;基于每个单元格的坐标信息识别位于每个单元格内的字符,得到每个单元格所包含的字符串;基于每个单元格的坐标信息将每个单元格所包含的字符串写入可编辑表格。本申请涉及文档解析领域,可实现自动从非编辑文档中提取表格信息,并将表格信息写入至可编辑文档。
Description
技术领域
本申请涉及文档解析技术领域,尤其涉及一种非编辑文档的表格抽取方法、电子设备及计算机可读存储介质。
背景技术
非编辑文档,如便携式文档格式(Portable Document Format,PDF)可以将文字、字型、格式、颜色及独立于设备和分辨率的图形图像等封装在一个文件中,其具有跨平台、高集成度和高安全性等优点,使得PDF文档成为日常办公作业的资料保存、资料分享的理想文档格式。
当产品研发设计中的相关技术资料以PDF文档格式保存时,表格作为PDF文档的重要组成部分,表格承载了大多数的产品设计参数信息。若需要从PDF中将这些设计参数信息整理出来,作为后续的电路设计、产品测试等方面的技术指导,由于文档的不可编辑性,导致需要花费较长的时间整理这些设计参数信息,且占用较多的人力成本。
发明内容
有鉴于此,有必要提供一种非编辑文档的表格抽取方法、电子设备及计算机可读存储介质,其可自动从非编辑文档中提取表格信息,并将表格信息写入至可编辑文档。
本申请一实施方式提供一种非编辑文档的表格抽取方法,所述方法包括:遍历非编辑文档,以定位所述非编辑文档中所包含的表格;获取所述表格包含的多个框线及所述多个框线中每个框线的坐标信息;提取由所述多个框线形成的交叉点;基于所述交叉点及所述每个框线的坐标信息得到所述表格中的每个单元格的坐标信息;基于所述交叉点及所述每个单元格的坐标信息在可编辑文档中生成与所述表格对应的可编辑表格;基于所述每个单元格的坐标信息识别位于所述每个单元格的坐标范围内的字符,得到所述每个单元格所包含的字符串;基于所述每个单元格的坐标信息将所述每个单元格所包含的字符串写入所述可编辑表格。
在一些实施例中,所述方法还包括:获取所述表格的外侧框线的左上角点坐标,及以所述左上角点坐标为第一基准点坐标在所述非编辑文档中向上查询第一预设行;若在所述第一预设行中检索到第一预设关键字,判断所述第一预设关键字是否处于行开头位置及所述第一预设关键字是否跟随有数字;若所述第一预设关键字处于行开头位置且所述第一预设关键字跟随有数字,识别所述关键字所在行包含的字符;将所述关键字所在行包含的字符作为所述表格的表格标题,写入所述可编辑表格的上方行。
在一些实施例中,所述方法还包括:以所述左上角点坐标为所述第一基准点坐标在所述非编辑文档中向上查询第二预设行;若在所述第二预设行中检索到数字,且所述数字处于行开头位置时,识别所述数字所在行包含的字符;将所述数字所在行包含的字符作为所述表格的章节标题,写入所述表格标题的上方行。
在一些实施例中,所述方法还包括:当以所述左上角点坐标为所述第一基准点坐标在所述非编辑文档中向上查询所述第一预设行或所述第二预设行时,忽略统计空格行及换行符所在的行的行数。
在一些实施例中,所述将所述数字所在行包含的字符作为所述表格的章节标题,写入所述表格标题的上方行,包括:遍历所述可编辑表格是否存在所述章节标题;若所述可编辑表格不存在所述章节标题,将所述表格标题写入所述表格标题的上方行。
在一些实施例中,所述基于所述每个单元格的坐标信息识别位于所述每个单元格的坐标范围内的字符,得到所述每个单元格所包含的字符串,包括:基于预设字符库及所述每个单元格的坐标信息识别位于所述每个单元格的坐标范围内的字符;获取位于所述坐标范围内的字符的字号及字体颜色;基于所述每个单元格的坐标范围内的字符、字号及字体颜色得到所述每个单元格所包含的字符串。
在一些实施例中,所述方法还包括:获取所述表格的外侧框线的左下角点坐标,及以所述左下角点坐标为第二基准点坐标在所述非编辑文档中向下查询第三预设行;若在所述第三预设行中检索到第二预设关键字,判断所述第二预设关键字是否处于行开头位置;若所述第二预设关键字处于行开头位置,提取所述第二预设关键字及与所述第二预设关键字关联的字符;将所述第二预设关键字及与所述第二预设关键字关联的字符作为所述表格的表格注解,写入所述可编辑表格的下方行。
在一些实施例中,所述方法还包括;当检测到所述非编辑文档中的两个表格处于相邻页,且所述两个表格的表格属性符合预设规则时,在所述可编辑文档中对与所述两个表格对应的两个可编辑表格进行合并处理;或当检测到所述表格为无框线表格时,利用边缘检测算法对所述表格中的内容进行边缘检测,以为所述表格添加框线。
本申请一实施方式还提供一种电子设备,所述电子设备包括处理器及存储器,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述电子设备执行上述的非编辑文档的表格抽取方法。
本申请一实施方式还一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行上述的非编辑文档的表格抽取方法。
与现有技术相比,上述非编辑文档的表格抽取方法、电子设备及计算机可读存储介质,可以实现自动从非编辑文档中定位表格,提取表格的框线、表格内容及与表格相关的其他内容,将表格的框线及这些文本内容写入至可编辑文档中,使得用户后续可以对该可编辑文档进行编辑、整理,产出所需的目标文档,且无需占用用户过多的时间。
附图说明
图1是本申请一实施方式的非编辑文档的表格抽取方法的步骤流程图。
图2a~2b是对本申请一实施方式的非编辑文档中的表格进行结构信息提取的示意图。
图3是本申请一实施方式的表格抽取装置的功能模块图。
图4是本申请一实施方式的电子设备的结构示意图。
主要元件符号说明
表格抽取装置 | 10 |
存储器 | 20 |
处理器 | 30 |
计算机程序 | 40 |
遍历模块 | 101 |
获取模块 | 102 |
提取模块 | 103 |
第一处理模块 | 104 |
生成模块 | 105 |
第二处理模块 | 106 |
写入模块 | 107 |
电子设备 | 100 |
具体实施方式
为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施方式对本申请进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施方式及实施方式中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本申请,所描述的实施方式仅是本申请一部分实施方式,而不是全部的实施方式。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本申请。
进一步需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
本申请中“至少一个”是指一个或者多个,“多个”是指两个或多于两个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请的非编辑文档的表格抽取方法可应用在一个或者多个电子设备中。所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于处理器、微程序控制器(Microprogrammed Control Unit,MCU)、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述电子设备可以是便携式电子设备(如手机、平板电脑)、个人电脑、服务器等。
图1是本申请非编辑文档的表格抽取方法一实施例的步骤流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。
参阅图1所示,所述非编辑文档的表格抽取方法可以包括以下步骤。
S11、遍历非编辑文档,以定位非编辑文档中所包含的表格。
在一些实施例中,非编辑文档可以是指不支持用户直接在文档中对文档内容进行编辑的文档,可编辑文档可以是指支持用户直接在文档中对文档内容进行编辑的文档。本实施例中以非编辑文档为PDF文档,可编辑文档为Excel文档为例进行举例说明。
在一些实施例中,对于PDF文档,可以使用现有的PDFPlubmer工具对PDF文档进行遍历,定位PDF文档中所包含的表格。对于PDF文档中所包含的多个表格,可以按照PDF文档的章节顺序依次将多个表格写入至Excel文档。
在一些实施例中,对于其他类型的非编辑文档还可以使用诸如光学字符识别(OpticalCharacter Recognition,OCR)技术遍历非编辑文档,以定位非编辑文档中所包含的表格。
S12、获取表格包含的多个框线及多个框线中每个框线的坐标信息。
在一些实施例中,对于某个PDF页面中的表格,可以以PDF页面的某个页面角点为坐标原点,构建二维坐标系统。
表格的框线包括外侧框线及内部框线。可以使用PDFPlubmer工具读取表格的左上角点的坐标值及右下角点的坐标值,定位表格的外侧框线。
在一些实施例中,还可以将PDFPlubmer工具读取到的表格的左上角点的坐标值及右下角点的坐标值输入至预先训练的Faster R-CNN网络,利用Faster R-CNN网络对表格的左上角点的坐标值及右下角点的坐标值进行校正,以基于校正后的左上角点的坐标值及右下角点的坐标值定位表格的外侧框线。
在一些实施例中,如图2a所示,当定位得到表格Tb1的外侧框线F1时,可以基于外侧框线F1构建与外侧框线F1对应的掩膜M1,将表格Tb1搭建在掩膜M1上,构成二值化图I1。
如图2b所示,对二值化图I1进行预设图像形态学操作,例如进行膨胀与腐蚀操作,设置膨胀和腐蚀的操作区域为一个相对较宽的竖向直条,提取表格的竖向框线。同理,可以设置膨胀和腐蚀的操作区域为一个相对较宽的横向直条,提取表格的横向框线。
在提取横向框线与竖向框线过程中,可以一并提取这些框线的坐标信息。框线的坐标信息可以是指框线的起始点坐标值与终点的坐标值。
在一些实施例中,当检测到表格为无框线表格时,可以利用边缘检测算法对表格中的内容进行边缘检测,以为表格添加框线。
S13、提取由多个框线形成的交叉点。
在一些实施例中,如图2b所示,当得到表格的横向框线与竖向框线之后,可以提取由横向框线与竖向框线相交形成的交叉点O1。例如,可以采用位操作函数bitewiese_and()对横向框线的像素值与竖向框线的像素值进行与运算,实现提取由横向框线与竖向框线相交形成的交叉点O1。
S14、基于交叉点及每个框线的坐标信息得到表格中的每个单元格的坐标信息。
在一些实施例中,单元格的坐标信息可以包括单元格的左上角点的坐标值与右下角点的坐标值。单元格的左上角点的坐标值可以由相交形成该单元格左上交叉点的横向框线与竖向框线的坐标信息得到,右下角点的坐标值可以由相交形成该单元格右下交叉点的横向框线与竖向框线的坐标信息得到。
S15、基于交叉点及每个单元格的坐标信息在可编辑文档中生成与表格对应的可编辑表格。
在一些实施例中,基于每个单元格的坐标信息在可编辑文档中生成与表格对应的可编辑表格,可以使得可编辑表格中所包含的单元格大小、数量、位置与非编辑文档中的表格相对应,同时通过交叉点可以在可编辑文档中恢复表格的框线,例如在水平和竖直方向连接相邻的交叉点,以实现恢复表格的框线。
在一些实施例中,当检测到非编辑文档中的两个表格处于相邻页,且两个表格的表格属性符合预设规则时,例如两个表格的行属性值及列属性值相同,且两个表格之间无其他正文内容,可在可编辑文档中对与两个表格对应的两个可编辑表格进行合并处理,实现合并跨页表格。
S16、基于每个单元格的坐标信息识别位于每个单元格的坐标范围内的字符,得到每个单元格所包含的字符串。
在一些实施例中,对于每个单元格内的字符内容,可以基于该单元格的坐标信息,识别位于每个单元格的坐标范围内的字符,得到单元格所包含的字符串,例如可以基于预设字符库来识别位于每个单元格的坐标范围内的字符。以单元格的坐标构建边界,可以避免将其他单元格内的字符内容当作当前待识别的单元格的字符内容。
例如,可以将单元格的坐标信息作为PDFPlubmer工具的输入,使用PDFPlubmer工具提取坐标范围内的字符,提取到的字符排列成字符串。对于表格中出现的上下标文本,可以以相邻字符的顶部坐标差和/或字符的坐标大小,或者以底部坐标差进行文本的上下标识别。
在一些实施例中,还可以利用PDFPlubmer工具获取字符的字号及字体颜色,基于每个单元格的坐标范围内的字符、字号及字体颜色得到每个单元格所包含的字符串,实现将表格中的字符信息完整还原至可编辑文档中。例如,可以对现有的PDFPlubmer工具进行改写,使得PDFPlubmer工具可以通过PDF的底层打印指令,获取表格内所包含的字符、字符的上下标、字符大小、字符坐标、字符颜色等信息。
S17、基于每个单元格的坐标信息将每个单元格所包含的字符串写入可编辑表格。
在一些实施例中,每个单元格的字符串可以分为数段,每段可以存为字典,每个单元格所对应的字典可以以列表的形式存储,实现将每个单元格所包含的字符串以多个字典的形式写入可编辑表格。基于每个单元格的坐标信息将字符串写入可编辑表格,可避免当前单元格的内容写入到其他单元格内。
在一些实施例中,表格一般还包括表格标题,表格标题一般位于表格的上方行,表格标题作为表格的重要信息,也需要写入至可编辑文档,避免表格信息遗漏。表格标题一般以“表”或“Table”为开头,且表格标题一般独占一行,可以通过以下方式提取表格标题并写入可编辑表格:获取表格的外侧框线的左上角点坐标,及以左上角点坐标为第一基准点坐标在非编辑文档中向上查询第一预设行,第一预设行可以根据实际需求进行设定,本申请对此不作限定;若在第一预设行中检索到第一预设关键字,判断第一预设关键字是否处于行开头位置及第一预设关键字是否跟随有数字;若第一预设关键字处于行开头位置且第一预设关键字跟随有数字,识别关键字所在行包含的字符;将关键字所在行包含的字符作为表格的表格标题,写入可编辑表格的上方行。
举例而言,以表格外侧框线的左上角点为基准点在非编辑文档中向上查询第一预设行,若查找到“表或Table”关键字,则以该关键字是否在行开头以及后面是否跟随了数字为条件,判断是否为表格标题。若是,则返回标题信息,否则返回空值。判断过程可去除空格符和换行符的影响,使得向上查询的第一预设行不包括空白行。
在一些实施例中,还可以按照非编辑文档的章节标题对表格进行分类,进而用户可以在可编辑文档中通过章节标题即可获知表格属于那个章节。章节标题一般以数字(大写数字或者阿拉伯数字)为开头,且一般独占一行,可以通过以下方式提取章节标题并写入可编辑表格:获取表格的外侧框线的左上角点坐标,以左上角点坐标为基准点坐标在非编辑文档中向上查询第二预设行,第二预设行可以根据实际需求进行设定,本申请对此不作限定;若在第二预设行中检索到数字,且数字处于行开头位置时,识别数字所在行包含的字符;将数字所在行包含的字符作为表格的章节标题,写入表格标题的上方行。查询过程可去同样除空格符和换行符的影响,使得向上查询的第二预设行不包括空白行。
在一些实施例中,可能存在多个表格同属于一个章节标题下,在章节标题的写入至可编辑文档的过程中,可以遍历可编辑表格是否存在该章节标题,若可编辑表格不存在该章节标题,再将表格标题写入表格标题的上方行,否则放弃将章节标题写入可编辑文档,以避免重复写入章节标题。
在一些实施例中,非编辑文档,如PDF文档的章节信息通常以大纲的方式存储在PDF文档的底层数据中,并包含页码信息,可以从底层数据中直接提取章节标题,及基于章节标题的页码信息将章节标题写入可编辑文档。例如,可以通过write_chapter_title()函数来提取章节标题。
在一些实施例中,表格一般还包括表格注解,表格注解一般位于表格的下方行,表格注解作为表格的重要信息,也需要写入至可编辑文档,避免表格信息遗漏。表格注解一般以“注”或“Note”为关键字作为开头,可以通过以下方式提取表格注解并写入可编辑表格:获取表格的外侧框线的左下角点坐标,及以左下角点坐标为基准点坐标在非编辑文档中向下查询第三预设行,第三预设行可以根据实际需求进行设定,本申请对此不作限定;若在第三预设行中检索到第二预设关键字,判断第二预设关键字是否处于行开头位置;若第二预设关键字处于行开头位置,提取第二预设关键字及与第二预设关键字关联的字符;将第二预设关键字及与第二预设关键字关联的字符作为表格的表格注解,写入可编辑表格的下方行。与第二预设关键字关联的字符可以是指表格注解的具体内容,可以通过对第二预设关键字后面的文本内容进行分析,来定位表格注解所包含的字符。
上述非编辑文档的表格抽取方法,可以实现自动从非编辑文档中定位表格,提取表格的框线、表格内容及与表格相关的其他内容,将表格的框线及这些文本内容写入至可编辑文档中,使得用户后续可以对该可编辑文档进行编辑、整理,产出所需的目标文档,且无需占用用户过多的时间。
基于与上述实施例中的非编辑文档的表格抽取方法相同的思想,本申请还提供表格抽取装置,该装置可用于执行上述非编辑文档的表格抽取方法。为了便于说明,表格抽取装置实施例的结构示意图中,仅仅示出了与本申请实施例相关的部分,本邻域技术人员可以理解,图示结构并不构成对该装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,表格抽取装置10包括遍历模块101、获取模块102、提取模块103、第一处理模块104、生成模块105、第二处理模块106及写入模块107。在一些实施例中,上述模块可以为存储于存储器中且可被处理器调用执行的可程序化软件指令。可以理解的是,在其他实施方式中,上述模块也可为固化于处理器中的程序指令或固件(firmware)。
遍历模块101,用于遍历非编辑文档,以定位非编辑文档中所包含的表格。
获取模块102,用于获取表格包含的多个框线及多个框线中每个框线的坐标信息。
提取模块103,用于提取由所述多个框线形成的交叉点。
第一处理模块104,用于基于交叉点及每个框线的坐标信息得到表格中的每个单元格的坐标信息。
生成模块105,用于基于交叉点及每个单元格的坐标信息在可编辑文档中生成与表格对应的可编辑表格。
第二处理模块106,用于基于每个单元格的坐标信息识别位于每个单元格的坐标范围内的字符,得到每个单元格所包含的字符串。
写入模块107,用于基于每个单元格的坐标信息将每个单元格所包含的字符串写入可编辑表格。
图4为本申请电子设备一实施例的示意图。
电子设备100包括存储器20、处理器30以及存储在存储器20中并可在处理器30上运行的计算机程序40。处理器30执行计算机程序40时实现上述非编辑文档的表格抽取方法实施例中的步骤,例如图1所示的步骤S11~S17。
示例性的,计算机程序40同样可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在存储器20中,并由处理器30执行。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述计算机程序40在电子设备100中的执行过程。例如,可以分割成图3所示的遍历模块101、获取模块102、提取模块103、第一处理模块104、生成模块105、第二处理模块106及写入模块107。
本领域技术人员可以理解,所述示意图仅仅是电子设备100的示例,并不构成对电子设备100的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子设备100还可以包括输入输出设备、网络接入设备、总线等。
处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器、单片机或者处理器30也可以是任何常规的处理器等。
存储器20可用于存储计算机程序40和/或模块/单元,处理器30通过运行或执行存储在存储器20内的计算机程序和/或模块/单元,以及调用存储在存储器20内的数据,实现电子设备100的各种功能。存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备100的使用所创建的数据(比如音频数据)等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
电子设备100集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本申请所提供的几个实施例中,应该理解到,所揭露的电子设备和方法,可以通过其它的方式实现。例如,以上所描述的电子设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本申请各个实施例中的各功能单元可以集成在相同处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在相同单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。电子设备权利要求中陈述的多个单元或电子设备也可以由同一个单元或电子设备通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照上述实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。
Claims (10)
1.一种非编辑文档的表格抽取方法,其特征在于,所述方法包括:
遍历非编辑文档,以定位所述非编辑文档中所包含的表格;
获取所述表格包含的多个框线及所述多个框线中每个框线的坐标信息;
提取由所述多个框线形成的交叉点;
基于所述交叉点及所述每个框线的坐标信息得到所述表格中的每个单元格的坐标信息;
基于所述交叉点及所述每个单元格的坐标信息在可编辑文档中生成与所述表格对应的可编辑表格;
基于所述每个单元格的坐标信息识别位于所述每个单元格的坐标范围内的字符,得到所述每个单元格所包含的字符串;
基于所述每个单元格的坐标信息将所述每个单元格所包含的字符串写入所述可编辑表格。
2.如权利要求1所述的非编辑文档的表格抽取方法,其特征在于,所述方法还包括:
获取所述表格的外侧框线的左上角点坐标,及以所述左上角点坐标为第一基准点坐标在所述非编辑文档中向上查询第一预设行;
若在所述第一预设行中检索到第一预设关键字,判断所述第一预设关键字是否处于行开头位置及所述第一预设关键字是否跟随有数字;
若所述第一预设关键字处于行开头位置且所述第一预设关键字跟随有数字,识别所述关键字所在行包含的字符;
将所述关键字所在行包含的字符作为所述表格的表格标题,写入所述可编辑表格的上方行。
3.如权利要求2所述的非编辑文档的表格抽取方法,其特征在于,所述方法还包括:
以所述左上角点坐标为所述第一基准点坐标在所述非编辑文档中向上查询第二预设行;
若在所述第二预设行中检索到数字,且所述数字处于行开头位置时,识别所述数字所在行包含的字符;
将所述数字所在行包含的字符作为所述表格的章节标题,写入所述表格标题的上方行。
4.如权利要求3所述的非编辑文档的表格抽取方法,其特征在于,所述方法还包括:
当以所述左上角点坐标为所述第一基准点坐标在所述非编辑文档中向上查询所述第一预设行或所述第二预设行时,忽略统计空格行及换行符所在的行的行数。
5.如权利要求3所述的非编辑文档的表格抽取方法,其特征在于,所述将所述数字所在行包含的字符作为所述表格的章节标题,写入所述表格标题的上方行,包括:
遍历所述可编辑表格是否存在所述章节标题;
若所述可编辑表格不存在所述章节标题,将所述表格标题写入所述表格标题的上方行。
6.如权利要求1所述的非编辑文档的表格抽取方法,其特征在于,所述基于所述每个单元格的坐标信息识别位于所述每个单元格的坐标范围内的字符,得到所述每个单元格所包含的字符串,包括:
基于预设字符库及所述每个单元格的坐标信息识别位于所述每个单元格的坐标范围内的字符;
获取位于所述坐标范围内的字符的字号及字体颜色;
基于所述每个单元格的坐标范围内的字符、字号及字体颜色得到所述每个单元格所包含的字符串。
7.如权利要求1所述的非编辑文档的表格抽取方法,其特征在于,所述方法还包括:
获取所述表格的外侧框线的左下角点坐标,及以所述左下角点坐标为第二基准点坐标在所述非编辑文档中向下查询第三预设行;
若在所述第三预设行中检索到第二预设关键字,判断所述第二预设关键字是否处于行开头位置;
若所述第二预设关键字处于行开头位置,提取所述第二预设关键字及与所述第二预设关键字关联的字符;
将所述第二预设关键字及与所述第二预设关键字关联的字符作为所述表格的表格注解,写入所述可编辑表格的下方行。
8.如权利要求1至7中任意一项所述的非编辑文档的表格抽取方法,其特征在于,所述方法还包括;
当检测到所述非编辑文档中的两个表格处于相邻页,且所述两个表格的表格属性符合预设规则时,在所述可编辑文档中对与所述两个表格对应的两个可编辑表格进行合并处理;或
当检测到所述表格为无框线表格时,利用边缘检测算法对所述表格中的内容进行边缘检测,以为所述表格添加框线。
9.一种电子设备,所述电子设备包括处理器及存储器,其特征在于,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述电子设备执行如权利要求1至权利要求8中任一项所述的非编辑文档的表格抽取方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至权利要求8中任一项所述的非编辑文档的表格抽取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210090792.0A CN116542226A (zh) | 2022-01-26 | 2022-01-26 | 非编辑文档的表格抽取方法、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210090792.0A CN116542226A (zh) | 2022-01-26 | 2022-01-26 | 非编辑文档的表格抽取方法、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116542226A true CN116542226A (zh) | 2023-08-04 |
Family
ID=87442296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210090792.0A Pending CN116542226A (zh) | 2022-01-26 | 2022-01-26 | 非编辑文档的表格抽取方法、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116542226A (zh) |
-
2022
- 2022-01-26 CN CN202210090792.0A patent/CN116542226A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795919B (zh) | 一种pdf文档中的表格抽取方法、装置、设备及介质 | |
US9798925B2 (en) | Method for identifying PDF document | |
US7853869B2 (en) | Creation of semantic objects for providing logical structure to markup language representations of documents | |
CN100454293C (zh) | 文档编辑方法和文档编辑设备 | |
US11900644B2 (en) | Document image analysis apparatus, document image analysis method and program thereof | |
CN110427488B (zh) | 文档的处理方法及装置 | |
US7046847B2 (en) | Document processing method, system and medium | |
JP2003288334A (ja) | 文書処理装置及び文書処理方法 | |
CN112069991A (zh) | 一种pdf的表格信息提取方法及相关装置 | |
JP5380040B2 (ja) | 文書処理装置 | |
CN115828874A (zh) | 基于图像识别技术的行业表格数字化处理方法 | |
CN112651331A (zh) | 文本表格提取方法、系统、计算机设备及存储介质 | |
CN110688825A (zh) | 一种版式文档中的含线表格信息提取方法 | |
JP5950700B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JPH11184894A (ja) | 論理要素抽出方法および記録媒体 | |
CN103176956B (zh) | 用于提取文档结构的方法和装置 | |
CN113343658A (zh) | 一种pdf文件信息抽取方法、装置以及计算机设备 | |
JP2008108114A (ja) | 文書処理装置および文書処理方法 | |
Yuan et al. | An opencv-based framework for table information extraction | |
CN116542226A (zh) | 非编辑文档的表格抽取方法、电子设备及可读存储介质 | |
CN112100978B (zh) | 基于电子书的排版处理方法、电子设备及存储介质 | |
JP2008027133A (ja) | 帳票処理装置及び帳票処理方法ならびに帳票処理方法を実行するプログラムと記憶媒体 | |
JP2000148788A (ja) | 文書画像からのタイトル領域抽出装置およびタイトル領域抽出方法,並びに文書検索方法 | |
CN112149646B (zh) | 版面分析方法、装置、设备及存储介质 | |
CN110727820B (zh) | 一种为图片获得标签的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |