CN112632915A - 文档转换方法、装置、计算机设备及存储介质 - Google Patents
文档转换方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112632915A CN112632915A CN202011560286.0A CN202011560286A CN112632915A CN 112632915 A CN112632915 A CN 112632915A CN 202011560286 A CN202011560286 A CN 202011560286A CN 112632915 A CN112632915 A CN 112632915A
- Authority
- CN
- China
- Prior art keywords
- font
- document
- text
- converted
- conversion
- 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
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 99
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 64
- 238000004590 computer program Methods 0.000 claims description 23
- 238000010586 diagram Methods 0.000 description 14
- 230000015572 biosynthetic process Effects 0.000 description 7
- 238000003786 synthesis reaction Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000001308 synthesis method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction 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
- 238000003672 processing method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
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
本发明涉及文档转换方法、装置、计算机设备及存储介质,该方法包括获取待转换文档;判断待转换文档内的文本字体是否是符合预设要求;若待转换文档内的文本字体符合预设要求,则对符合预设要求的文本字体进行合成,以得到中间字体;根据中间字体对待转换文档进行文档转换,以得到转换结果。本发明通过对待转换文档进行解析并判断是否出现会导致显示文本出现乱码的字体类型,对这些字体类型对应的文本字体进行TrueType字体的合成,利用合成后的TrueType字体替换转换后出现乱码的显示文本,以得到转换结果,实现文档转换后不会出现乱码的问题。
Description
技术领域
本发明涉及文档处理方法,更具体地说是指文档转换方法、装置、计算机设备及存储介质。
背景技术
PDF文件格式可以将文字、字型、格式、颜色及独立于设备和分辨率的图形图像等封装在一个文件中,该格式文件还可以包含超文本链接、声音和动态影像等电子信息,支持特长文件,集成度和安全可靠性都较高。
在将PDF文件格式的文档转换为其他格式的文档时,当文档中文本使用的字体为Type3,而且其ToUnicode编码表如果不正确,会导致转换后得到目标格式文档文本显示乱码。
因此,有必要设计一种新的方法,实现文档转换后不会出现乱码的问题。
发明内容
本发明的目的在于克服现有技术的缺陷,提供文档转换方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:文档转换方法,包括:
获取待转换文档;
判断所述待转换文档内的文本字体是否是符合预设要求;
若所述待转换文档内的文本字体符合预设要求,则对符合预设要求的所述文本字体进行合成,以得到中间字体;
根据所述中间字体对所述待转换文档进行文档转换,以得到转换结果。
其进一步技术方案为:所述判断所述待转换文档内的文本字体是否是符合预设要求,包括:
对所述待转换文档进行解析,以得到所述文本字体的类型;
判断所述文本字体的类型是否包含预设的字体类型;
若所述文本字体的类型包含预设的字体类型,则所述待转换文档内的文本字体符合预设要求;
若所述文本字体的类型不包含预设的字体类型,则所述待转换文档内的文本字体不符合预设要求。
其进一步技术方案为:所述判断所述待转换文档内的文本字体是否是符合预设要求之后,还包括:
若所述转换文档内的文本字体不符合预设要求,则对所述待转换文档进行文档转换,以得到转换结果。
其进一步技术方案为:所述对符合预设要求的所述文本字体进行合成,以得到中间字体,包括:
将符合预设要求的所述文本字体合成为TrueType字体,以得到中间字体。
其进一步技术方案为:所述将符合预设要求的所述文本字体合成为TrueType字体,以得到中间字体,包括:
获取符合预设要求的所述文本字体的字符路径信息以及编码信息;
根据所述字符路径信息生成字符轮廓信息;
根据所述字符轮廓信息以及所述编码信息合成TrueType字体,以得到中间字体。
其进一步技术方案为:所述根据所述字符轮廓信息以及所述编码信息合成TrueType字体,以得到中间字体,包括:
根据所述编码信息合成TrueType字体的cmap表;
根据所述字符轮廓信息合成TrueType字体的glyph表;
根据所述cmap表以及所述glyph表合成TrueType字体对应的表结构,以得到中间字体。
其进一步技术方案为:所述根据所述中间字体对所述待转换文档进行文档转换,以得到转换结果,包括:
将所述待转换文档转换为指定格式的文档,以得到初步结果;
将所述中间字体替换所述初步结果内所述字符路径信息对应的显示文本,以得到转换结果。
本发明还提供了文档转换装置,包括:
文档获取单元,用于获取待转换文档;
判断单元,用于判断所述待转换文档内的文本字体是否是符合预设要求;
合成单元,用于若所述待转换文档内的文本字体符合预设要求,则对符合预设要求的所述文本字体进行合成,以得到中间字体;
第一转换单元,用于根据所述中间字体对所述待转换文档进行文档转换,以得到转换结果。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。
本发明与现有技术相比的有益效果是:本发明通过对待转换文档进行解析并判断是否出现会导致显示文本出现乱码的字体类型,对这些字体类型对应的文本字体进行TrueType字体的合成,利用合成后的TrueType字体替换转换后出现乱码的显示文本,以得到转换结果,实现文档转换后不会出现乱码的问题。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的文档转换方法的应用场景示意图;
图2为本发明实施例提供的文档转换方法的流程示意图;
图3为本发明实施例提供的文档转换方法的子流程示意图;
图4为本发明实施例提供的文档转换方法的子流程示意图;
图5为本发明实施例提供的文档转换方法的子流程示意图;
图6为本发明实施例提供的文档转换方法的子流程示意图;
图7为本发明实施例提供的文档字体合成装置的示意性框图;
图8为本发明实施例提供的文档字体合成装置的判断单元的示意性框图;
图9为本发明实施例提供的文档字体合成装置的合成单元的示意性框图;
图10为本发明实施例提供的文档字体合成装置的中间字体获取子单元的示意性框图;
图11为本发明实施例提供的文档字体合成装置的第一转换单元的示意性框图;
图12为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的文档转换方法的应用场景示意图。图2为本发明实施例提供的文档转换方法的示意性流程图。该文档转换方法应用于服务器中。该服务器与终端进行数据交互,从终端获取到待转换文档,当待转换文档内的文本字体没有设定的字体类型,比如Type3类型等转换后出现乱码的字体类型时,需要对这些文本字体进行合成后再对待转换文档进行转换,可实现转换后的文档不出现乱码的问题,对于待转换文档内没有设定字体类型的文本字体时,可直接转换待转换文档,转换后的文档可以发送至终端显示。
本发明实施例提供的文档转换方法给用户带来极好的阅读及编辑体验,还需要考虑在不改变PDF文档内容的情况下尽量减小文档大小,使文档在传播时效率更高,在存储过程中对存储介质大小要求更低。
图2是本发明实施例提供的文档转换方法的流程示意图。如图2所示,该方法包括以下步骤S110至S150。
S110、获取待转换文档。
在本实施例中,待转换文档是指来自于终端的需要转换格式的文档,可以为PDF格式文档或者word格式文档等,另外,在终端上设有一个转换应用程序,操作者可以点击转换应用程序输入待转换文档后,便可执行文档转换流程。
S120、判断所述待转换文档内的文本字体是否是符合预设要求。
在一实施例中,请参阅图3,上述的步骤S120可包括步骤S121~S124。
S121、对所述待转换文档进行解析,以得到所述文本字体的类型。
在本实施例中,需要对待转换文档内的文本字体进行类型的断定,以便于筛选出预设的字体类型的文本字体,具体地,预设的字体类型是指如Type3类型等转换后出现乱码的字体类型。
S122、判断所述文本字体的类型是否包含预设的字体类型;
S123、若所述文本字体的类型包含预设的字体类型,则所述待转换文档内的文本字体符合预设要求;
S124、若所述文本字体的类型不包含预设的字体类型,则所述待转换文档内的文本字体不符合预设要求。
当待转换文档内出现如Type3类型等转换后出现乱码的字体类型的文本字体时,需要进行合成处理,才能确保最终呈现的显示文本不会出现乱码的情况,因此,需要先判定待转换文档内的文本字体是否包括有预设的字体类型的字体。
S130、若所述待转换文档内的文本字体符合预设要求,则对符合预设要求的所述文本字体进行合成,以得到中间字体。
在本实施例中,中间字体是指可以避免出现乱码的显示文本对应的字体,如TrueType字体等不会出现乱码的显示文本字体。
具体地,将符合预设要求的所述文本字体合成为TrueType字体,以得到中间字体。
在一实施例中,请参阅图4,上述的步骤S130可包括步骤S131~S133。
S131、获取符合预设要求的所述文本字体的字符路径信息以及编码信息。
在本实施例中,字符路径信息是指符合预设要求的文本字体所在的位置信息,编码信息是指所述文本字体的字形码。
S132、根据所述字符路径信息生成字符轮廓信息。
在本实施例中,字符轮廓信息是指由字符路径信息构成的轮廓信息,也就是轮廓位置信息。
具体地,根据字符路径信息按照出现顺序从先到后勾勒形成的字符轮廓。PDF中的Type3字体轮廓信息位于设定的字典内,比如文档Resource字典->Font字典->CharProcs字典中,通过对这些字典进行解析得到字符轮廓信息。
S133、根据所述字符轮廓信息以及所述编码信息合成TrueType字体,以得到中间字体。
在本实施例中,中间字体是一个具备特定表结构的字体,主要由cmap表以及glyph表构成。
在一实施例中,请参阅图5,上述的步骤S133可包括步骤S1331~S1332。
S1331、根据所述编码信息合成TrueType字体的cmap表。
在本实施例中,cmap表是从待转换文档使用的字符编码信息到字体内部对各个符号的编码的映射规则。cmap表的功能是:给定一个已知编码的字符串,如果cmap表包含支持该编码的子表,则可以直接用cmap表中的信息检索出字体中与之对应的glyph序列,无需把该编码转成UTF-16或者其它编码。当然如果需要使用OpenType特性或者处理复杂语言的话,这串glyph序列将借助GSUB和GPOS表的信息进一步替换、调整位置。
具体地,将从PDF文档中得到的编码信息写入到cmap表对应的数组中即可,由于从PDF文档中得到的编码信息是两个数据的映射,并未涉及cmap表对应的数组相关的数据,此时可以将编码信息设置成cmap表对应的数组相关的数据即可,即编码信息character code=1,cmap表对应的数组相关的数据glyph id=1;编码信息character code=2,cmap表对应的数组相关的数据glyph id=2,以此类推,进行cmap表的合成。
举个例子:PDF文档中的Type3字体编码信息位于文档Resource字典->Font字典->Encoding字典->Differences数组中,通过解析得到该字符character code->charactername的编码信息,其中的Difference数组是根据”code1 name1,1name1,2…”的方式组织的,“1”为character code,对应character code 1的character name为“G1”,对应于character code 2的character name为“G2”,以此类推,便可合成TrueType字体的cmap表。
S1332、根据所述字符轮廓信息合成TrueType字体的glyph表;
在本实施例中,glyph表为一个字库所支持的每种script和language system里复杂的文本布局及渲染提供了关于glyph放置的精确的控制。
从得到的字符轮廓流信息转成glyph表,glyph表中的字段都是事先定义好的,其中,glyph表中的字段endPtsOfContours[n]对应了字符轮廓流信息,其中,将字符轮廓流信息中的点数据写入到,glyph表中的字段endPtsOfContours[n]中,而其中的字符轮廓流信息的其他数据则写入到glyph表的instructions[instructionLength]字段内,以表示轮廓指令“move to”“line to”“line to”,其他的字段按实际需求写入即可,由此合成TrueType字体的glyph表。
S1333、根据所述cmap表以及所述glyph表合成TrueType字体对应的表结构,以得到中间字体。
合成TrueType字体时需要生成TrueType字体中对应的表结构,包括cmap表、glyph表以及其他表结构,其中,解析得到Type3类型文本字体的编码信息,用于合成TrueType字体中的cmap表,解析得到的字符轮廓信息,用于合成TrueType字体中的glyph表等,然后初始化TrueType字体中的其他表结构,借助TrueType字体中对应的表结构合成TrueType字体。
S140、根据所述中间字体对所述待转换文档进行文档转换,以得到转换结果。
在本实施例中,转换结果是指将待转换文档转换为指定格式的文档,且该文档不会出现乱码问题。
在一实施例中,请参阅图6,上述的S140可包括步骤S141~S142。
S141、将所述待转换文档转换为指定格式的文档,以得到初步结果。
在本实施例中,初步结果是指将待转换文档进行指定格式转换后形成的文档,该文档内带有乱码的显示文本。
在本实施例中,是将待转换的PDF文档转换为word格式的文档,当然,于其他实施例,可以是其他格式的待转换文档转换为指定格式的文档。
S142、将所述中间字体替换所述初步结果内所述字符路径信息对应的显示文本,以得到转换结果。
在本实施例中,初步结果是带有乱码的显示文本的文档,不可以直接发送至终端进行显示,需要将得到的中间字体替换掉初步结果内对应位置的显示文本,即将出现乱码的显示文本采用中间字体替换。
具体地,将合成得到的TrueType字体内嵌到初步结果内,在本实施例中,初步结果是PDF文档转换后的目标文档如Word文档,在目标文档中,将常用的使用Unicode显示文本的方式替换为使用内嵌TrueType字体的character code即字符代码方式来显示文本,避免出现乱码的问题。
通过提取Type3等符合预设要求的文本字体合成TrueType字体的方式,然后将该TrueType字体内嵌到转换的目标文档,使目标文档可以正常显示Type3字体文本。
S150、若所述转换文档内的文本字体不符合预设要求,则对所述待转换文档进行文档转换,以得到转换结果。
当转换文档内不出现如Type3类型等转换后出现乱码的字体类型的文本字体时,可以将转换文档直接转换为指定格式的文档,转换后可直接发送至终端显示。
举个例子:现有一个包含一页的pdf文档,页面包含一个文本对象用于显示“We’restill here keeping you covered”文本行,对页面进行解析,以得到内容流,从解析得到的内容流可知,该内容流中定义了一个文本对象,使用”/F”字体,从该字体字典的条目Subtype可以看出,该字体类型为Type3类型,Subtype条目的值为“/Type3”,该文档中的文本对象引用的字体类型为Type3。然后将该Type3字体合成为对应的TrueType字体,合成TrueType字体时,需要生成TrueType中字体中的对应的表结构,其中,解析得到Type3类型的编码信息,用于合成TrueType中的cmap表,解析得到的字符轮廓信息,用于合成TrueType中的glyph表等,然后初始化TrueType字体中的其他表结构,将合成得到的TrueType字体内嵌到PDF文档转换后的目标文档如Word文档,在目标文档中,将常用的使用Unicode显示文本的方式替换为使用内嵌TrueType字体的character code方式来显示文本的方式,使得PDF文档转成Word文档后文本不会出现乱码,有利于传播和编辑。
上述的文档转换方法,通过对待转换文档进行解析并判断是否出现会导致显示文本出现乱码的字体类型,对这些字体类型对应的文本字体进行TrueType字体的合成,利用合成后的TrueType字体替换转换后出现乱码的显示文本,以得到转换结果,实现文档转换后不会出现乱码的问题。
图7是本发明实施例提供的一种文档转换装置300的示意性框图。如图7所示,对应于以上文档转换方法,本发明还提供一种文档转换装置300。该文档转换装置300包括用于执行上述文档转换方法的单元,该装置可以被配置于服务器中。具体地,请参阅图7,该文档转换装置300包括文档获取单元301、判断单元302、合成单元303以及第一转换单元304。
文档获取单元301,用于获取待转换文档;判断单元302,用于判断所述待转换文档内的文本字体是否是符合预设要求;合成单元303,用于若所述待转换文档内的文本字体符合预设要求,则对符合预设要求的所述文本字体进行合成,以得到中间字体;第一转换单元304,用于根据所述中间字体对所述待转换文档进行文档转换,以得到转换结果。
在一实施例中,如图7所示,所述文档转换装置300还包括第二转换单元305。
第二转换单元305,用于若所述转换文档内的文本字体不符合预设要求,则对所述待转换文档进行文档转换,以得到转换结果。
在一实施例中,如图8所示,所述判断单元302包括解析子单元3021以及类型判断子单元3022。
解析子单元3021,用于对所述待转换文档进行解析,以得到所述文本字体的类型;类型判断子单元3022,用于判断所述文本字体的类型是否包含预设的字体类型;若所述文本字体的类型包含预设的字体类型,则所述待转换文档内的文本字体符合预设要求;若所述文本字体的类型不包含预设的字体类型,则所述待转换文档内的文本字体不符合预设要求。
在一实施例中,所述合成单元303,用于将符合预设要求的所述文本字体合成为TrueType字体,以得到中间字体。
在一实施例中,如图9所示,所述合成单元303包括信息获取子单元3031、轮廓获取子单元3032以及中间字体获取子单元3033。
信息获取子单元3031,用于获取符合预设要求的所述文本字体的字符路径信息以及编码信息;轮廓获取子单元3032,用于根据所述字符路径信息生成字符轮廓信息;中间字体获取子单元3033,用于根据所述字符轮廓信息以及所述编码信息合成TrueType字体,以得到中间字体。
在一实施例中,如图10所示,上述的中间字体获取子单元3033包括第一表格合成模块30331、第二表格合成模块30332以及表结构合成模块30333。
第一表格合成模块30331,用于根据所述编码信息合成TrueType字体的cmap表;第二表格合成模块30332,用于根据所述字符轮廓信息合成TrueType字体的glyph表;表结构合成模块30333,用于根据所述cmap表以及所述glyph表合成TrueType字体对应的表结构,以得到中间字体。
在一实施例中,如图11所示,上述的第一转换单元304包括初步转换子单元3041以及替换子单元3042。
初步转换子单元3041,用于将所述待转换文档转换为指定格式的文档,以得到初步结果;替换子单元3042,用于将所述中间字体替换所述初步结果内所述字符路径信息对应的显示文本,以得到转换结果。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述文档字体合成装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述文档字体合成装置可以实现为一种计算机程序的形式,该计算机程序可以在如图12所示的计算机设备上运行。
请参阅图12,图12是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图12,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种文档字体合成方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种文档字体合成方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
获取待转换文档;判断所述待转换文档内的文本字体是否是符合预设要求;若所述待转换文档内的文本字体符合预设要求,则对符合预设要求的所述文本字体进行合成,以得到中间字体;根据所述中间字体对所述待转换文档进行文档转换,以得到转换结果。
在一实施例中,处理器502在实现所述判断所述待转换文档内的文本字体是否是符合预设要求步骤时,具体实现如下步骤:
对所述待转换文档进行解析,以得到所述文本字体的类型;判断所述文本字体的类型是否包含预设的字体类型;若所述文本字体的类型包含预设的字体类型,则所述待转换文档内的文本字体符合预设要求;若所述文本字体的类型不包含预设的字体类型,则所述待转换文档内的文本字体不符合预设要求。
在一实施例中,处理器502在实现所述判断所述待转换文档内的文本字体是否是符合预设要求步骤之后,还实现如下步骤:
若所述转换文档内的文本字体不符合预设要求,则对所述待转换文档进行文档转换,以得到转换结果。
在一实施例中,处理器502在实现所述对符合预设要求的所述文本字体进行合成,以得到中间字体步骤时,具体实现如下步骤:
将符合预设要求的所述文本字体合成为TrueType字体,以得到中间字体。
在一实施例中,处理器502在实现所述将符合预设要求的所述文本字体合成为TrueType字体,以得到中间字体步骤时,具体实现如下步骤:
获取符合预设要求的所述文本字体的字符路径信息以及编码信息;根据所述字符路径信息生成字符轮廓信息;根据所述字符轮廓信息以及所述编码信息合成TrueType字体,以得到中间字体。
在一实施例中,处理器502在实现所述根据所述字符轮廓信息以及所述编码信息合成TrueType字体,以得到中间字体步骤时,具体实现如下步骤:
根据所述编码信息合成TrueType字体的cmap表;根据所述字符轮廓信息合成TrueType字体的glyph表;根据所述cmap表以及所述glyph表合成TrueType字体对应的表结构,以得到中间字体。
在一实施例中,处理器502在实现所述根据所述中间字体对所述待转换文档进行文档转换,以得到转换结果步骤时,具体实现如下步骤:
将所述待转换文档转换为指定格式的文档,以得到初步结果;将所述中间字体替换所述初步结果内所述字符路径信息对应的显示文本,以得到转换结果。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
获取待转换文档;判断所述待转换文档内的文本字体是否是符合预设要求;若所述待转换文档内的文本字体符合预设要求,则对符合预设要求的所述文本字体进行合成,以得到中间字体;根据所述中间字体对所述待转换文档进行文档转换,以得到转换结果。
在一实施例中,所述处理器在执行所述计算机程序而实现所述判断所述待转换文档内的文本字体是否是符合预设要求步骤时,具体实现如下步骤:
对所述待转换文档进行解析,以得到所述文本字体的类型;判断所述文本字体的类型是否包含预设的字体类型;若所述文本字体的类型包含预设的字体类型,则所述待转换文档内的文本字体符合预设要求;若所述文本字体的类型不包含预设的字体类型,则所述待转换文档内的文本字体不符合预设要求。
在一实施例中,所述处理器在执行所述计算机程序而实现所述判断所述待转换文档内的文本字体是否是符合预设要求步骤之后,还实现如下步骤:
若所述转换文档内的文本字体不符合预设要求,则对所述待转换文档进行文档转换,以得到转换结果。
在一实施例中,所述处理器在执行所述计算机程序而实现所述对符合预设要求的所述文本字体进行合成,以得到中间字体步骤时,具体实现如下步骤:
将符合预设要求的所述文本字体合成为TrueType字体,以得到中间字体。
在一实施例中,所述处理器在执行所述计算机程序而实现所述将符合预设要求的所述文本字体合成为TrueType字体,以得到中间字体步骤时,具体实现如下步骤:
获取符合预设要求的所述文本字体的字符路径信息以及编码信息;根据所述字符路径信息生成字符轮廓信息;根据所述字符轮廓信息以及所述编码信息合成TrueType字体,以得到中间字体。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述字符轮廓信息以及所述编码信息合成TrueType字体,以得到中间字体步骤时,具体实现如下步骤:
根据所述编码信息合成TrueType字体的cmap表;根据所述字符轮廓信息合成TrueType字体的glyph表;根据所述cmap表以及所述glyph表合成TrueType字体对应的表结构,以得到中间字体。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述中间字体对所述待转换文档进行文档转换,以得到转换结果步骤时,具体实现如下步骤:
将所述待转换文档转换为指定格式的文档,以得到初步结果;将所述中间字体替换所述初步结果内所述字符路径信息对应的显示文本,以得到转换结果。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.文档转换方法,其特征在于,包括:
获取待转换文档;
判断所述待转换文档内的文本字体是否是符合预设要求;
若所述待转换文档内的文本字体符合预设要求,则对符合预设要求的所述文本字体进行合成,以得到中间字体;
根据所述中间字体对所述待转换文档进行文档转换,以得到转换结果。
2.根据权利要求1所述的文档转换方法,其特征在于,所述判断所述待转换文档内的文本字体是否是符合预设要求,包括:
对所述待转换文档进行解析,以得到所述文本字体的类型;
判断所述文本字体的类型是否包含预设的字体类型;
若所述文本字体的类型包含预设的字体类型,则所述待转换文档内的文本字体符合预设要求;
若所述文本字体的类型不包含预设的字体类型,则所述待转换文档内的文本字体不符合预设要求。
3.根据权利要求1所述的文档转换方法,其特征在于,所述判断所述待转换文档内的文本字体是否是符合预设要求之后,还包括:
若所述转换文档内的文本字体不符合预设要求,则对所述待转换文档进行文档转换,以得到转换结果。
4.根据权利要求1所述的文档转换方法,其特征在于,所述对符合预设要求的所述文本字体进行合成,以得到中间字体,包括:
将符合预设要求的所述文本字体合成为TrueType字体,以得到中间字体。
5.根据权利要求4所述的文档转换方法,其特征在于,所述将符合预设要求的所述文本字体合成为TrueType字体,以得到中间字体,包括:
获取符合预设要求的所述文本字体的字符路径信息以及编码信息;
根据所述字符路径信息生成字符轮廓信息;
根据所述字符轮廓信息以及所述编码信息合成TrueType字体,以得到中间字体。
6.根据权利要求5所述的文档转换方法,其特征在于,所述根据所述字符轮廓信息以及所述编码信息合成TrueType字体,以得到中间字体,包括:
根据所述编码信息合成TrueType字体的cmap表;
根据所述字符轮廓信息合成TrueType字体的glyph表;
根据所述cmap表以及所述glyph表合成TrueType字体对应的表结构,以得到中间字体。
7.根据权利要求5所述的文档转换方法,其特征在于,所述根据所述中间字体对所述待转换文档进行文档转换,以得到转换结果,包括:
将所述待转换文档转换为指定格式的文档,以得到初步结果;
将所述中间字体替换所述初步结果内所述字符路径信息对应的显示文本,以得到转换结果。
8.文档转换装置,其特征在于,包括:
文档获取单元,用于获取待转换文档;
判断单元,用于判断所述待转换文档内的文本字体是否是符合预设要求;
合成单元,用于若所述待转换文档内的文本字体符合预设要求,则对符合预设要求的所述文本字体进行合成,以得到中间字体;
第一转换单元,用于根据所述中间字体对所述待转换文档进行文档转换,以得到转换结果。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011560286.0A CN112632915A (zh) | 2020-12-25 | 2020-12-25 | 文档转换方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011560286.0A CN112632915A (zh) | 2020-12-25 | 2020-12-25 | 文档转换方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112632915A true CN112632915A (zh) | 2021-04-09 |
Family
ID=75325424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011560286.0A Pending CN112632915A (zh) | 2020-12-25 | 2020-12-25 | 文档转换方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112632915A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113505566A (zh) * | 2021-05-25 | 2021-10-15 | 北京北大方正电子有限公司 | 一种版式文档的处理方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006178622A (ja) * | 2004-12-21 | 2006-07-06 | Canon Inc | 文書変換方法、文書変換装置、及びプログラム |
CN102402500A (zh) * | 2011-11-23 | 2012-04-04 | 上海居冠软件有限公司 | Pdf文件到swf文件转换方法及系统 |
CN104424163A (zh) * | 2013-08-29 | 2015-03-18 | 北大方正集团有限公司 | 文字处理方法和系统 |
CN106598923A (zh) * | 2016-12-26 | 2017-04-26 | 北京致远互联软件股份有限公司 | 基于字体库装载的在线文档格式转换方法及装置 |
-
2020
- 2020-12-25 CN CN202011560286.0A patent/CN112632915A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006178622A (ja) * | 2004-12-21 | 2006-07-06 | Canon Inc | 文書変換方法、文書変換装置、及びプログラム |
CN102402500A (zh) * | 2011-11-23 | 2012-04-04 | 上海居冠软件有限公司 | Pdf文件到swf文件转换方法及系统 |
CN104424163A (zh) * | 2013-08-29 | 2015-03-18 | 北大方正集团有限公司 | 文字处理方法和系统 |
CN106598923A (zh) * | 2016-12-26 | 2017-04-26 | 北京致远互联软件股份有限公司 | 基于字体库装载的在线文档格式转换方法及装置 |
Non-Patent Citations (2)
Title |
---|
吴海辉;樊庆林;王虎;: "TrueType字体技术的研究分析与应用", 电脑知识与技术(学术交流), no. 03, pages 227 - 228 * |
徐雨明;文双春;: "TrueType字形数据文件结构的分析", 衡阳师范学院学报, no. 06 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113505566A (zh) * | 2021-05-25 | 2021-10-15 | 北京北大方正电子有限公司 | 一种版式文档的处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8201088B2 (en) | Method and apparatus for associating with an electronic document a font subset containing select character forms which are different depending on location | |
CA2421478C (en) | Method for selecting a font | |
CN109492199B (zh) | 一种基于ocr预判断的pdf文件转换方法 | |
JP4497432B2 (ja) | レイアウトサービスライブラリを用いたグリフの描画方法 | |
US7786994B2 (en) | Determination of unicode points from glyph elements | |
US7984076B2 (en) | Document processing apparatus, document processing method, document processing program and recording medium | |
US6718519B1 (en) | System and method for outputting character sets in best available fonts | |
US6813747B1 (en) | System and method for output of multipart documents | |
US7408556B2 (en) | System and method for using device dependent fonts in a graphical display interface | |
CN101996160B (zh) | 一种字体数据的处理方法及系统 | |
CN107562480B (zh) | 一种pos机多国语言的实现方法及其系统 | |
CN108170409B (zh) | Web前端控件的开发方法和系统 | |
CN108389244B (zh) | 一种根据指定字符规则渲染出flash富文本的实现方法 | |
CN113296774A (zh) | 一种基于浏览器的ofd文件的处理方法及系统 | |
CN112632915A (zh) | 文档转换方法、装置、计算机设备及存储介质 | |
CN111476006A (zh) | Pdf文件在线批注方法、装置、设备及可读存储介质 | |
US6760887B1 (en) | System and method for highlighting of multifont documents | |
US20170249292A1 (en) | Conditional determination of lookups in glyph processing | |
JP2010262559A (ja) | Gui調整プログラム、gui調整装置、情報処理方法。 | |
US20110296301A1 (en) | Document processing apparatus, document processing method, and program | |
CN115237515A (zh) | 一种低成本车载仪表平台的高性能字体加载与渲染方法 | |
KR20090000485A (ko) | 폰트 제공 방법 및 시스템 | |
CN110826005B (zh) | 文件生成方法、装置、电子设备及存储介质 | |
JP4919245B2 (ja) | 行組版装置、行組版プログラム及びそれを記録した記録媒体 | |
CN114218895B (zh) | 对uof文档进行转换的方法 |
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 |