CN109857989A - Pdf文件的字体压缩方法、装置及电子设备 - Google Patents
Pdf文件的字体压缩方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109857989A CN109857989A CN201811567377.XA CN201811567377A CN109857989A CN 109857989 A CN109857989 A CN 109857989A CN 201811567377 A CN201811567377 A CN 201811567377A CN 109857989 A CN109857989 A CN 109857989A
- Authority
- CN
- China
- Prior art keywords
- embedded
- font
- fonts
- text
- character
- 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
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本发明提供了一种PDF文件的字体压缩方法、装置及电子设备,属于文件压缩处理技术领域。本发明实施例提供的PDF文件的字体压缩方法、装置及电子设备,当对待压缩文件中的内嵌字体进行压缩时,获取待压缩文件的内嵌字体列表和文本内容,根据每一个内嵌字体和每一个文本对象的关联关系,从所述文本内容中提取文本对象、文本对象对应的内嵌字体及内嵌字体对应的第一字符集合,然后从内嵌字体列表中提取内嵌字体对应的第二字符集合,对比第一字符集合和第二字符集合,得到对比结果,根据对比结果执行相应的压缩操作,使服务器根据比对结果删除待压缩文件中内嵌字体列表中冗余的字符,减小了内嵌字体列表的占用内存,从而节省了待压缩文件的的大小。
Description
技术领域
本发明涉及文件压缩处理技术领域,具体而言,涉及一种PDF文件的字体压缩方法、装置及电子设备。
背景技术
随着互联网的发展,电子文档越来越受到用户的欢迎,尤其是PDF(PortableDocument Format,便携文档格式)文件,用户在使用PDF文件时,有时需要将PDF文档上传到网页上进行在线任务处理,但网页上允许上传的PDF文件大小有限,需要压缩到指定大小才能上传。
现有技术中,一般采用图片压缩技术对PDF文件内部的图片进行压缩使其压缩到指定大小,但是图片压缩技术只能对PDF文件的图片内容进行压缩,不能对内嵌字体列表进行压缩,使PDF文件不能压缩到足够小,依然占用较大的内存空间。
发明内容
针对上述现有技术中存在的问题,本发明提供了一种,可以删除待压缩文件中的内嵌字体列表中冗余的字符,减小了内嵌字体列表的大小,从而节省了待压缩文件的占用内存。
第一方面,本发明实施例提供了一种PDF文件的字体压缩方法,其中,包括:
获取待压缩文件的内嵌字体列表和文本内容;所述内嵌字体列表记录多个内嵌字体;所述文本内容中记录多个文本对象;
根据每一个所述内嵌字体和每一个所述文本对象的关联关系,从所述文本内容中提取所述文本对象、所述文本对象对应的所述内嵌字体及所述内嵌字体对应的第一字符集合;
从所述内嵌字体列表中提取所述内嵌字体包含的第二字符集合;
对比所述第一字符集合和所述第二字符集合,并得到对比结果;
根据所述对比结果执行相应的压缩操作。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,
所述获取待压缩文件的内嵌字体列表的步骤,包括:
从所述待压缩文件中提取所有字体的关键字;所述待压缩文件包括所述内嵌字体的关键字和所述关键字与所述内嵌字体的对应关系;
根据所述关键字与所述内嵌字体的对应关系,从所述待压缩文件中获取包括多个所述内嵌字体的所述内嵌字体列表。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述方法还包括:
记录每一个所述内嵌字体的属性信息;所述属性信息至少包括以下之一:字体类型、字体名称及编码方式。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,对比所述第一字符集合和所述第二字符集合,并得到对比结果之前,所述方法还包括:
如果所述第一字符集合中没有字符,将与所述第一字符集合对应的所述内嵌字体从所述内嵌字体列表中删除。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述方法还包括:
从所述内嵌字体列表中提取相同字体;所述相同字体为所述字体的属性信息均相同。
结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,
根据所述对比结果执行相应的压缩操作的步骤,包括:
从所述文本内容中提取所述文本对象及所述文本对象对应的所述内嵌字体出现的次数;
如果所述内嵌字体在所述文本内容中仅出现一次,从所述文本内容中获取所述内嵌字体对应的第一字符串及从所述内嵌字体列表中获取包括所述字符串的第二字符串;
对比所述第一字符串和所述第二字符串,将所述第一字符串与所述第二字符串中不同的字符从所述内嵌字体列表中删除。
结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,
根据所述对比结果执行相应的压缩操作的步骤,还包括:
从所述文本内容中提取所述文本对象及所述文本对象对应的所述内嵌字体出现的次数;
如果所述内嵌字体在所述文本内容中至少出现两次,在所述内嵌字体列表中获取与所述内嵌字体对应的所有字符串并建立所有所述字符串的并集;
在所述内嵌字体列表中将所有与所述内嵌字体对应的所有字符串中的字符修改成所述并集中的字符;
将所有与所述内嵌字体对应的所有字符串中的字从所述内嵌字体列表中删除,保留所述并集中的字符。
第二方面,本发明实施例还提供了一种PDF文件的字体压缩装置,其中,包括:
获取模块,用于获取待压缩文件的内嵌字体列表和文本内容;所述内嵌字体列表记录多个内嵌字体;所述文本内容中记录多个文本对象;第一提取模块,用于根据每一个所述内嵌字体和每一个所述文本对象的关联关系,从所述文本内容中提取所述文本对象、所述文本对象对应的所述内嵌字体及所述内嵌字体对应的第一字符集合;
第二提取模块,用于从所述内嵌字体列表中提取所述内嵌字体对应的第二字符集合;
对比模块,用于对比所述第一字符集合和所述第二字符集合,并得到对比结果;
压缩模块,用于根据所述对比结果执行相应的压缩操作。
第三方面,本发明实施例还提供了一种电子设备,其中,包括:存储器以及处理器,所述存储器用于存储并支持处理器执行第一方面中任一项所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
第四方面,本发明实施例还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,其中,所述程序代码使所述处理器执行所述第一方面的任一所述方法。
本发明实施例带来了以下有益效果:
本发明实施例提供的PDF文件的字体压缩方法、装置及电子设备,当对待压缩文件中的内嵌字体进行压缩时,获取待压缩文件的内嵌字体列表和文本内容,根据每一个内嵌字体和每一个文本对象的关联关系,从所述文本内容中提取文本对象、文本对象对应的内嵌字体及内嵌字体对应的第一字符集合,然后从内嵌字体列表中提取内嵌字体对应的第二字符集合,对比第一字符集合和第二字符集合,得到对比结果,根据对比结果执行相应的压缩操作,使服务器根据比对结果删除待压缩文件中内嵌字体列表中冗余的字符,减小了内嵌字体列表的占用内存,从而节省了待压缩文件的的大小。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例所提供的PDF文件的字体压缩方法的流程图;
图2为图1中步骤S110的流程图;
图3为本发明另一实施例所提供的PDF文件的字体压缩装置的模块图;
图4为本发明又一实施例所提供的电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有技术中采用的图片压缩技术对PDF文件内部的图片进行压缩使其压缩到指定大小时,由于图片压缩技术只能对PDF文件的文本内容进行压缩不能对内嵌字体列表进行压缩,使PDF文件不能压缩到足够小,依然占用较大的内存空间的问题,本发明实施例提供了一种PDF文件的字体压缩方法、装置及电子设备,以下首先对本发明的字体PDF文件的压缩方法进行详细介绍。
实施例一
本实施例提供了一种PDF文件的字体压缩方法,如图1所示为PDF文件的字体压缩方法的流程图,该方法包括:
步骤S102,获取待压缩文件的内嵌字体列表和文本内容。
一般情况下,用户在对任意一个PDF文件编辑完成后,该PDF文件中都会存在内嵌字体列表和文本内容,内嵌字体列表记录多个内嵌字体,文本内容中记录多个文本对象,且每一个文本对象唯一对应一种内嵌字体。
可以理解的是,待压缩文件中存储有公共字体和内嵌字体,一般情况下,网页用户上传的对待压缩文件中字体中的字体列表进行压缩时,一般只能对内嵌字体列表进行压缩,不能对公共字体列表进行压缩。公共字体和内嵌字体是根据不同的编码原则存储在待压缩文件中,使公共字体的字体信息与内嵌字体的字体信息存在差别。
示例性地,如果待压缩文件中存在关键字FontFile、关键字FontFile2和关键字FontFile3,则表示在待压缩文件中嵌入了内嵌字体,接着,根据上述三个关键字的种类可以确定关键字FontFile为Type1字体的内嵌,关键字FontFile2为TrueType类型的内嵌,关键字FontFile3是Type1类型的内嵌,或者是Compact Font Format(CFF)类型的内嵌,或者是OpenType类型的内嵌。
进一步地,待压缩文件中记录了所有字体的关键字,可以从待压缩文件中提取所有字体的关键字,且待压缩文件包括内嵌字体的关键字和该关键字与该内嵌字体与的对应关系,然后根据关键字与内嵌字体的对应关系,从待压缩文件中获取包括多个内嵌字体的内嵌字体列表。
进一步地,从待压缩文件中提取内嵌字体列表之后,还可以并记录每一个内嵌字体的属性信息,该属性信息至少包括以下之一:字体类型、字体名称及编码方式。
步骤S104,根据每一个内嵌字体和每一个文本对象的关联关系,从文本内容中提取文本对象、文本对象对应的内嵌字体及内嵌字体对应的第一字符集合。
可以理解的是,用户对待压缩文件压缩之前,可能在待压缩文件中多次输入文本对象,使内嵌字体列表和文本内容均记录这些输入的文本对象对应的字符集合。
在对待压缩文件进行压缩时,需要遍历待压缩文件的内嵌字体列表和文本内容,以便服务器从文本内容中获取每一个内嵌字体及每一个内嵌字体与每一个文本对象的关联关系,因为文本对象使用了对应的内嵌字体的字符集合为第一字符集合,从文本内容中提取文本对象、文本对象对应的内嵌字体及内嵌字体对应的第一字符集合。
示例性地,遍历待压缩文件的所有页面的文本内容之后,在文本内容中获取到字体:楷体,第一字符集合:X1{x1,x2,x3,x4…}。
步骤S106,从内嵌字体列表中提取内嵌字体包含的第二字符集合。
该内嵌字体同样使用楷体,则在内嵌字体列表中获取到字体:楷体,第二字符集合:X2{x1,x2,x3,x4…}。
步骤S108,对比第一字符集合和第二字符集合,并得到对比结果。
用户在对待压缩文件压缩之前,可能删除了该待压缩文档的某些文本对象,但是,在删除这些文本对象之后,文本内容中不存在这些文本对象的字符信息,但内嵌字体列表中依然存在这些文本对象的字符信息,使内嵌字体列表中的字符产生冗余。因此,对比第一字符集合和第二字符集合,需要判断第一字符集合中没有字符,如果没有字符,将与第一字符集合对应的内嵌字体从内嵌字体列表中删除。
示例性地,如果内嵌字体列表中存在字体:宋体A1,对应的字符集合为C1{…},但是文本内容中字体:宋体A1对应的字符集合C2{…}为空集,则将与字符集合C1对应的宋体A1从内嵌字体列表中删除。步骤S110,根据对比结果执行相应的压缩操作。
可选地,上述步骤S110可以采用图2所示的方式实现,包括:
步骤S1101,从文本内容中提取文本对象及文本对象对应的内嵌字体出现的次数。
步骤S1102,判断文本对象对应的内嵌字体在文本内容中是否仅出现一次;如果是,执行步骤S1103;如果否,执行步骤S1105。
步骤S1103,从文本内容中获取内嵌字体对应的第一字符串及从内嵌字体列表中获取包括字符串的第二字符串。
用户在对待压缩文件压缩之前,可能多次对文本内容中的使用第某一内嵌字体对应的一个或多个字符进行删除,导致该内嵌字体剩下的第一字符串在文本内容中可能仅出现一次,但是内嵌字体列表不能自动删除这些一个或多个字符,导致内嵌字体列表中该内嵌字体的第二字符串中的字符数比第一字符串中的字符数多。
步骤S1104,对比第一字符串和第二字符串,将第一字符串与第二字符串中不同的字符从内嵌字体列表中删除。
示例性地,用户在对待压缩文件压缩之前,对该待压缩文件中使用黑体B1,对应的字符集合为Y1{1,2,3,4,5,6,7}中的字符3、4、5、6、7从文本内容中删除,使文本内容中与黑体B1对应的第一字符串中仅剩字符1和2,且字符1和2在文本内容仅出现一次,而内嵌字体列表中使用黑体B1,对应的第二字符串依然为Y1{1,2,3,4,5,6,7},导致内嵌字体列表中产生字符冗余,因此,需要将字符3、4、5、6、7从内嵌字体列表中删除,仅保留字符1和2,从而减小了内嵌字体列表占用内存。
步骤S1105,在嵌字体列表中获取与内嵌字体对应的所有字符串并建立所有字符串的并集。
具体的,可以从内嵌字体列表中提取相同字体,相同字体为字体的属性信息均相同。
示例性地,用户在对待压缩文件压缩之前,在待压缩文件中三次使用隶书进行编辑,第一次编辑“中华”,则内嵌字体列表中内嵌了隶书字体,名称为隶书1,隶书1中包含了“中华”,对应的字符串为C1{1,2};第二次编辑“中国”,则在内嵌字体列表中内嵌了隶书字体,名称为隶书2,隶书2中包含了“中国”,对应的字符串为C2{1,3};第三次编辑“中心”,则内嵌字体列表中内嵌了隶书字体,名称为隶书3,隶书3中包含了“中心”,对应的字符串为C3{1,4},然后建立上述三次的字符串的并集为C4{1,2,3,4}。
步骤S1106,在内嵌字体列表中将所有与内嵌字体对应的所有字符串中的字符修改成并集中的字符。使用步骤S1105列举的情况,将隶书1对应的字符集合为C1{1,2}修改为C4{1,2,3,4},将隶书2对应的字符集合为C2{1,3}修改为C4{1,2,3,4},将隶书3对应的字符集合为C3{1,4}修改为C4{1,2,3,4},且字符集合C4{1,2,3,4}对应隶书4,以使内嵌字体列表中使用到隶书1字符串中的字符保持一致,避免乱码情况发生。
步骤S1107,将所有与内嵌字体对应的所有字符串中的字从内嵌字体列表中删除,保留并集中的字符。
接着步骤S1106,将上述C1{1,2}、C2{1,3}、C3{1,4}字符集合全部删除,内嵌字体列表中仅保留字体:隶书4,字符集合:C4{1,2,3,4}。
本发明实施例提供的PDF文件的字体压缩方法,当对待压缩文件中的内嵌字体进行压缩时,获取待压缩文件的内嵌字体列表和文本内容,根据每一个内嵌字体和每一个文本对象的关联关系,从所述文本内容中提取文本对象、文本对象对应的内嵌字体及内嵌字体对应的第一字符集合,然后从内嵌字体列表中提取内嵌字体对应的第二字符集合,对比第一字符集合和第二字符集合,得到对比结果,根据对比结果执行相应的压缩操作,使服务器根据比对结果删除待压缩文件中内嵌字体列表中冗余的字符,减小了内嵌字体列表的占用内存,从而节省了待压缩文件的大小。
实施例二
与上述方法实施例相对应地,本实施例提供了一种PDF文件的字体压缩装置,如图所示3,该装置包括:
获取模块31,用于用于获取待压缩文件的内嵌字体列表和文本内容;所述内嵌字体列表记录多个内嵌字体;所述文本内容中记录多个文本对象。
第一提取模块32,用于根据每一个所述内嵌字体和每一个所述文本对象的关联关系,从所述文本内容中提取所述文本对象、所述文本对象对应的所述内嵌字体及所述内嵌字体对应的第一字符集合。
第二提取模块33,用于从所述内嵌字体列表中提取所述内嵌字体对应的第二字符集合。
对比模块34,用于用于对比所述第一字符集合和所述第二字符集合,并得到对比结果。
压缩模块35,用于根据对比结果执行相应的压缩操作。
获取模块31还用于,从待压缩文件中提取所有字体的关键字;待压缩文件包括内嵌字体的关键字和关键字与内嵌字体的对应关系;
根据关键字与内嵌字体的对应关系,从待压缩文件中获取包括多个内嵌字体的内嵌字体列表。
压缩模块35还用于,从文本内容中提取文本对象及文本对象对应的内嵌字体出现的次数;
如果内嵌字体在文本内容中仅出现一次,从文本内容中获取内嵌字体对应的第一字符串及从内嵌字体列表中获取包括字符串的第二字符串;
对比第一字符串和第二字符串,将第一字符串与第二字符串中不同的字符从内嵌字体列表中删除。
压缩模块35还用于,从文本内容中提取文本对象及文本对象对应的内嵌字体出现的次数;
如果内嵌字体在文本内容中至少出现两次,在内嵌字体列表中获取与内嵌字体对应的所有字符串并建立所有字符串的并集;
在内嵌字体列表中将所有与内嵌字体对应的所有字符串中的字符修改成并集中的字符;
将所有与内嵌字体对应的所有字符串中的字从内嵌字体列表中删除,保留并集中的字符。
本发明实施例提供的PDF文件的字体压缩装置,当对待压缩文件中的内嵌字体进行压缩时,获取待压缩文件的内嵌字体列表和文本内容,根据每一个内嵌字体和每一个文本对象的关联关系,从所述文本内容中提取文本对象、文本对象对应的内嵌字体及内嵌字体对应的第一字符集合,然后从内嵌字体列表中提取内嵌字体对应的第二字符集合,对比第一字符集合和第二字符集合,得到对比结果,根据对比结果执行相应的压缩操作,使服务器根据比对结果删除待压缩文件中内嵌字体列表中冗余的字符,减小了内嵌字体列表的占用内存,从而节省了待压缩文件的大小。
实施例三
本发明实施例提供了一种电子设备,如图4所示,该电子设备包括:存储器41、处理器42,存储器41中存储有可在处理器42上运行的计算机程序,处理器执行计算机程序时实现上述输电线路设备的照片归档方法提供的步骤。
如图4所示,该设备还包括:总线43和通信接口44,处理器42、通信接口44和存储器41通过总线43连接;处理器42用于执行存储器41中存储的可执行模块,例如计算机程序。
其中,存储器41可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口44(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线43可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器41用于存储程序,处理器42在接收到执行指令后,执行程序,前述本发明任一实施例揭示的照片归档装置所执行的方法可以应用于处理器42中,或者由处理器42实现。处理器42可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器42中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器42可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器42读取存储器41中的信息,结合其硬件完成上述方法的步骤。
进一步地,本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述的PDF文件的字体压缩方法。
本发明实施例提供的PDF文件的字体压缩方法、装置及电子设备具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
需要说明的是,在本发明所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种PDF文件的字体压缩方法,其特征在于,包括:
获取待压缩文件的内嵌字体列表和文本内容;所述内嵌字体列表记录多个内嵌字体;所述文本内容中记录多个文本对象;
根据每一个所述内嵌字体和每一个所述文本对象的关联关系,从所述文本内容中提取所述文本对象、所述文本对象对应的所述内嵌字体及所述内嵌字体对应的第一字符集合;
从所述内嵌字体列表中提取所述内嵌字体包含的第二字符集合;
对比所述第一字符集合和所述第二字符集合,并得到对比结果;
根据所述对比结果执行相应的压缩操作。
2.根据权利要求1所述的方法,其特征在于,所述获取待压缩文件的内嵌字体列表的步骤,包括:
从所述待压缩文件中提取所有字体的关键字;所述待压缩文件包括所述内嵌字体的关键字和所述关键字与所述内嵌字体的对应关系;
根据所述关键字与所述内嵌字体的对应关系,从所述待压缩文件中获取包括多个所述内嵌字体的所述内嵌字体列表。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
记录每一个所述内嵌字体的属性信息;所述属性信息至少包括以下之一:字体类型、字体名称及编码方式。
4.根据权利要求3所述的方法,其特征在于,对比所述第一字符集合和所述第二字符集合,并得到对比结果之前,所述方法还包括:
如果所述第一字符集合中没有字符,将与所述第一字符集合对应的所述内嵌字体从所述内嵌字体列表中删除。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
从所述内嵌字体列表中提取相同字体;所述相同字体为所述字体的所述属性信息均相同。
6.根据权利要求5所述的方法,其特征在于,根据所述对比结果执行相应的压缩操作的步骤,包括:
从所述文本内容中提取所述文本对象及所述文本对象对应的所述内嵌字体出现的次数;
如果所述内嵌字体在所述文本内容中仅出现一次,从所述文本内容中获取所述内嵌字体对应的第一字符串及从所述内嵌字体列表中获取包括所述字符串的第二字符串;
对比所述第一字符串和所述第二字符串,将所述第一字符串与所述第二字符串中不同的字符从所述内嵌字体列表中删除。
7.根据权利要求5所述的方法,其特征在于,根据所述对比结果执行相应的压缩操作的步骤,还包括:
从所述文本内容中提取所述文本对象及所述文本对象对应的所述内嵌字体出现的次数;
如果所述内嵌字体在所述文本内容中至少出现两次,在所述内嵌字体列表中获取与所述内嵌字体对应的所有字符串并建立所有所述字符串的并集;
在所述内嵌字体列表中将所有与所述内嵌字体对应的所有字符串中的字符修改成所述并集中的字符;
将所有与所述内嵌字体对应的所有字符串中的字从所述内嵌字体列表中删除,保留所述并集中的字符。
8.一种PDF文件的字体压缩装置,其特征在于,包括:
获取模块,用于获取待压缩文件的内嵌字体列表和文本内容;所述内嵌字体列表记录多个内嵌字体;所述文本内容中记录多个文本对象;第一提取模块,用于根据每一个所述内嵌字体和每一个所述文本对象的关联关系,从所述文本内容中提取所述文本对象、所述文本对象对应的所述内嵌字体及所述内嵌字体对应的第一字符集合;
第二提取模块,用于从所述内嵌字体列表中提取所述内嵌字体对应的第二字符集合;
对比模块,用于对比所述第一字符集合和所述第二字符集合,并得到对比结果;
压缩模块,用于根据所述对比结果执行相应的压缩操作。
9.一种电子设备,其特征在于,包括:存储器以及处理器,所述存储器用于存储并支持处理器执行权利要求1~7中任一项所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至7任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811567377.XA CN109857989A (zh) | 2018-12-20 | 2018-12-20 | Pdf文件的字体压缩方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811567377.XA CN109857989A (zh) | 2018-12-20 | 2018-12-20 | Pdf文件的字体压缩方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109857989A true CN109857989A (zh) | 2019-06-07 |
Family
ID=66891653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811567377.XA Pending CN109857989A (zh) | 2018-12-20 | 2018-12-20 | Pdf文件的字体压缩方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857989A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112101239A (zh) * | 2020-09-17 | 2020-12-18 | 中国建设银行股份有限公司 | 一种查找pdf文件中缺失字符的方法、装置和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758241A (zh) * | 2004-10-04 | 2006-04-12 | 佳能株式会社 | 具有字体信息嵌入功能的信息处理装置及其信息处理方法 |
CN105512096A (zh) * | 2015-11-30 | 2016-04-20 | 北京大学 | 一种基于文档中内嵌字体的优化方法及装置 |
CN108038093A (zh) * | 2017-11-10 | 2018-05-15 | 万兴科技股份有限公司 | Pdf文字提取方法和装置 |
-
2018
- 2018-12-20 CN CN201811567377.XA patent/CN109857989A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758241A (zh) * | 2004-10-04 | 2006-04-12 | 佳能株式会社 | 具有字体信息嵌入功能的信息处理装置及其信息处理方法 |
CN105512096A (zh) * | 2015-11-30 | 2016-04-20 | 北京大学 | 一种基于文档中内嵌字体的优化方法及装置 |
CN108038093A (zh) * | 2017-11-10 | 2018-05-15 | 万兴科技股份有限公司 | Pdf文字提取方法和装置 |
Non-Patent Citations (1)
Title |
---|
LINDSEY SCHROEDER: ""Re-Subsetting Embedded Font Subsets"", 《HTTPS://WWW.PDFA.ORG/RE-SUBSETTING-EMBEDDED-FONT-SUBSETS/》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112101239A (zh) * | 2020-09-17 | 2020-12-18 | 中国建设银行股份有限公司 | 一种查找pdf文件中缺失字符的方法、装置和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101526963A (zh) | 网页编码识别方法、装置和终端设备 | |
CN102929871A (zh) | 一种网页浏览方法、装置及移动终端 | |
US9747385B2 (en) | Compression of cascading style sheet files | |
CN108334508B (zh) | 网页信息的提取方法和装置 | |
CN105446572A (zh) | 一种用于屏幕显示设备的文字编辑方法及装置 | |
CN109033282A (zh) | 一种基于抽取模板的网页正文抽取方法及装置 | |
WO2017036348A1 (zh) | 一种可扩展标记语言xml文档的压缩、解压方法和装置 | |
CN109445794B (zh) | 一种页面构造方法及装置 | |
CN106528896A (zh) | 一种数据库优化方法和装置 | |
CN112487763A (zh) | 基于svg的ofd文件在线显示方法、服务器端及系统 | |
CN104424192A (zh) | 形成多字型字库、通过该字库显示不同字型的方法及装置 | |
CN107783946A (zh) | 文本显示方法及文本显示设备 | |
CN109857989A (zh) | Pdf文件的字体压缩方法、装置及电子设备 | |
CN109697281A (zh) | 在线合并文档的方法、装置及电子设备 | |
CN105550179A (zh) | 一种网页收藏方法和浏览器插件 | |
CN104516899B (zh) | 字库更新方法和装置 | |
CN109542357A (zh) | 一种命令参数组装方法、系统、设备及计算机存储介质 | |
CN108965295A (zh) | 一种文件压缩合并方法及相关装置 | |
CN102880653A (zh) | 一种文档合并方法和系统 | |
CN113741864A (zh) | 基于自然语言处理的语义化服务接口自动设计方法与系统 | |
CN105488054B (zh) | 一种浏览图片的方法及装置 | |
CN111581921B (zh) | 一种文本编辑的方法、装置、计算机存储介质及终端 | |
CN106909570B (zh) | 一种数据转换方法及装置 | |
CN110851346B (zh) | 查询语句边界问题的检测方法、装置、设备及存储介质 | |
CN111597773B (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 |