一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于非标准映射字体的PDF修复方法、存储介质及设备与流程

2022-05-27 01:47:19 来源:中国专利 TAG:
基于非标准映射字体的pdf修复方法、存储介质及设备
技术领域
:1.本发明属于字符识别的
技术领域
:,涉及一种pdf字符识别方法,特别是涉及一种基于非标准映射字体的pdf修复方法、存储介质及设备。
背景技术
::2.目前,从字符可以复制的pdf(portabledocumentformat,可携带文档格式)中提取文本信息是数据治理中一个常见的业务需求。在现实场景中,有非常多的数据会以文本,表格等形式存储在pdf中,而不是word文档或者excel,因为pdf具有阅读方便,不需要安装office,排版不变化,内容不容易被更改的优势。3.然而,有的pdf会出现复制后结果和复制前不一样,即复制出错的情况。该类pdf无法通过正常的pdf转word、文本抽取等方式获取其中正确的数据,也无法使用pdf自带的搜索功能。4.针对上述问题现有的解决方案存在一些不足,主要包括以下几个方面:(1)全文ocr(opticalcharacterrecognition,光学字符识别)技术可以识别pdf中所有的字符,但是ocr准确率不能保证百分之百,需要人工检查全文是否存在识别出错,消耗大量人力成本。(2)全文ocr会导致pdf的字符的位置改变,排版信息也可能失真,对数据后结构化造成不必要的开销。(3)使用文本抽取工具导出所有错误的字符后去重,得到字符集合b,字符bi∈b,找出bi对应的正确字符ai,通过bi-》ai的映射修复错误文本。但是此方法存在寻找映射困难,同时还可能存在bi-》ci,即存在另一个正确映射的情况,进而无法得知bi的正确字符是ai还是ci。(4)同时以上方法都损坏了标准的pdf结构,对于从pdf出发的不同的场景复用性低,而且传播过程中其他收到此pdf的人员在不使用特定程序的情况下均无法方便的使用此pdf。5.因此,如何提供一种基于非标准映射字体的pdf修复方法、存储介质及设备,以解决现有技术无法将可复制的,但复制结果出错的pdf修复成为可以复制而且结果正确的正常pdf,且方便查看、复制,搜索和进行从pdf出发的标准化数据提取等缺陷,成为本领域技术人员亟待解决的技术问题。技术实现要素:6.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于非标准映射字体的pdf修复方法、存储介质及设备,用于解决现有技术无法将可复制的,但复制结果出错的pdf修复成为可以复制而且结果正确的正常pdf,且方便查看、复制,搜索和进行从pdf出发的标准化数据提取的问题。7.为实现上述目的及其他相关目的,本发明一方面提供一种基于非标准映射字体的pdf修复方法,所述基于非标准映射字体的pdf修复方法包括:获取pdf中的字体文件;由所述字体文件中提取待识别字符图片对应的图片数据;解析所述pdf的数据流,确定pdf的各个字符信息;基于所述图片数据和所述字符信息,获取所述待识别字符图片的上下文字符图片;将所述待识别字符图片和所述上下文的字符图片进行合并处理,生成合并图片;根据所述合并图片中各个字符图片的合并顺序,识别所述待识别字符图片对应的字符;利用所识别出的字符进行pdf修复。8.于本发明的一实施例中,所述由所述字体文件中提取待识别字符图片对应的图片数据的步骤,包括:由所述字体文件的二进制数据中提取所述字符图片对应的图片列表;根据所述图片列表的数据结构,确定所述图片数据包括字体名、内码、字体类型、文件名及位置。9.于本发明的一实施例中,所述解析所述pdf的数据流,确定pdf的各个字符信息的步骤,包括:解析所述pdf的数据流为预设数据结构;由所述预设数据结构中确定pdf中各个字符对应的字体名、位置、内码和字符。10.于本发明的一实施例中,所述基于所述图片数据和所述字符信息,获取所述待识别字符图片的上下文字符图片的步骤包括:根据所述待识别字符图片在所述pdf中的位置以及所述pdf中各个字符对应的字体名、位置,确定上下文字符对应的字体名和内码;基于所述上下文字符对应的字体名和内码,获取所述上下文字符图片。11.于本发明的一实施例中,所述基于所述上下文字符对应的字体名和内码,获取所述上下文字符图片的步骤,包括:基于所述上下文字符对应的字体名和内码,获取以所述待识别字符图片为中心,左右各一个上下文字符图片;基于所述上下文字符对应的字体名和内码,获取以所述待识别字符图片为中心,左右各两个上下文字符图片;基于所述上下文字符对应的字体名和内码,获取以所述待识别字符图片为中心,左右各三个上下文字符图片。12.于本发明的一实施例中,所述将所述待识别字符图片和所述上下文的字符图片进行合并处理,生成合并图片的步骤,包括:对所述待识别字符图片和所述上下文的字符图片进行预处理,所述预处理包括填充白色轮廓、灰度化、二值化、降噪、倾斜矫正或膨胀中的至少一种;基于预处理后的结果,生成所述合并图片。13.于本发明的一实施例中,所述根据所述合并图片中各个字符图片的合并顺序,识别所述待识别字符图片对应的字符的步骤,包括:通过ocr识别所述合并图片中的所有字符;其中每个字符以识别率最高的字符作为识别结果;将识别的所有字符按照合并顺序排列,根据所述待识别字符图片对应的字符所在位置,识别所述字符。14.于本发明的一实施例中,所述利用所识别出的字符进行pdf修复的步骤包括:根据识别准确率由低到高排序,呈现矫正操作界面;响应于用户于所述矫正操作界面上生成的矫正操作,对所识别出的字符进行修复;利用修复字符的字体和内码,修改所述pdf的字体映射对象,生成修复的pdf。15.为实现上述目的及其他相关目的,本发明另一方面提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的基于非标准映射字体的pdf修复方法。16.为实现上述目的及其他相关目的,本发明最后一方面提供一种电子设备,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述电子设备执行所述的基于非标准映射字体的pdf修复方法。17.如上所述,本发明所述的基于非标准映射字体的pdf修复方法、存储介质及设备,具有以下有益效果:18.(1)本发明可以提供一个将可复制的,但复制结果出错的pdf修复成为可以复制而且结果正确的正常pdf,方便查看、复制,搜索和进行从pdf出发的标准化数据提取,同时尽量的减少人工介入的时间和步骤。19.(2)本发明在处理数十页的pdf的时候,无需检查所有的上万个字符,只需要对每一页的字体文件中有限的字符进行ocr,再检查其中准确率较低的部分,可以将万的规模缩减到数百甚至数十,大大的减少了人工成本。20.(3)由于本发明利用上下文信息的ocr结果中准确率高的几乎可以保证正确,而准确率低的部分又都经过人工筛查,所以修复的pdf几乎不会存在复制出错或者乱码的情况,解决了ocr准确率不能到达100%的缺点。21.(4)修复后的pdf保留了所有的pdf格式信息,可以进行从pdf出发的标准化提取,和转word,提取表格等其他无关步骤隔离开来,方便工程化开发。附图说明22.图1显示为本发明的基于非标准映射字体的pdf修复方法于一实施例中的原理流程图。23.图2显示为本发明的基于非标准映射字体的pdf修复方法于一实施例中的上下文图片示意图。24.图3显示为本发明的基于非标准映射字体的pdf修复方法于一实施例中的修复流程图。25.图4显示为本发明的基于非标准映射字体的pdf修复方法于一实施例中的人工矫正界面图。26.图5显示为本发明的电子设备于一实施例中的结构连接示意图。27.元件标号说明[0028]5ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ电子设备[0029]51ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ处理器[0030]52ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ存储器[0031]s11~s17ꢀꢀꢀꢀꢀꢀꢀꢀ步骤[0032]s171~s173ꢀꢀꢀꢀꢀꢀ步骤具体实施方式[0033]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。[0034]需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。[0035]本发明所述的基于非标准映射字体的pdf修复方法、存储介质及设备可以提供一个将可复制的,但复制结果出错的pdf修复成为可以复制而且结果正确的正常pdf,方便查看、复制,搜索和进行从pdf出发的标准化数据提取,同时尽量的减少人工介入的时间和步骤。[0036]以下将结合图1至图5详细阐述本实施例的一种基于非标准映射字体的pdf修复方法、存储介质及设备的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本实施例的基于非标准映射字体的pdf修复方法、存储介质及设备。[0037]请参阅图1,显示为本发明的基于非标准映射字体的pdf修复方法于一实施例中的原理流程图。如图1所示,所述基于非标准映射字体的pdf修复方法具体包括以下几个步骤:[0038]s11,获取pdf中的字体文件。[0039]具体地,pdf是由一系列间接对象组成的,例如字体、页面和采样图像。从pdf的字体对象中提取数据流文件,将后缀名改为(.ttf),即可得到需要的字体文件。[0040]s12,由所述字体文件中提取待识别字符图片对应的图片数据。[0041]于一实施例中,步骤s12具体包括以下步骤:[0042]由所述字体文件的二进制数据中提取所述字符图片对应的图片列表;根据所述图片列表的数据结构,确定所述图片数据包括字体名、内码、字体类型、文件名及位置。[0043]具体地,通过程序可以从字体文件的二进制数据中抽取出字体图片和对应图片字符的在pdf中的内码。比如在一具体pdf文档中,所述待识别字符图片为“复”,字体名font_name是ygubxq #d0#c2#cb#ce#cc#e5,内码font_code是3901,字体类型font_type为unicode(还有一种是difference),文件名为ygubxq #d0#c2#cb#ce#cc#e5[3901].png,文件所在位置img_address为./img/ygubxq #d0#c2#cb#ce#cc#e5[3901].png,。[0044]由此,待识别字符图片为“复”对应的图片列表的数据结构为:[0045][{“font_name”:“ygubxq #d0#c2#cb#ce#cc#e5”,[0046]“font_code”:3901,[0047]“font_type”:“unicode”,[0048]“img_address”:“./img/ygubxq #d0#c2#cb#ce#cc#e5[3901].png”},..][0049]s13,解析所述pdf的数据流,确定pdf的各个字符信息。[0050]于一实施例中,步骤s13具体包括以下步骤:[0051]解析所述pdf的数据流为预设数据结构;由所述预设数据结构中确定pdf中各个字符对应的字体名、位置、内码和字符。[0052]具体地,由解析程序解析pdf数据流,得到如下的数据结构(错误字符信息列表)并按照x0,top从左到右,从上到下排序:[0053][{“font_name”:“ygubxq #d0#c2#cb#ce#cc#e5”,[0054]“font_code”:“3901”,[0055]“x0”:x0_value,[0056]“x1”:x1_value,[0057]“top”:top_value,[0058]“bottom”:bottom_value},…………][0059]通过以上数据结构列表,可以获知pdf中每一字符的字体名、内码以及在pdf中的位置。[0060]s14,基于所述图片数据和所述字符信息,获取所述待识别字符图片的上下文字符图片。[0061]于一实施例中,根据所述待识别字符图片在所述pdf中的位置以及所述pdf中各个字符对应的字体名、位置,确定上下文字符对应的字体名和内码;基于所述上下文字符对应的字体名和内码,获取所述上下文字符图片。[0062]具体地,由于通过字体名和内码可以在pdf中唯一确定一个字符图片,因此对于每一个字符图片,通过字体名font_name,内码font_code在步骤s13的数据列表中找到和步骤s12中的字符“复”对应的元素。[0063]由于是按照位置排序,因此可以得到对应元素的前后元素,即上下文字符。[0064]通过上下文字符的字体名font_name,内码font_code,又可以在步骤12的图片列表中找到对应的上下文字符图片,由此获取“复”的上下文图片,以便使用ocr的时候上下文可以提高识别准确率。[0065]进一步地,可以根据上下文字符个数的不同,选取三组上下文字符组合:[0066]基于所述上下文字符对应的字体名和内码,获取以所述待识别字符图片为中心,左右各一个上下文字符图片。[0067]基于所述上下文字符对应的字体名和内码,获取以所述待识别字符图片为中心,左右各两个上下文字符图片。[0068]基于所述上下文字符对应的字体名和内码,获取以所述待识别字符图片为中心,左右各三个上下文字符图片。[0069]请参阅图2,显示为本发明的基于非标准映射字体的pdf修复方法于一实施例中的上下文图片示意图。如图2所示,针对字符“复”,获取三组字符图片:获取以所述待识别字符图片为中心,左右各一个上下文字符图片“市复旦”,获取以所述待识别字符图片为中心,左右各两个上下文字符图片“海市复旦大”,获取以所述待识别字符图片为中心,左右各三个上下文字符图片“上海市复旦大学”。[0070]进一步地,在获取上下文字符的过程中,如果前面没有字符了可以往后面取,如果后面没有字符了可以往前面取。[0071]s15,将所述待识别字符图片和所述上下文的字符图片进行合并处理,生成合并图片。[0072]于一实施例中,步骤s15具体包括以下步骤:[0073]对所述待识别字符图片和所述上下文的字符图片进行预处理,所述预处理包括填充白色轮廓、灰度化、二值化、降噪、倾斜矫正或膨胀中的至少一种;基于预处理后的结果,生成所述合并图片。[0074]其中,填充白色轮廓是因为部分图片字体太大,轮廓空白过少,导致识别效果差。倾斜校正是指字符图片倾斜时将其调整为水平方向。膨胀是指图片的膨胀处理,是在图像的边缘添加像素值,使得整体的像素值扩张,进而达到图像的膨胀效果,即信号与系统书中所提到的像素插值处理。[0075]s16,根据所述合并图片中各个字符图片的合并顺序,识别所述待识别字符图片对应的字符。[0076]于一实施例中,步骤s16具体包括以下步骤:[0077]通过ocr识别所述合并图片中的所有字符;其中每个字符以识别率最高的字符作为识别结果;将识别的所有字符按照合并顺序排列,根据所述待识别字符图片对应的字符所在位置,识别所述字符。[0078]具体地,结合图2,通过ocr识别三组上下文字符,若ocr识别过程中识别的长度与合并图片的长度不匹配,则丢弃,并按照图片合并顺序获得相应位置的所需要的字符。例如,例如图2中“海市复旦大”,如果ocr的结果是6个字符,则说明长度不匹配,识别结果错误,进行丢弃。进一步地,在长度不匹配时,还可以再次进行ocr识别,如果依然长度不匹配再进行丢弃。[0079]于实际应用中,对于得到的合并图片中的所有字符,按照投票占多数的原则准确率取最高的一个,如果只有两个就选准确率高的那一个,得到最终ocr识别的结果。如果均未识别出来,可将映射结果设为空格,准确率为0。[0080]经过ocr识别后,返回数据结构为:[0081][{“font_name”:“ygubxq #d0#c2#cb#ce#cc#e5”,[0082]“font_code”:3901,[0083]“font_type”:“unicode”,[0084]“precision”:0.998,[0085]“font_unicode”:“复(识别结果)的unicode码”,[0086]“img_address”:“./img/ygubxq #d0#c2#cb#ce#cc#e5[3901].png”},[0087]“merged_img_address”:“./merged_img/字体名加内码.png”},………][0088]其中,选取识别准确率最高的对应的合并图片作为merged_img。例如,结合图2,合并图片“市复旦”中字符“复”的识别准确率为0.95,合并图片“海市复旦大”中字符“复”的识别准确率为0.98,合并图片“上海市复旦大学”中字符“复”的识别准确率为0.998,所以最终选择合并图片“上海市复旦大学”中该字符的识别结果为“复”。[0089]s17,利用所识别出的字符进行pdf修复。[0090]请参阅图3,显示为本发明的基于非标准映射字体的pdf修复方法于一实施例中的修复流程图。如图3所示,步骤s17具体包括以下步骤:[0091]s171,根据识别准确率由低到高排序,呈现矫正操作界面。[0092]请参阅图4,显示为本发明的基于非标准映射字体的pdf修复方法于一实施例中的人工矫正界面图。如图4所示,界面中第一列按照准确率排序,针对字符图片“信”,识别准确率为0.535,字符图片“复”的识别准确率为0.995;第二列显示单个字符的图片“信”、“复”,第三列人工检查栏是一个文本框,如果检查和图片不相同,可以在上面修改字符,输入正确的字符,如果出现通过图片栏无法判别的情况,可以参考合并图片栏。[0093]进一步地,用户可以在矫正操作界面中进行筛选显示,比如,只查看识别准确率低于0.6的字符信息,以提高人工核查和矫正效率。[0094]s172,响应于用户于所述矫正操作界面上生成的矫正操作,对所识别出的字符进行修复。[0095]具体地,字符图片“信”识别错误,因此,用户在人工检查栏中将“倩”改为“信”,在人工修改完成后可以点击“重构映射”对pdf进行修复。[0096]本步骤排序是为了减少人工检查的数量,ocr准确率高的部分基本上可以保证是正确的,因此只需要关注那些低准确率的图片。[0097]在无错误或者更改完成后,点击重构映射按钮即可得到本流程的输出,生成列表如下:[0098][{“font_name”:“ygubxq #d0#c2#cb#ce#cc#e5”,[0099]“font_code”:3901,[0100]“font_type”:“unicode”,[0101]“font_unicode”:“复(人工检查后最终结果)的unicode码”},…………][0102]s173,利用修复字符的字体和内码,修改所述pdf的字体映射对象,生成修复的pdf。[0103]具体地,由解析程序解析pdf数据流,在pdf的字体映射对象中找到对应的原映射,按照字体类型font_type修改映射。[0104]例如unicode类型,其中的一行为《3901》《3901》《1581》,将其中的所有这样的行删除,替换成由重构映射后返回的列表中转化成的元素。具体的转化流程如下:[0105]{“font_name”:“ygubxq #d0#c2#cb#ce#cc#e5”,[0106]“font_code”:3901,[0107]“font_type”:“unicode”,[0108]“font_unicode”:“复(人工检查后最终结果)的unicode码”}[0109]将转化成《3901》《3901》《590d(复的unicode码)》[0110]由于将对应字体的映射修复了,pdf也就成为了正常的pdf,可以正常的查看,复制,搜索和进行从pdf出发的标准化数据提取。[0111]本发明所述的基于非标准映射字体的pdf修复方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。[0112]本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述基于非标准映射字体的pdf修复方法。[0113]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的计算机可读存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的计算机存储介质。[0114]请参阅图5,显示为本发明的电子设备于一实施例中的结构连接示意图。如图5所示,本实施例提供一种电子设备5,具体包括:处理器51及存储器52;所述存储器52用于存储计算机程序,所述处理器51用于执行所述存储器52存储的计算机程序,以使所述电子设备5执行所述基于非标准映射字体的pdf修复方法的各个步骤。[0115]上述的处理器51可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。[0116]上述的存储器52可能包含随机存取存储器(randomaccessmemory,简称ram),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。[0117]于实际应用中,所述电子设备可以是包括存储器、存储控制器、一个或多个处理单元(cpu)、外设接口、rf电路、音频电路、扬声器、麦克风、输入/输出(i/o)子系统、显示屏、其他输出或控制设备,以及外部端口等所有或组件的计算机;所述计算机包括但不限于如台式电脑、笔记本电脑、平板电脑、智能手机、个人数字助理(personaldigitalassistant,简称pda)等个人电脑。在另一些实施方式中,所述电子设备还可以是服务器,所述服务器可以根据功能、负载等多种因素布置在一个或多个实体服务器上,也可以是由分布的或集中的服务器集群构成的云服务器,本实施例不作限定。[0118]综上所述,本发明所述基于非标准映射字体的pdf修复方法、存储介质及设备可以提供一个将可复制的,但复制结果出错的pdf修复成为可以复制而且结果正确的正常pdf,方便查看、复制,搜索和进行从pdf出发的标准化数据提取,同时尽量的减少人工介入的时间和步骤。本发明在处理数十页的pdf的时候,无需检查所有的上万个字符,只需要对每一页的字体文件中有限的字符进行ocr,再检查其中准确率较低的部分,可以将万的规模缩减到数百甚至数十,大大的减少了人工成本。由于本发明利用上下文信息的ocr结果中准确率高的几乎可以保证正确,而准确率低的部分又都经过人工筛查,所以修复的pdf几乎不会存在复制出错或者乱码的情况,解决了ocr准确率不能到达100%的缺点。修复后的pdf保留了所有的pdf格式信息,可以进行从pdf出发的标准化提取,和转word,提取表格等其他无关步骤隔离开来,方便工程化开发。本发明有效克服了现有技术中的种种缺点而具有高度产业利用价值。[0119]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属
技术领域
:中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献