CN111130554A - 一种文件压缩方法、装置、电子设备及可读取存储介质 - Google Patents
一种文件压缩方法、装置、电子设备及可读取存储介质 Download PDFInfo
- Publication number
- CN111130554A CN111130554A CN201911254223.XA CN201911254223A CN111130554A CN 111130554 A CN111130554 A CN 111130554A CN 201911254223 A CN201911254223 A CN 201911254223A CN 111130554 A CN111130554 A CN 111130554A
- Authority
- CN
- China
- Prior art keywords
- point data
- coordinate point
- compressed
- file
- offset
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3086—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/70—Type of the data to be coded, other than image and sound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请提供一种文件压缩方法、装置、电子设备及可读取存储介质,涉及数据压缩技术领域,该方法包括:获取便携式文件格式PDF文件的内容流;对所述内容流进行解析得到至少一个图形对象;获取所述至少一个图形对象中的至少一个目标图形对象包括的所有坐标点数据;采用偏移压缩算法对所述坐标点数据进行压缩得到压缩后的坐标点数据;根据压缩后坐标点数据形成压缩的PDF文件。基于图像对象中的坐标点数据进行偏移压缩计算,能够充分的对PDF文件中的坐标点数据进行压缩,从而根据压缩后的坐标点数据得到压缩后的PDF文件,通过该压缩过程能够有效的提高压缩率。
Description
技术领域
本申请涉及数据压缩技术领域,具体而言,涉及一种文件压缩方法、装置、电子设备及可读取存储介质。
背景技术
便携式文件格式(Portable Document Format,PDF)是一种电子文件格式。PDF文件可将文字、字型、格式、颜色及独立于设备和分辨率的图形图像等封装在一个文件中,该格式文件还可以包含超文本链接、声音和动态影像等电子信息,且该格式支持特长文件,其集成度和安全可靠性都较高,为了使PDF文件存储和传输的过程更方便,目前通常采用工业标准的压缩算法对PDF文件的内容流进行压缩,但是该方法无法有效提高对PDF文件进行压缩的压缩率。
发明内容
本申请实施例的目的在于提供一种文件压缩方法、装置、电子设备及可读取存储介质,用以改善现有技术中无法有效提高对PDF文件进行压缩的压缩率的问题。
第一方面,本申请实施例提供了一种文件压缩方法,所述方法包括:获取便携式文件格式PDF文件的内容流;对所述内容流进行解析得到至少一个图形对象;获取所述至少一个图形对象中的至少一个目标图形对象包括的所有坐标点数据;采用偏移压缩算法对所述坐标点数据进行压缩得到压缩后的坐标点数据;根据压缩后坐标点数据形成压缩的PDF文件。
在上述实现过程中,从PDF文件的内容流中解析得到图形对象,基于图像对象中的坐标点数据进行偏移压缩计算,能够充分的对PDF文件中的坐标点数据进行压缩,从而根据压缩后的坐标点数据得到压缩后的PDF文件,通过该压缩过程能够有效的提高压缩率。
可选地,所述采用偏移压缩算法对所述坐标点数据进行压缩得到压缩后的坐标点数据,包括:根据所述坐标点数据获取几何中心点数据;根据所述几何中心点数据对所述坐标点数据进行偏移,得到偏移后的坐标点数据;将所述偏移后的坐标点数据的整数位数据减去所述几何中心点数据,得到压缩后的坐标点数据。
在上述实现过程中,采用偏移压缩算法时,获取所有坐标点数据的几何中心数据,然后对所有坐标点数据进行偏移计算,再将偏移后的坐标点数据的整数位数据减去几何中心点数据得到压缩后的坐标点数据,从而实现有效压缩,进而提高压缩率。
可选地,所述获取所述至少一个图形对象中的至少一个目标图形对象包括的所有坐标点数据之后,所述方法还包括:判断满足预设条件的坐标点数据与所述所有坐标点数据的比值是否大于预设阈值,其中,所述预设条件为坐标点数据的小数有效位数大于预设值;若大于所述预设阈值,则获取所述满足预设条件的坐标点数据的有效位数的统计量;根据所述统计量对所述所有坐标点数据进行缩放计算,得到缩放后的坐标点数据;将所述缩放后的坐标点数据的有效位减去所述统计量,得到更新后的坐标点数据;采用偏移压缩算法对所述坐标点数据进行压缩得到压缩后的坐标点数据,包括:采用偏移压缩算法对所述更新后的坐标点数据进行压缩得到压缩后的坐标点数据。
在上述实现过程中,在采用偏移压缩算法对坐标点数据进行压缩计算之前,对坐标点数据进行判断,当判断出坐标点数据的数据值的大小程度较大时,则可以先对坐标点数据进行缩放计算,再对缩放计算后的坐标点数据进行压缩计算,从而可以提高压缩效果,进一步有效的提高压缩率。
可选地,若满足预设条件的坐标点数据与所述所有坐标点数据的比值大于所述预设阈值,则直接执行采用偏移压缩算法对所述坐标点数据进行压缩得到压缩后的坐标点数据的步骤。
在上述实现过程中,在采用偏移压缩算法对坐标点数据进行压缩计算之前,可以对坐标点数据进行判断,并在坐标点数据的数据值的大小程度较小时,直接采用偏移压缩算法对坐标点数据进行压缩,从而提高压缩效率。
第二方面,本申请实施例提供了一种文件压缩装置,所述装置包括:内容流获取模块,用于获取便携式文件格式PDF文件的内容流;内容流解析模块,用于对所述内容流进行解析得到至少一个图形对象;坐标点数据获取模块,用于获取所述至少一个图形对象中的至少一个目标图形对象包括的所有坐标点数据;偏移压缩模块,用于采用偏移压缩算法对所述坐标点数据进行压缩得到压缩后的坐标点数据;压缩文件形成模块,用于根据压缩后坐标点数据形成压缩的PDF文件。
可选地,所述偏移压缩模块包括:几何中心点数据获取单元,用于根据所述坐标点数据获取几何中心点数据;偏移计算单元,用于根据所述几何中心点数据对所述坐标点数据进行偏移,得到偏移后的坐标点数据;压缩坐标点数据获取单元,用于将所述偏移后的坐标点数据的整数位数据减去所述几何中心点数据,得到压缩后的坐标点数据。
可选地,所述装置还包括:判断模块,用于判断满足预设条件的坐标点数据与所述所有坐标点数据的比值是否大于预设阈值,其中,所述预设条件为坐标点数据的小数有效位数大于预设值;统计量获取模块,用于若大于所述预设阈值,则获取所述满足预设条件的坐标点数据的有效位数的统计量;缩放模块,用于根据所述统计量对所述所有坐标点数据进行缩放计算,得到缩放后的坐标点数据;坐标点数据更新模块,用于将所述缩放后的坐标点数据的有效位减去所述统计量,得到更新后的坐标点数据;所述偏移压缩模块包括:压缩单元,用于采用偏移压缩算法对所述更新后的坐标点数据进行压缩得到压缩后的坐标点数据。
可选地,所述偏移压缩模块,还用于若满足预设条件的坐标点数据与所述所有坐标点数据的比值大于所述预设阈值,则直接执行采用偏移压缩算法对所述坐标点数据进行压缩得到压缩后的坐标点数据的步骤。
第三方面,本申请实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的方法。
第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种电子设备的结构框图;
图2为本申请实施例提供的一种文件压缩方法的流程图;
图3为本申请实施例提供的一种文件压缩装置的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
PDF文件可将文字、字型、格式、颜色及独立于设备和分辨率的图形图像等封装在一个文件中,使得PDF文件包括丰富的内容,且PDF文件能够在不同的操作系统中使用,使得越来越多的电子图书、产品说明、公司文告、网络资料、电子邮件等开始使用PDF格式文件。再对PDF文件进行存储和传输时一般白用工业标准的压缩算法进行压缩,但是其压缩率较低,导致文件的存储和传输效率低,为了提高对PDF文件进行压缩的压缩率,本申请提供了一种文件压缩方法,该方法可以被如图1所示的电子设备执行。
请参照图1,该电子设备可以包括:至少一个处理器110,例如CPU,至少一个通信接口120,至少一个存储器130和至少一个通信总线140。其中,通信总线140用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口120用于与其他节点设备进行信令或数据的通信。存储器130可以是高速RAM存储器,也可以是非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。存储器130可选的还可以是至少一个位于远离前述处理器的存储装置。存储器130中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器110执行时,电子设备执行下述图2所示方法过程。
可以理解,图1所示的结构仅为示意,电子设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。于本申请实施例中,电子设备可以是,但不限于台式机、笔记本电脑、智能手机、智能穿戴设备等实体设备,还可以是虚拟机等虚拟设备。
请参看图2,图2为本申请实施例提供的一种文件压缩方法的流程图,该方法包括如下步骤:
步骤S110:获取便携式文件格式PDF文件的内容流。
便携式文件格式(Portable Document Format,PDF)文件的物理结构包括文件头、文件体、交叉引用表和文件尾四个部分,文件头指明了该文件所遵从的PDF规范的版本号,它出现在PDF文件的第一行。其中,文件体由一系列的PDF间接对象(Indirect Object)组成,交叉引用表则是为了能对间接对象进行随机存取而设立的一个间接对象的地址索引表,文件尾声明了交叉引用表的地址,即指明了文件体的根对象(Catalog),还保存了加密等安全信息。
PDF文件中的页面内容如文字、图形、图像等都保存在页对象的Contents关键字对应的内容流中,也就是说,PDF文件的内容流中包含一系列的指令,该指令可以描述页面的外观或其他图形实体的外观和文件内容。
步骤S120:对内容流进行解析得到至少一个图形对象。
PDF文件的内容流中包括图形对象以及用于修饰图形对象的操作符,其中,图形对象有以下五种类型:路径对象、文本对象、外部对象、内联图像对象以及阴影对象,其中,路径对象可以是直线、矩形和贝塞尔曲线,也可以是直线、矩形和贝塞尔曲线中任意几种组合而成的任意形状,且不同的路径对象可以相交,文本对象由一个或多个字符串组成,外部对象也称为扩展对象,是指在内容流外部定义的对象并作为命名资源引用,命名资源由资源字典来定义。
在对内容流进行解析后,可以得到至少一个图形对象,例如,若内容流中只包括一个路径对象时,则可以解析得到一个路径对象,若内容流中包括多个路径对象时,则可以解析得到多个路径对象,又如,若内容流中包括多个文本对象时,则可以解析得到多个文本对象。内容流中可以包括不同类型的图形对象,因此,可以通过解析内容流获取其中包括的至少一个图形对象。
步骤S130:获取所述至少一个图形对象中的至少一个目标图形对象包括的所有坐标点数据。
例如,可以获取目标图形对象中包括的所有坐标点数据[(x1,y1),(x2,y2),…],其中,(x1,y1)等为其中的坐标点数据。其中,本申请实施例中提到的坐标点数据为浮点数。
步骤S140:采用偏移压缩算法对所述坐标点数据进行压缩得到压缩后的坐标点数据。
步骤S150:根据压缩后坐标点数据形成压缩的PDF文件。
每个目标图形对象都由多个坐标点数据组成,采用偏移压缩算法对每一个目标图形对象中的所有坐标点数据进行压缩得到压缩后的坐标点数据,能够有效的提高压缩率。
具体地,采用偏移压缩算法对坐标点数据进行压缩得到压缩后的坐标点数据时,可以采用以下步骤:先根据坐标点数据获取几何中心点数据,然后根据几何中心点数据对坐标点数据进行偏移计算,得到偏移后的坐标点数据,再将偏移后的坐标点数据的整数位数据减去几何中心点数据,得到压缩后的坐标点数据。
例如,先求得坐标点数据[(x1,y1),(x2,y2),…]的几何中心点数据(cx,cy),其中,cx=(x1+x2+…+xn)/n,cy=(y1+y2+…+yn)/n,为了提高计算效率,可以在计算cx以及cy时进行取整操作,然后根据几何中心点数据(cx,cy)对坐标点数据进行偏移计算,可以将坐标点数据中的水平坐标点数据偏移cx,将水平坐标点数据偏移cy,然后得到偏移后的坐标点数据,再将偏移后的坐标点数据的整数位数据减去几何中心点数据,其中,若坐标点数据为浮点数据,则可以将所有浮点数据的整数位数都分别减去cx以及cy,得到压缩后的坐标点数据,然后将压缩后的坐标点数据写入PDF文件的内容流,也就是根据压缩后坐标点数据形成压缩的PDF文件,即完成对PDF文件的压缩过程。
具体地,如下所示为内容流中的一个图形对象以及用于修饰该图形对象的操作符:
其中,操作符cm前面的数值1 0 0 1 0 0代表图形对象的变换矩阵,操作符m、操作符l以及操作符c前面的数值是坐标点数据,获取这些数据的几何中心点数据,然后根据几何中心点数据对坐标点数据进行偏移计算,得到偏移后的坐标点数据,再将偏移后的坐标点数据的整数位数据减去几何中心点数据,得到压缩后的坐标点数据,以下为包括压缩后的坐标点数据的图形对象以及相应的操作符:
采用偏移压缩算法时,获取所有坐标点数据的几何中心数据(485.3 26.4),并对坐标点数据进行偏移计算,再将偏移后的坐标点数据的整数位数据减去几何中心点数据,从而实现对数据量的压缩,例如,从将(485.3 26.4)压缩为(0 0),将(485.3 21 485.420.7 485.5 20.6)压缩为(0 -5.4 0.1 -5.7 0.2 -5.8),进而根据压缩后坐标点数据形成压缩的PDF文件,最终达到有效的提高压缩率的目的。
在上述实现过程中,从PDF文件的内容流中解析得到图形对象,基于图像对象中的坐标点数据进行偏移压缩计算,能够充分的对PDF文件中的坐标点数据进行压缩,从而根据压缩后的坐标点数据得到压缩后的PDF文件,通过该压缩过程能够有效的提高压缩率。
作为一种实施方式,为了进一步提高压缩率,可以在获取到目标图形对象中的所有坐标点数据之后,采用偏移压缩算法对坐标点数据进行计算,得到压缩后的坐标点数据之前,预先对坐标点数据进行判断,并根据判断结果进行压缩方案的选择。
作为另一种实施方式,判断满足预设条件的坐标点数据与所述所有坐标点数据的比值是否大于预设阈值,其中,所述预设条件为坐标点数据的小数有效位数大于预设值;若大于所述预设阈值,则获取所述满足预设条件的坐标点数据的有效位数的统计量;根据所述统计量对所述所有坐标点数据进行缩放计算,得到缩放后的坐标点数据;将所述缩放后的坐标点数据的有效位减去所述统计量,得到更新后的坐标点数据;采用偏移压缩算法对所述坐标点数据进行压缩得到压缩后的坐标点数据,包括:采用偏移压缩算法对所述更新后的坐标点数据进行压缩得到压缩后的坐标点数据。
坐标点数据的小数有效位数大于预设值则说明该数据的数据量相对较大,如,假设预设值为2,那么数据1.123的小数有效位数为3且大于预设值,而数据1.1的小数有效位数为1且小于预设值,因此,可以判断出数据1.123的数据量相对于数据1.1的数据量较大。满足预设条件的坐标点数据与所有坐标点数据的比值是否大于预设阈值,可以判断所有数据中数据量较大的数据在所有数据中的占比,若数据量较大的数据在所有数据中的占比不大于预设阈值,则表明所有数据中的数据量水平整体不大,如,若预设阈值为50%,且,预设条件为坐标点数据的小数有效位数大于预设值2,第一组坐标点数据为:1.123、1.234、1.2、1.5、1.455,第二组坐标点数据为:1.8、1.4、1.21、1.5、1.455,那么在第一组坐标点数据中,满足预设条件的坐标点数据与所有坐标点数据的比值为60%,在第二组坐标点数据中,满足预设条件的坐标点数据与所有坐标点数据的比值为20%,也就是说,第一组坐标点数据的数据量较大,第二组坐标点数据的数据量较小。
此外,若满足预设条件的坐标点数据与所述所有坐标点数据的比值大于所述预设阈值,则直接执行采用偏移压缩算法对所述坐标点数据进行压缩得到压缩后的坐标点数据的步骤。如上述例子中的第一组坐标点数据以及第二组坐标点数据,在第一组坐标点数据中,满足预设条件的坐标点数据与所有坐标点数据的比值为60%,在第二组坐标点数据中,满足预设条件的坐标点数据与所有坐标点数据的比值为20%,因此可以直接对第二组坐标点数据采用偏移压缩算法进行压缩,以提高压缩效率。
具体的,上述实施例中提到的第一组坐标点数据为数据量较大的情况,也就是满足预设条件的坐标点数据与所有坐标点数据的比值大于预设阈值的情况,此时,可以对第一组坐标点数据进行缩放计算,具体地,若一共有n个坐标点数据,则可以获取满足预设条件的坐标点数据的有效位数:w1、w2、w3、……、wn,然后计算其统计量,如平均值、中位数、众数等中的任意一种,此处以平均值为例,则计算出的统计量为W=(w1+w2+w3+…+wn)/n,然后根据统计量W对坐标点数据进行缩放计算,例如,将坐标点数据都放大10的W次方倍,然后,将缩放后的坐标点数据的有效位减去统计量W,得到更新后的坐标点数据,例如,坐标点数据为[(x1,y1),(x2,y2),…],则缩放后的坐标点数据为[(x’1,y’1),(x’2,y’2),…],其中,(x’1,y’1)为(x1,y1)经过缩放计算并将有效位减去统计量W得到更新后的坐标点数据,最终采用偏移压缩算法对更新后的坐标点数据进行计算得到压缩后的坐标点数据,最后根据压缩后坐标点数据形成压缩的PDF文件,即完成对PDF文件的压缩过程。
例如,如下所示为内容流中包括的一个图形对象以及用于修饰图形对象的操作符:
其中,操作符cm前面的数值1 0 0 1 0 0代表图形对象的变换矩阵,操作符m、操作符l以及操作符c前面的数值是坐标点数据,将这些坐标点数据放大100倍,并通过几何中心点进行偏移计算得到缩放后的坐标点数据如下所示:
可以明显看出上述缩放后的坐标点数据的数据量相对于原来所有的坐标点数据的数据量少。在采用偏移压缩算法对坐标点数据进行压缩计算之前,也就是对坐标点数据进行判断,并判断出坐标点数据的数据值的大小程度较大时,对坐标点数据进行缩放计算,从而可以提高压缩效果,进而进一步有效的提高压缩率。
基于同一发明构思,本申请实施例中还提供一种文件压缩装置200,请参看图3,该装置可以是电子设备上的模块、程序段或代码。应理解,该文件压缩装置200与上述图2方法实施例对应,能够执行图2方法实施例涉及的各个步骤,该文件压缩装置200具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
可选地,该文件压缩装置200包括:
内容流获取模块210,用于获取便携式文件格式PDF文件的内容流;
内容流解析模块220,用于对内容流进行解析得到至少一个图形对象;
坐标点数据获取模块230,用于获取至少一个图形对象中的至少一个目标图形对象包括的所有坐标点数据;
偏移压缩模块240,用于采用偏移压缩算法对坐标点数据进行压缩得到压缩后的坐标点数据;
压缩文件形成模块250,用于根据压缩后坐标点数据形成压缩的PDF文件。
可选地,偏移压缩模块240包括:
几何中心点数据获取单元,用于根据坐标点数据获取几何中心点数据;
偏移计算单元,用于根据几何中心点数据对坐标点数据进行偏移,得到偏移后的坐标点数据;
压缩坐标点数据获取单元,用于将偏移后的坐标点数据的整数位数据减去几何中心点数据,得到压缩后的坐标点数据。
可选地,装置还包括:
判断模块,用于判断满足预设条件的坐标点数据与所有坐标点数据的比值是否大于预设阈值,其中,预设条件为坐标点数据的小数有效位数大于预设值;
统计量获取模块,用于若大于预设阈值,则获取满足预设条件的坐标点数据的有效位数的统计量;
缩放模块,用于根据统计量对所有坐标点数据进行缩放计算,得到缩放后的坐标点数据;
坐标点数据更新模块,用于将缩放后的坐标点数据的有效位减去统计量,得到更新后的坐标点数据;
偏移压缩模块240包括:压缩单元,用于采用偏移压缩算法对更新后的坐标点数据进行压缩得到压缩后的坐标点数据。
可选地,偏移压缩模块240,还用于若满足预设条件的坐标点数据与所有坐标点数据的比值大于预设阈值,则直接执行采用偏移压缩算法对坐标点数据进行压缩得到压缩后的坐标点数据的步骤。
本申请实施例提供一种可读取存储介质,计算机程序被处理器执行时,执行如图2所示方法实施例中电子设备所执行的方法过程。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
综上所述,本申请实施例提供一种文件压缩方法、装置、电子设备及可读取存储介质,该方法包括:获取便携式文件格式PDF文件的内容流;对内容流进行解析得到至少一个图形对象;获取至少一个图形对象中的至少一个目标图形对象包括的所有坐标点数据;采用偏移压缩算法对坐标点数据进行压缩得到压缩后的坐标点数据;根据压缩后坐标点数据形成压缩的PDF文件。从PDF文件的内容流中解析得到图形对象,基于图像对象中的坐标点数据进行偏移压缩计算,能够充分的对PDF文件中的坐标点数据进行压缩,从而根据压缩后的坐标点数据得到压缩后的PDF文件,通过该压缩过程能够有效的提高压缩率。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种文件压缩方法,其特征在于,所述方法包括:
获取便携式文件格式PDF文件的内容流;
对所述内容流进行解析得到至少一个图形对象;
获取所述至少一个图形对象中的至少一个目标图形对象包括的所有坐标点数据;
采用偏移压缩算法对所述坐标点数据进行压缩得到压缩后的坐标点数据;
根据压缩后坐标点数据形成压缩的PDF文件。
2.根据权利要求1所述的方法,其特征在于,所述采用偏移压缩算法对所述坐标点数据进行压缩得到压缩后的坐标点数据,包括:
根据所述坐标点数据获取几何中心点数据;
根据所述几何中心点数据对所述坐标点数据进行偏移,得到偏移后的坐标点数据;
将所述偏移后的坐标点数据的整数位数据减去所述几何中心点数据,得到压缩后的坐标点数据。
3.根据权利要求1所述的方法,其特征在于,所述获取所述至少一个图形对象中的至少一个目标图形对象包括的所有坐标点数据之后,所述方法还包括:
判断满足预设条件的坐标点数据与所述所有坐标点数据的比值是否大于预设阈值,其中,所述预设条件为坐标点数据的小数有效位数大于预设值;
若大于所述预设阈值,则获取所述满足预设条件的坐标点数据的有效位数的统计量;
根据所述统计量对所述所有坐标点数据进行缩放计算,得到缩放后的坐标点数据;
将所述缩放后的坐标点数据的有效位减去所述统计量,得到更新后的坐标点数据;
采用偏移压缩算法对所述坐标点数据进行压缩得到压缩后的坐标点数据,包括:
采用偏移压缩算法对所述更新后的坐标点数据进行压缩得到压缩后的坐标点数据。
4.根据权利要求3所述的方法,其特征在于,若满足预设条件的坐标点数据与所述所有坐标点数据的比值大于所述预设阈值,则直接执行采用偏移压缩算法对所述坐标点数据进行压缩得到压缩后的坐标点数据的步骤。
5.一种文件压缩装置,其特征在于,所述装置包括:
内容流获取模块,用于获取便携式文件格式PDF文件的内容流;
内容流解析模块,用于对所述内容流进行解析得到至少一个图形对象;
坐标点数据获取模块,用于获取所述至少一个图形对象中的至少一个目标图形对象包括的所有坐标点数据;
偏移压缩模块,用于采用偏移压缩算法对所述坐标点数据进行压缩得到压缩后的坐标点数据;
压缩文件形成模块,用于根据压缩后坐标点数据形成压缩的PDF文件。
6.根据权利要求5所述的装置,其特征在于,所述偏移压缩模块包括:
几何中心点数据获取单元,用于根据所述坐标点数据获取几何中心点数据;
偏移计算单元,用于根据所述几何中心点数据对所述坐标点数据进行偏移,得到偏移后的坐标点数据;
压缩坐标点数据获取单元,用于将所述偏移后的坐标点数据的整数位数据减去所述几何中心点数据,得到压缩后的坐标点数据。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
判断模块,用于判断满足预设条件的坐标点数据与所述所有坐标点数据的比值是否大于预设阈值,其中,所述预设条件为坐标点数据的小数有效位数大于预设值;
统计量获取模块,用于若大于所述预设阈值,则获取所述满足预设条件的坐标点数据的有效位数的统计量;
缩放模块,用于根据所述统计量对所述所有坐标点数据进行缩放计算,得到缩放后的坐标点数据;
坐标点数据更新模块,用于将所述缩放后的坐标点数据的有效位减去所述统计量,得到更新后的坐标点数据;
所述偏移压缩模块包括:
压缩单元,用于采用偏移压缩算法对所述更新后的坐标点数据进行压缩得到压缩后的坐标点数据。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
偏移压缩模块,还用于若满足预设条件的坐标点数据与所述所有坐标点数据的比值大于所述预设阈值,则直接执行采用偏移压缩算法对所述坐标点数据进行压缩得到压缩后的坐标点数据的步骤。
9.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1至4中任一项所述的方法。
10.一种可读取存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,运行如权利要求1至4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911254223.XA CN111130554B (zh) | 2019-12-09 | 2019-12-09 | 一种文件压缩方法、装置、电子设备及可读取存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911254223.XA CN111130554B (zh) | 2019-12-09 | 2019-12-09 | 一种文件压缩方法、装置、电子设备及可读取存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111130554A true CN111130554A (zh) | 2020-05-08 |
CN111130554B CN111130554B (zh) | 2023-08-04 |
Family
ID=70496277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911254223.XA Active CN111130554B (zh) | 2019-12-09 | 2019-12-09 | 一种文件压缩方法、装置、电子设备及可读取存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111130554B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112818894A (zh) * | 2021-02-08 | 2021-05-18 | 深圳万兴软件有限公司 | 识别pdf文件中文本框的方法、装置及计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080189601A1 (en) * | 2005-08-18 | 2008-08-07 | Adobe Systems Incorporated | System and method for creating a compressed file |
US20100329332A1 (en) * | 2009-06-30 | 2010-12-30 | Sun Microsystems, Inc. | Method and system for linear quantization and dequantization |
US8397155B1 (en) * | 2009-07-31 | 2013-03-12 | Google Inc. | Efficient portable document |
JP2017016511A (ja) * | 2015-07-03 | 2017-01-19 | 株式会社ディジタルメディアプロフェッショナル | 歪み補正画像処理装置及びプログラム |
CN107977442A (zh) * | 2017-12-08 | 2018-05-01 | 北京希嘉创智教育科技有限公司 | 日志文件压缩及解压缩方法、电子设备和可读存储介质 |
CN109582654A (zh) * | 2018-11-30 | 2019-04-05 | 万兴科技股份有限公司 | Pdf文档压缩方法、装置、计算机设备及存储介质 |
US20190268017A1 (en) * | 2019-05-08 | 2019-08-29 | Vinodh Gopal | Self-checking compression |
-
2019
- 2019-12-09 CN CN201911254223.XA patent/CN111130554B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080189601A1 (en) * | 2005-08-18 | 2008-08-07 | Adobe Systems Incorporated | System and method for creating a compressed file |
US20100329332A1 (en) * | 2009-06-30 | 2010-12-30 | Sun Microsystems, Inc. | Method and system for linear quantization and dequantization |
US8397155B1 (en) * | 2009-07-31 | 2013-03-12 | Google Inc. | Efficient portable document |
JP2017016511A (ja) * | 2015-07-03 | 2017-01-19 | 株式会社ディジタルメディアプロフェッショナル | 歪み補正画像処理装置及びプログラム |
CN107977442A (zh) * | 2017-12-08 | 2018-05-01 | 北京希嘉创智教育科技有限公司 | 日志文件压缩及解压缩方法、电子设备和可读存储介质 |
CN109582654A (zh) * | 2018-11-30 | 2019-04-05 | 万兴科技股份有限公司 | Pdf文档压缩方法、装置、计算机设备及存储介质 |
US20190268017A1 (en) * | 2019-05-08 | 2019-08-29 | Vinodh Gopal | Self-checking compression |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112818894A (zh) * | 2021-02-08 | 2021-05-18 | 深圳万兴软件有限公司 | 识别pdf文件中文本框的方法、装置及计算机设备及存储介质 |
CN112818894B (zh) * | 2021-02-08 | 2023-12-15 | 深圳万兴软件有限公司 | 识别pdf文件中文本框的方法、装置及计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111130554B (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108388598B (zh) | 电子装置、数据存储方法及存储介质 | |
CN107273104B (zh) | 一种配置数据结构的处理方法及装置 | |
CN106055294B (zh) | 一种图层合成优化方法和装置 | |
CN104732228A (zh) | 一种pdf文档乱码的检测、校正的方法 | |
CN111915705B (zh) | 图片可视化编辑方法、装置、设备和介质 | |
CN112116436A (zh) | 一种智能推荐方法、装置、计算机设备及可读存储介质 | |
CN114237787A (zh) | 一种云桌面图像传输方法和装置 | |
CN111130554A (zh) | 一种文件压缩方法、装置、电子设备及可读取存储介质 | |
CN109992221B (zh) | 一种用于矢量字库运算的处理器芯片的实现方法 | |
CN105931279B (zh) | 一种三维模型数据压缩方法及系统 | |
CN113050921A (zh) | 一种网页转换方法、装置、存储介质和计算机设备 | |
CN109582654A (zh) | Pdf文档压缩方法、装置、计算机设备及存储介质 | |
CN114254585A (zh) | 字体生成方法、装置、电子设备及存储介质 | |
CN102467490A (zh) | 一种字体数据的处理方法及装置 | |
CN114637732A (zh) | 一种dwg图纸数据的转换方法及系统 | |
CN110504973A (zh) | 文件压缩、解压方法和装置 | |
CN111783787B (zh) | 一种识别图像字符的方法、装置和电子设备 | |
CN104281562A (zh) | 一种电子文档的处理方法及装置 | |
JP6108105B2 (ja) | 記事画像再構成装置 | |
CN113903071A (zh) | 人脸识别方法、装置、电子设备和存储介质 | |
CN113268949A (zh) | 基于动态字段的表格展示方法、装置、计算机设备及介质 | |
CN111324587A (zh) | Obj文件的数据的压缩方法、解析方法以及系统 | |
CN107241100B (zh) | 字库部件压缩方法及装置 | |
CN114339251B (zh) | 一种矢量数据压缩传输的方法与终端 | |
CN111259662B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |