CN117010333A - 用于处理版式文档乱码字体的方法及装置、存储介质 - Google Patents

用于处理版式文档乱码字体的方法及装置、存储介质 Download PDF

Info

Publication number
CN117010333A
CN117010333A CN202210464872.8A CN202210464872A CN117010333A CN 117010333 A CN117010333 A CN 117010333A CN 202210464872 A CN202210464872 A CN 202210464872A CN 117010333 A CN117010333 A CN 117010333A
Authority
CN
China
Prior art keywords
font
code
image
messy
unified
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
Application number
CN202210464872.8A
Other languages
English (en)
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.)
Beijing Kingsoft Office Software Inc
Zhuhai Kingsoft Office Software Co Ltd
Wuhan Kingsoft Office Software Co Ltd
Original Assignee
Beijing Kingsoft Office Software Inc
Zhuhai Kingsoft Office Software Co Ltd
Wuhan Kingsoft Office Software 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 Beijing Kingsoft Office Software Inc, Zhuhai Kingsoft Office Software Co Ltd, Wuhan Kingsoft Office Software Co Ltd filed Critical Beijing Kingsoft Office Software Inc
Priority to CN202210464872.8A priority Critical patent/CN117010333A/zh
Publication of CN117010333A publication Critical patent/CN117010333A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

用于处理版式文档乱码字体的方法及装置、存储介质
技术领域
本申请涉及文档处理技术领域,例如涉及一种用于处理版式文档乱码字体的方法及装置、存储介质。
背景技术
常见的版式文档包括PDF文档、OFD文档等,常见的流式文档包括Word文档等,在将版式文档转换成其他格式的流式文档、或将版式文档的内容复制到粘贴板时,需要获取版式文档中的字形图像的统一码(Unicode)。但在版式文档中常常存在未提供统一码的字形图像,或者版式文档提供了错误的统一码,导致在PDF转换成其他格式文件时出现渲染错误。因此,在将版式文档转换成其他格式的流式文档、或将版式文档的内容复制到粘贴板前,需要对版式文档的统一码进行识别乱码后修复的处理。
在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
现有的解决方式是利用OCR(Optical Character Recognition,光学字符识别)技术判定出每个文字的字形图像的统一码,并替换掉版式文档所提供的这个文字的统一码,但是这种方式需要对通篇版式文档的每个文字进行逐个识别,耗时比较多。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本公开实施例提供了一种用于处理版式文档乱码字体的方法及装置、存储介质,以能够更快的对版式文档进行乱码处理。
在一些实施例中,所述用于处理版式文档乱码字体的方法,包括:分析版式文档,确定版式文档中的各种字体。对每种字体对应的部分文字进行分析,确定存在乱码的字体。对于存在乱码的字体的文字进行统一码替换。
在一些实施例中,对每种字体中的部分文字进行分析,确定存在乱码的字体,包括:针对每种字体执行以下处理:选择部分文字的字形图像作为备选字形图像。获取各备选字形图像对应的第一统一码和各备选字形图像对应的第二统一码。第一统一码为在预设的统一码转换表中根据字形图像进行匹配获得的统一码。第二统一码为通过对字形图像进行字符识别获得的统一码。将各备选字形图像的第二统一码和第一统一码进行对比,在对比结果满足第一预设条件的情况下,确定字体存在乱码。
在一些实施例中,在对比结果满足第一预设条件的情况下,确定字体存在乱码,包括:确定字体中第一统一码与第二统一码相同的备选字形图像的第一数量。在第一数量小于或等于第一预设阈值的情况下,获取第二数量。第二数量为字体中第一统一码与第二统一码不同、且置信度大于第二预设阈值的备选字形图像的数量。其中,置信度根据对备选字形图像进行字符识别获得。在第二数量满足第二预设条件的情况下,确定字体存在乱码。
在一些实施例中,在第二数量满足第二预设条件的情况下,确定字体存在乱码,包括:在第二数量大于或等于第三预设阈值的情况下,确定字体存在乱码。在第二数量小于第三预设阈值的情况下,确定字体不存在乱码。
在一些实施例中,对于存在乱码的字体的文字进行统一码替换,包括:对存在乱码的字体的所有字形图像的第一统一码替换为对应的第二统一码。第一统一码为在预设的统一码转换表中根据字形图像进行匹配获得的统一码,第二统一码为通过对字形图像进行字符识别获得的统一码。
在一些实施例中,对于存在乱码的字体的文字进行统一码替换,包括:在存在乱码的字体中,确定乱码字形图像。乱码字形图像为第一统一码与第二统一码不同、且置信度大于第二预设阈值的字形图像。第一统一码为在预设的统一码转换表中根据字形图像进行匹配获得的统一码。第二统一码为通过对字形图像进行字符识别获得的统一码。将乱码字形图像的第一统一码替换为对应的第二统一码。
在一些实施例中,对每种字体中的部分文字进行分析,包括:利用预设的抽样方式从每种字体中抽取部分文字进行分析。
在一些实施例中,利用预设的抽样方式从每种字体中抽取部分文字进行分析包括:从每种字体中随机抽取部分文字进行分析。或,利用预设的抽样方式从每种字体中抽取部分文字进行分析包括:从每种字体中按照文字出现顺序抽取部分文字进行分析。或,利用预设的抽样方式从每种字体中抽取部分文字进行分析包括:从每种字体中抽取出现序号为奇数的文字进行分析。或,利用预设的抽样方式从每种字体中抽取部分文字进行分析包括:从每种字体中抽取出现序号为偶数的文字进行分析。
在一些实施例中,所述用于处理版式文档乱码字体的装置,包括:字体确定模块,被配置为分析版式文档,确定版式文档中的各种字体。判断模块,被配置为对每种字体对应的部分文字进行分析,确定存在乱码的字体。替换模块,被配置为对于存在乱码的字体的文字进行统一码替换。
在一些实施例中,判断模块,被配置为通过以下方式对每种字体中的部分文字进行分析确定存在乱码的字体:针对每种字体执行以下处理:选择部分文字的字形图像作为备选字形图像。获取各备选字形图像对应的第一统一码和各备选字形图像对应的第二统一码。第一统一码为在预设的统一码转换表中根据字形图像进行匹配获得的统一码。第二统一码为通过对字形图像进行字符识别获得的统一码。将各备选字形图像的第二统一码和第一统一码进行对比,在对比结果满足第一预设条件的情况下,确定字体存在乱码。
在一些实施例中,判断模块,被配置为通过以下方式在对比结果满足第一预设条件的情况下确定字体存在乱码:确定字体中第一统一码与第二统一码相同的备选字形图像的第一数量。在第一数量小于或等于第一预设阈值的情况下,获取第二数量。第二数量为字体中第一统一码与第二统一码不同、且置信度大于第二预设阈值的备选字形图像的数量。其中,置信度根据对备选字形图像进行字符识别获得。在第二数量满足第二预设条件的情况下,确定字体存在乱码。
在一些实施例中,判断模块,被配置为通过以下方式在第二数量满足第二预设条件的情况下确定字体存在乱码:在第二数量大于或等于第三预设阈值的情况下,确定字体存在乱码。判断模块还被配置为:在第二数量小于第三预设阈值的情况下,确定字体不存在乱码。
在一些实施例中,替换模块,被配置为通过以下方式对于存在乱码的字体的文字进行统一码替换:对存在乱码的字体的所有字形图像的第一统一码替换为对应的第二统一码。第一统一码为在预设的统一码转换表中根据字形图像进行匹配获得的统一码,第二统一码为通过对字形图像进行字符识别获得的统一码。
在一些实施例中,替换模块,被配置为通过以下方式对于存在乱码的字体的文字进行统一码替换:在存在乱码的字体中,确定乱码字形图像。乱码字形图像为第一统一码与第二统一码不同、且置信度大于第二预设阈值的字形图像。第一统一码为在预设的统一码转换表中根据字形图像进行匹配获得的统一码。第二统一码为通过对字形图像进行字符识别获得的统一码。将乱码字形图像的第一统一码替换为对应的第二统一码。
在一些实施例中,判断模块,被配置为通过以下方式对每种字体中的部分文字进行分析:利用预设的抽样方式从每种字体中抽取部分文字进行分析。
在一些实施例中,判断模块,被配置为通过以下方式利用预设的抽样方式从每种字体中抽取部分文字进行分析:从每种字体中随机抽取部分文字进行分析。或,利用预设的抽样方式从每种字体中抽取部分文字进行分析包括:从每种字体中按照文字出现顺序抽取部分文字进行分析。或,利用预设的抽样方式从每种字体中抽取部分文字进行分析包括:从每种字体中抽取出现序号为奇数的文字进行分析。或,利用预设的抽样方式从每种字体中抽取部分文字进行分析包括:从每种字体中抽取出现序号为偶数的文字进行分析。
在一些实施例中,所述存储介质,存储有程序指令,所述程序指令在运行时执行如上述的用于处理版式文档乱码字体的方法。
本公开实施例提供的用于处理版式文档乱码字体的方法及装置、存储介质,可以实现以下技术效果:版式文档的乱码大多数都是以字体为单位,本实施例只对版式文档中不同字体抽取部分文字进行分析,能够快速定位到存在乱码的字体,从而提高了对版式文档的乱码处理速度。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
图1是本公开实施例提供的一个用于处理版式文档乱码字体的方法的示意图;
图2是本公开实施例提供的另一个用于处理版式文档乱码字体的方法的示意图;
图3是本公开实施例提供的一个用于处理PDF文档乱码字体的方法的示意图;
图4是本公开实施例提供的一个用于处理版式文档乱码字体的装置的示意图;
图5是本公开实施例提供的另一个用于处理版式文档乱码字体的装置的示意图。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个或两个以上。
本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
术语“对应”可以指的是一种关联关系或绑定关系,A与B相对应指的是A与B之间是一种关联关系或绑定关系。
在将版式文档转换成其他格式的流式文档、或将版式文档的内容复制到粘贴板时,需要获取版式文档中的字形图像的统一码。但在版式文档中常常存在未提供统一码的字形图像,或者版式文档提供了错误的统一码,导致在PDF转换成其他格式文件时会出现渲染错误。因此,在将版式文档转换成其他格式的流式文档、或将版式文档的内容复制到粘贴板前,需要对版式文档的统一码进行识别乱码并修复的处理。
本发明实施例的执行主体可以为在浏览器上运行的应用,应用是终端设备上的浏览器的一个网页程序(web App)。本发明实施例的执行主体还可以为部署在终端设备上运行的应用,本发明实施例中所涉及的终端设备可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、个人电脑(Personal Computer,PC)、掌上电脑(PDA,Personal Digital Assistants)等。
结合图1所示,本公开实施例提供一种用于处理版式文档乱码字体的方法,包括:
步骤S101,分析版式文档,确定版式文档中的各种字体。
步骤S102,对每种字体对应的部分文字进行分析,确定存在乱码的字体。
步骤S103,对于存在乱码的字体的文字进行统一码替换。
采用本公开实施例提供的用于处理版式文档乱码字体的方法,版式文档的乱码大多数都是以字体为单位。本实施例只对版式文档中不同字体抽取部分文字进行分析,能够快速定位到存在乱码的字体,从而提高了对版式文档的乱码处理速度。
步骤S102中,对每种字体中的部分文字进行分析,确定存在乱码的字体,包括:针对每种字体执行以下处理:
选择部分文字的字形图像作为备选字形图像。获取各备选字形图像对应的第一统一码和各备选字形图像对应的第二统一码。将各备选字形图像的第二统一码和第一统一码进行对比,在对比结果满足第一预设条件的情况下,确定字体存在乱码。其中,第一统一码为在预设的统一码转换表中根据字形图像进行匹配获得的统一码,第二统一码为通过对字形图像进行字符识别获得的统一码。通过对同一字形图像采用两种不同的统一码获取方式获得的统一码进行比较,能够直观且方便地利用同一字形图像的统一码是否一致来确定文字的统一码是否错误,以实现字体是否存在乱码的检测。
版式文档中通常嵌入有字体库,以使版式文档中的文本能够准确显示。字体库包括字形图像及其对应的字形码。在复制版式文档中的文本时,需要通过统一码转换表根据字形图像的字形码转换成统一码Unicode。然后,将获得的Unicode复制到剪切板,进而完成文本的复制。进一步的,在预设的统一码转换表中根据字形图像进行匹配获取统一码包括:获取字形图像的字形码,在预设的统一码转换表中匹配出字形码对应的统一码。
进一步的,对字形图像进行字符识别获取统一码包括:将字形图像输入预先训练的OCR(Optical Character Recognition,光学字符识别)文本识别模型进行识别,获得字形图像对应的统一码。OCR文本识别模型在输出字形图像对应的统一码时,会同时输出该统一码对应的置信度。本实施例中,置信度为字形图像的统一码为OCR文本识别模型输出的统一码的概率,其代表了OCR文本识别模型输出的统一码的可信程度。置信度越大,代表着OCR文本识别模型输出的统一码越准确。置信度越小,代表这OCR文本识别模型输出的统一码出错的可能性越大。
进一步的,在对比结果满足第一预设条件的情况下,确定字体存在乱码,包括:确定字体中第一统一码与第二统一码相同的备选字形图像的第一数量。在第一数量小于或等于第一预设阈值的情况下,获取第二数量。在第二数量满足第二预设条件的情况下,确定字体存在乱码。其中,第二数量为字体中第一统一码与第二统一码不同、且置信度大于第二预设阈值的备选字形图像的数量。备选字形图像的置信度根据对备选字形图像进行字符识别获得。这样,能够通过第二预设阈值确定置信度达标的字形图像,即OCR识别结果更可靠的字形图像,结合第一统一码与第二统一码不同这一条件,能够更加准确的确定文字的统一码是否错误,提高了检测字体是否存在乱码的准确率。
进一步的,在第二数量满足第二预设条件的情况下,确定字体存在乱码,包括:在第二数量大于或等于第三预设阈值的情况下,确定字体存在乱码。
在一些实施例中,在第二数量小于第三预设阈值的情况下,确定字体不存在乱码。第二数量越大意味着文字的统一码错误的可能性越大,这样,通过根据预置的第三预设阈值与第二数量进行比较,能够更加准确的识别存在乱码的字体。
第一预设阈值和第二预设阈值为预先设置好的正数。在一些实施例中,第一预设阈值为字体中备选字形图像数量的0.6倍。即各类字体中第一统一码与第二统一码相同的备选字形图像的数量大于该字体中备选字形图像总数的0.6倍的情况下,则确定该字体中不存在乱码。在一些实施例中,第二预设阈值为0.6。在一些实施例中,第三预设阈值为字体中第一统一码与第二统一码不相同的备选字形图像的数量的一半。即,字体中第二数量大于或等于第一统一码与第二统一码不相同的备选字形图像的数量的一半的情况下,则确定该字体中存在乱码。
进一步的,对备选字形图像进行字符识别获取备选字形图像的置信度,包括:对备选字形图像进行OCR识别,获得备选字形图像对应的第二统一码及该第二统一码对应的置信度。该第二统一码对应的置信度即为该备选字形图像的置信度。
进一步的,对备选字形图像进行OCR识别包括:将备选字形图像输入预先训练的OCR文本识别模型进行识别,获得备选字形图像对应的第二统一码及该第二统一码对应的置信度。
OCR文本识别模型通过以下方式训练得到:将样本字形图像及其对应的样本标签输入OCR模型进行训练,得到OCR文本识别模型。其中,样本标签为样本字形图像对应的统一码和置信度,0<置信度<1。
步骤S102中,对每种字体中的部分文字进行分析包括:利用预设的抽样方式从每种字体中抽取部分文字进行分析。这样,便于通过预置不同的抽样方式灵活的对每种字体抽取出部分文字。
可选地,利用预设的抽样方式从每种字体中抽取部分文字进行分析,包括:从每种字体中随机抽取部分文字进行分析。由于抽取的文字随机,相较抽取固定的文字更容易检测到可能存在的乱码,提高了识别并处理版式文档乱码字体的准确率。
可选地,利用预设的抽样方式从每种字体中抽取部分文字进行分析,包括:从每种字体中按照文字出现顺序抽取部分文字进行分析。例如,抽取每种字体的前5个字。这种抽取方式适用于在固定位置容易出错的场景。
可选地,利用预设的抽样方式从每种字体中抽取部分文字进行分析,包括:从每种字体中抽取出现序号为奇数的文字进行分析。其中,文字的出现序号为版式文档中文字的出现顺序的号数。例如,在版式文档中的“今天气候很好”这一文本内容属于相同字体,文字“今”的出现序号为1,文字“气”的出现序号为3,文字“很”的出现序号为5。则,“今天天气很好”这一文本内容中出现序号为奇数的文字为“今”、“气”和“很”,抽取“今”、“气”和“很”进行分析。由于每隔一个文字就会抽取一次,因此检测范围较广,这种方式发现文字存在乱码的可能性较高。
可选地,利用预设的抽样方式从每种字体中抽取部分文字进行分析,包括:从每种字体中抽取出现序号为偶数的文字进行分析。例如,在版式文档中的“今天气候很好”这一文本内容属于相同字体,文字“天”的出现序号为2,文字“侯”的出现序号为4,文字“好”的出现序号为6。则,“今天天气很好”这一文本内容中出现序号为偶数的文字为“天”、“侯”和“好”,抽取“天”、“侯”和“好”进行分析。由于每隔一个文字就会抽取一次,因此检测范围较广,这种方式发现文字存在乱码的可能性较高。
可选地,利用预设的抽样方式从每种字体中抽取部分文字进行分析,包括:
依据预设的统一码范围从每种字体中抽取部分文字进行分析。例如,预设的统一码范围为U+0000至U+007F,在每种字体中抽取部分文字,这些抽取的文字的第一统一码在U+0000至U+007F这一预设范围内。由于容易产生乱码的文字往往比较集中,因此可以预先设置这些容易产生乱码的文字的统一码,从而针对性的进行检测。这种抽取方式便于针对性地发现存在乱码的文字。
在每种字体中抽取的部分文字数量小于对应抽取的该种类型字体的总的文字数量。这样,按照字体类型为单位,对每种字体的部分文字进行分析,判断该种字体是否存在乱码。避免了对版式文档中的每个文字进行分析,能够更加快速的定位到乱码的字体。
可选地,步骤S103中,对于存在乱码的字体的文字进行统一码替换包括:对存在乱码的字体的所有字形图像的第一统一码替换为对应的第二统一码。其中,第一统一码为在预设的统一码转换表中根据字形图像进行匹配获得的统一码,第二统一码为通过对字形图像进行字符识别获得的统一码。
由于版式文档的乱码大多数都是以字体类型为单位,按照字体类型为单位对每种字体类型中部分文字的字形图像进行分析,判断出该种字体是否存在乱码。避免了对版式文档中的每个文字的字形图像进行分析,能够更加快速的识别出版式文档中的乱码。进而对存在乱码的字体中的全部字体进行统一码替换,提高了处理版式文档中乱码字体的效率。
可选地,步骤S103中,对于存在乱码的字体的文字进行统一码替换包括:在存在乱码的字体中,确定乱码字形图像。将乱码字形图像的第一统一码替换为对应的第二统一码。其中,乱码字形图像为第一统一码与第二统一码不同、且置信度大于第二预设阈值的字形图像。第一统一码为在预设的统一码转换表中根据字形图像进行匹配获得的统一码。第二统一码为通过对字形图像进行字符识别获得的统一码。置信度根据对备选字形图像进行字符识别获得。这种统一码替换方式只对各字体存在乱码的文字进行统一码替换,处理效率更高。
结合图2所示,本公开实施例提供另一种用于处理版式文档乱码字体的方法,包括:
步骤S201,分析版式文档,确定版式文档中的各种字体。
步骤S202,对每种字体对应的部分文字进行分析,确定存在乱码的字体。
步骤S203,将存在乱码的字体确定为待替换字体,对待替换字体的所有字形图像进行OCR识别,获得待替换字体对应的每个字形图像的第二统一码。
步骤S204,将待替换字体对应的每个字形图像的第一统一码,均替换为该字形图像对应的第二统一码。
这样,按照字体类型为单位,仅对每种字体类型中部分文字的字形图像进行分析,确定出待替换字体。避免了对版式文档中的每个文字的字形图像进行分析,能够更加快速、准确的识别出版式文档中的乱码。对待替换字体对应的全部字形图像进行OCR识别,得到待替换字体对应的每个字形图像的第二统一码,以对待替换字体对应的每个字形图像进行统一码替换。由于只通过部分文字来检测字体是否存在乱码,对检测出存在乱码的字体来说,未被检测的文字出现乱码的可能性也很高。因此对存在乱码的字体的所有文字进行统一码替换,提高了处理版式文档中乱码字体的准确率。
结合图3所示,在一些实施例中,提供一种用于处理PDF文档乱码字体的方法,包括:分析PDF文档,确定该PDF文档中的各种字体,然后依次对PDF文档中的每种类型的字体执行以下步骤:
步骤S301,在属于当前字体的所有文字中抽取部分文字的字形图像作为备选字形图像。
步骤S302,获取各备选字形图像在PDF文档中的第一统一码,即PDF-Unicode。并对各备选字形图像进行OCR识别,获得各备选字形图像对应的第二统一码,即OCR-Unicode和置信度。
步骤S303,将各备选字形图像的OCR-Unicode和PDF-Unicode进行对比,获取PDF-Unicode与OCR-Unicode相同的备选字形图像的第一数量。判断第一数量是否大于第一预设阈值,在第一数量大于第一预设阈值的情况下,确定当前字体不存在乱码。在第一数量小于或等于第一预设阈值的情况下,执行步骤S304。
步骤S304,获取PDF-Unicode与OCR-Unicode不同且置信度大于第二预设阈值的备选字形图像的第二数量。判断第二数量是否小于第三预设阈值,在第二数量小于第三预设阈值的情况下,确定当前字体不存在乱码。在第二数量大于或等于第三预设阈值的情况下,确定当前字体存在乱码并执行步骤S305;
步骤S305,对属于当前字体的所有文字的字形图像进行OCR识别,获得当前字体对应的每个字形图像的第二统一码。
步骤S306,将当前字体对应的每个字形图像的第一统一码,均替换为该字形图像对应的第二统一码。
虽然在当前显示的PDF文档页面中显示的文本内容是正确的文字,但该文本内容中可能存在某些文字在该版式文档中的统一码是错误的。而对该PDF文档进行文档转换、对文档中文本内容进行复制粘贴或者搜索后,统一码错误的文本内容则会出现乱码的情况。因此,需在PDF文档进行文档转换之前,或者复制粘贴之前进行乱码识别和修复处理,以便能够在文档转换,或者复制粘贴之后显示正确的文本内容。本公开实施例通过确定出PDF文档中各种类型的字体,在每种字体中抽取部分字体的字形图像(Glyph)作为备选字形图像。将各备选字形图像输入到OCR文本识别模型进行识别,获得各种字体中各备选字形图像的OCR-Unicode和置信度。获取各备选字形图像的OCR-Unicode与其在PDF文档中的PDF-Unicode之间的对比结果,通过对比结果和各备选字形图像的置信度来判断该种类型的字体是否存在乱码,对存在乱码的字体中的所有文字进行统一码替换。这样能够快速的确定出乱码的字体,避免了对PDF中所有文字的Glyph都进行OCR识别,能够更加速度、准确的识别PDF文档中文字的统一码是否错误。同时,在对PDF文档进行文档转换、文档内容复制粘贴时,不需要对所有字体都进行OCR识别,能够提高PDF文档转换或复制粘贴PDF文档内容时的速率。
结合图4所示,本公开实施例提供一种用于处理版式文档乱码字体的装置,包括字体确定模块401、判断模块402和替换模块403。字体确定模块401被配置为分析版式文档,确定版式文档中的各种字体。判断模块402被配置为对每种字体对应的部分文字进行分析,确定存在乱码的字体。替换模块403被配置为对于存在乱码的字体的文字进行统一码替换。
版式文档的乱码大多数都是以字体为单位,采用本公开实施例提供的用于处理版式文档乱码字体的装置,只对版式文档中不同字体抽取部分文字进行分析。这样能够快速定位到存在乱码的字体,从而提高了对版式文档的乱码处理速度。
判断模块402被配置为通过以下方式对每种字体中的部分文字进行分析确定存在乱码的字体:针对每种字体执行以下处理:选择部分文字的字形图像作为备选字形图像。获取各备选字形图像对应的第一统一码和各备选字形图像对应的第二统一码。第一统一码为在预设的统一码转换表中根据字形图像进行匹配获得的统一码。第二统一码为通过对字形图像进行字符识别获得的统一码。将各备选字形图像的第二统一码和第一统一码进行对比,在对比结果满足第一预设条件的情况下,确定字体存在乱码。
判断模块402被配置为通过以下方式在对比结果满足第一预设条件的情况下确定字体存在乱码:确定字体中第一统一码与第二统一码相同的备选字形图像的第一数量。在第一数量小于或等于第一预设阈值的情况下,获取第二数量。第二数量为字体中第一统一码与第二统一码不同、且置信度大于第二预设阈值的备选字形图像的数量。其中,置信度根据对备选字形图像进行字符识别获得。在第二数量满足第二预设条件的情况下,确定字体存在乱码。
判断模块402被配置为通过以下方式在第二数量满足第二预设条件的情况下确定字体存在乱码:在第二数量大于或等于第三预设阈值的情况下,确定字体存在乱码。判断模块402还被配置为:在第二数量小于第三预设阈值的情况下,确定字体不存在乱码。
可选地,替换模块403被配置为通过以下方式对于存在乱码的字体的文字进行统一码替换:对存在乱码的字体的所有字形图像的第一统一码替换为对应的第二统一码。第一统一码为在预设的统一码转换表中根据字形图像进行匹配获得的统一码,第二统一码为通过对字形图像进行字符识别获得的统一码。
可选地,替换模块403被配置为通过以下方式对于存在乱码的字体的文字进行统一码替换:在存在乱码的字体中,确定乱码字形图像。将乱码字形图像的第一统一码替换为对应的第二统一码。乱码字形图像为第一统一码与第二统一码不同、且置信度大于第二预设阈值的字形图像。第一统一码为在预设的统一码转换表中根据字形图像进行匹配获得的统一码。第二统一码为通过对字形图像进行字符识别获得的统一码。
判断模块402被配置为通过以下方式对每种字体中的部分文字进行分析:利用预设的抽样方式从每种字体中抽取部分文字进行分析。
进一步的,判断模块402被配置为通过以下方式利用预设的抽样方式从每种字体中抽取部分文字进行分析:从每种字体中随机抽取部分文字进行分析。或,利用预设的抽样方式从每种字体中抽取部分文字进行分析包括:从每种字体中按照文字出现顺序抽取部分文字进行分析。或,利用预设的抽样方式从每种字体中抽取部分文字进行分析包括:从每种字体中抽取出现序号为奇数的文字进行分析。或,利用预设的抽样方式从每种字体中抽取部分文字进行分析包括:从每种字体中抽取出现序号为偶数的文字进行分析。
结合图5所示,本公开实施例提供一种于处理版式文档乱码字体的装置,包括处理器(processor)500和存储有程序指令的存储器(memory)501。可选地,该装置还可以包括通信接口(Communication Interface)502和总线503。其中,处理器500、通信接口502、存储器501可以通过总线503完成相互间的通信。通信接口502可以用于信息传输。处理器500可以调用存储器501中的逻辑指令,以执行上述实施例的用于处理版式文档乱码字体的方法。
此外,上述的存储器501中的程序指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器501作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器500通过运行存储在存储器501中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中用于处理版式文档乱码字体的方法。
存储器501可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器501可以包括高速随机存取存储器,还可以包括非易失性存储器。
本公开实施例提供了一种电子设备,包含上述的用于处理版式文档乱码字体的装置。
可选地,电子设备包括计算机、服务器、智能手机、平板电脑等。
本公开实施例提供了一种存储介质,存储有程序指令,程序指令在运行时执行上述的用于处理版式文档乱码字体的方法。
本公开实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行上述用于处理版式文档乱码字体的方法。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

Claims (10)

1.一种用于处理版式文档乱码字体的方法,其特征在于,包括:
分析版式文档,确定所述版式文档中的各种字体;
对每种字体对应的部分文字进行分析,确定存在乱码的字体;
对于存在乱码的字体的文字进行统一码替换。
2.根据权利要求1所述的方法,其特征在于,对每种字体中的部分文字进行分析,确定存在乱码的字体,包括:
针对每种所述字体执行以下处理:
选择部分文字的字形图像作为备选字形图像;
获取各所述备选字形图像对应的第一统一码和各所述备选字形图像对应的第二统一码;所述第一统一码为在预设的统一码转换表中根据字形图像进行匹配获得的统一码;所述第二统一码为通过对字形图像进行字符识别获得的统一码;
将各所述备选字形图像的第二统一码和第一统一码进行对比,在对比结果满足第一预设条件的情况下,确定所述字体存在乱码。
3.根据权利要求2所述的方法,其特征在于,在对比结果满足第一预设条件的情况下,确定所述字体存在乱码,包括:
确定所述字体中第一统一码与第二统一码相同的备选字形图像的第一数量;
在第一数量小于或等于第一预设阈值的情况下,获取第二数量;所述第二数量为所述字体中第一统一码与第二统一码不同、且置信度大于第二预设阈值的备选字形图像的数量;其中,所述置信度根据对备选字形图像进行字符识别获得;
在所述第二数量满足第二预设条件的情况下,确定所述字体存在乱码。
4.根据权利要求3所述的方法,其特征在于,在所述第二数量满足第二预设条件的情况下,确定所述字体存在乱码,包括:
在所述第二数量大于或等于第三预设阈值的情况下,确定所述字体存在乱码;
所述方法还包括:
在所述第二数量小于所述第三预设阈值的情况下,确定所述字体不存在乱码。
5.根据权利要求1至4任一项所述的方法,其特征在于,对于存在乱码的字体的文字进行统一码替换,包括:
对存在乱码的字体的所有字形图像的第一统一码替换为对应的第二统一码;所述第一统一码为在预设的统一码转换表中根据字形图像进行匹配获得的统一码,所述第二统一码为通过对字形图像进行字符识别获得的统一码。
6.根据权利要求1至4任一项所述的方法,其特征在于,对于存在乱码的字体的文字进行统一码替换,包括:
在存在乱码的字体中,确定乱码字形图像;所述乱码字形图像为第一统一码与第二统一码不同、且置信度大于第二预设阈值的字形图像;所述第一统一码为在预设的统一码转换表中根据字形图像进行匹配获得的统一码;所述第二统一码为通过对字形图像进行字符识别获得的统一码;
将所述乱码字形图像的第一统一码替换为对应的第二统一码。
7.根据权利要求1所述的方法,其特征在于,对每种字体中的部分文字进行分析,包括:
利用预设的抽样方式从每种字体中抽取部分文字进行分析。
8.根据权利要求7所述的方法,其特征在于,利用预设的抽样方式从每种字体中抽取部分文字进行分析,包括:
从每种字体中随机抽取部分文字进行分析;或,
从每种字体中按照文字出现顺序抽取部分文字进行分析;或,
从每种字体中抽取出现序号为奇数的文字进行分析;或,
从每种字体中抽取出现序号为偶数的文字进行分析。
9.一种用于处理版式文档乱码字体的装置,其特征在于,包括:
字体确定模块,被配置为分析版式文档,确定所述版式文档中的各种字体;
判断模块,被配置为对每种字体对应的部分文字进行分析,确定存在乱码的字体;
替换模块,被配置为对于存在乱码的字体的文字进行统一码替换。
10.一种存储介质,存储有程序指令,其特征在于,所述程序指令在运行时执行如权利要求1至8任一项所述的用于处理版式文档乱码字体的方法。
CN202210464872.8A 2022-04-29 2022-04-29 用于处理版式文档乱码字体的方法及装置、存储介质 Pending CN117010333A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210464872.8A CN117010333A (zh) 2022-04-29 2022-04-29 用于处理版式文档乱码字体的方法及装置、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210464872.8A CN117010333A (zh) 2022-04-29 2022-04-29 用于处理版式文档乱码字体的方法及装置、存储介质

Publications (1)

Publication Number Publication Date
CN117010333A true CN117010333A (zh) 2023-11-07

Family

ID=88565932

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210464872.8A Pending CN117010333A (zh) 2022-04-29 2022-04-29 用于处理版式文档乱码字体的方法及装置、存储介质

Country Status (1)

Country Link
CN (1) CN117010333A (zh)

Similar Documents

Publication Publication Date Title
CN109582833B (zh) 异常文本检测方法及装置
Vijayarani et al. Performance comparison of OCR tools
US8340425B2 (en) Optical character recognition with two-pass zoning
CN107341143B (zh) 一种句子连贯性判断方法及装置和电子设备
CN103164515B (zh) 计算机系统涉密文件知识库搜索方法
KR101377601B1 (ko) 모바일 카메라를 이용한 자연 영상 다국어 문자 인식과 번역 시스템 및 방법
CN111291572A (zh) 一种文字排版方法、装置及计算机可读存储介质
US11663408B1 (en) OCR error correction
JP2019079347A (ja) 文字種推定システム、文字種推定方法、および文字種推定プログラム
CN116484420A (zh) 文本脱敏处理方法及装置
CN114005126A (zh) 表格重构方法、装置、计算机设备及可读存储介质
CN102467664B (zh) 辅助光学字符识别的方法和装置
RU2597163C2 (ru) Сравнение документов с использованием достоверного источника
CN113469005A (zh) 一种银行回单的识别方法、相关装置及存储介质
CN117216239A (zh) 文本去重方法、装置、计算机设备及存储介质
CN112287936A (zh) 光学字符识别测试方法、装置、可读存储介质及终端设备
CN117010333A (zh) 用于处理版式文档乱码字体的方法及装置、存储介质
CN105320716A (zh) 数字出版物的自动标注方法
CN114970490A (zh) 一种文本标注数据的质检方法、装置、电子设备以及存储介质
CN114065762A (zh) 一种文本信息的处理方法、装置、介质及设备
CN109344254B (zh) 一种地址信息分类方法及装置
CN111209724A (zh) 文本的校验方法、装置、存储介质以及处理器
CN113609860B (zh) 文本切分方法、装置及计算机设备
Kaur et al. Adverse conditions and techniques for cross-lingual text recognition
KR102646428B1 (ko) 인공지능 학습 모델을 이용한 유사 글자 추출 방법 및 장치

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