一种转换电子文档的方法及装置
技术领域
本发明涉及计算机信息处理技术领域,尤其涉及一种转换电子文档的方法及装置。
背景技术
随着数字出版技术的快速发展,越来越多的出版机构开始以数字形式,即电子文档形式发行图书。目前,在编辑、加工和印刷的过程中,这些图书的电子文档是由排版软件所创建,并将创建后的电子文档存放于计算机系统中,该电子文档中包含可显示对象、以及该可显示对象的复合模式、类型等信息;可显示对象为电子文档中需要显示的对象;当可显示对象为文字类型时,该电子文档还包含文字的字符个数,文字的字号;当可显示对象为图像类型时,该电子文档还包含图像的像素高度和像素宽度,以及图像的个数;当可显示对象为路径类型时,例如圆形、曲线等,该电子文档还包含该路径的端点和控制点的个数,以及路径的长度,例如圆形的周长;该电子文档还包含页面宽度等信息。
在印刷过程中,图书编辑人员通过使用排版软件,需要将该电子文档的文件格式,例如方正飞腾格式,转换为用于印刷的文件格式,例如便携文件(PortableDocumentFormat,PDF)格式,然后才可进行印刷操作。
在传统纸书的加工过程中,关注的是版面描述的精确性,包括版面内容的位置、颜色以及复杂视觉效果的精确性。因此,在现有的排版软件中,为了达到精确性目的,通常使用一些复杂而细致的页面描述方法来保证电子文档印刷为纸书后,仍然有精确的视觉效果。例如使用大量颜色逐渐改变的圆形叠加来达到平滑渐变效果,如图1所示;或者使用大量细碎的图形拼合起来形成一幅大图,如图2所示,以达到印刷时所需的精确性的要求。
但是本发明人发现,现有技术中存在如下问题:
第一,在数字出版技术领域中,电子文档主要用于在各种阅读器中显示,尤其是在移动阅读设备上的显示,例如,手机。其关注的是阅读的便捷、快速;而版面精确性的要求有所降低。如果直接使用现有排版软件输出的电子文档,该电子文档页面的复杂性往往会造成阅读速度太慢、占用系统资源过多等问题。
第二,在现有技术中,解决阅读速度太慢、占用系统资源过多的问题的方法是对电子文档进行优化和转换。例如使用AdobeAcrobat对PDF文件格式的文件做优化保存,或者使用ApabiMaker将PDF文件转换为基于混合XML的公共电子文档(Commone-DocumentofBlendingXML,CEBX)格式,常见的优化手段包括降低图像解析度、重新压缩图像、去除内嵌字体等方法。这类技术的出发点是压缩或丢弃部分数据,只适用于可压缩的图像、视频等数据,以及可丢弃的内嵌字体等数据,因此,适用的范围较窄,对于不可压缩或丢弃的数据则不能进行任何压缩或丢弃处理。
发明内容
本发明实施例提供一种转换电子文档的方法及装置,用于减少电子文档所需的内存空间。
一种转换电子文档的方法,所述方法包括:
获取所述电子文档中的可显示对象;
按照预先设定的计算方法,根据获取的可显示对象计算出显示复杂度值;
当确定所述显示复杂度值大于预先设置的复杂度阈值时,将所述可显示对象转换为光栅图像。
一种转换电子文档的装置,所述装置包括:
获取单元,用于获取所述电子文档中的可显示对象;
计算单元,用于按照预先设定的计算方法,根据获取的可显示对象计算出显示复杂度值;
确定单元,用于当确定所述显示复杂度值大于预先设置的复杂度阈值时,将所述可显示对象转换为光栅图像。
可见采用本发明实施例提供的方法,按照预先设置的计算方法,计算出显示复杂度值,当显示复杂度值大于预先设置的复杂度阈值时,将可显示对象转换为光栅图像;由于光栅图像中所包含的像素等信息较少,因此,当可显示对象转换为光栅图像后,可大大降低电子文档页面的复杂度;同时,由于光栅图像所占用的内存较小,可减少转换后的电子文档所需的内存空间,因此,在使用阅读显示器,尤其是移动阅读设备上显示转换后的电子文档时,可大大提高浏览速度;同时,本发明提供的方法是在电子文档的显示复杂度值大于预先设置的复杂度阈值时,才将所述电子文档中的可显示对象转换为光栅图像,该方法可在减少转换后的电子文档所需的内存空间的同时保证电子文档中页面的显示效果。
附图说明
图1为现有技术中渐变圆形的组成结构示意图;
图2为现有技术中图像的组成结构示意图;
图3为本发明实施例提供的一种转换电子文档的方法的流程示意图;
图4为本发明实施例提供的第一种转换电子文档的方法流程示意图;
图5a为现有技术中单个文字的最小外接矩形示意图;
图5b为现有技术中多个文字的最小外接矩形示意图;
图6为现有技术中路径的最小外接矩形示意图;
图7为本发明实施例提供的第二种转换电子文档的方法流程示意图;
图8为本发明实施例提供的第三种转换电子文档的方法流程示意图;
图9为本发明实施例提供的分组方法流程示意图;
图10a为现有技术中可显示对象的位置关系为分离的位置结构示意图;
图10b为现有技术中可显示对象的位置关系为相邻的位置结构示意图;
图10c为现有技术中可显示对象的位置关系为重叠的位置结构示意图;
图11为本发明实施例四使用的电子文档页面结构图;
图12为本发明实施例提供一种转换电子文档的装置的结构示意图。
具体实施方式
本发明实施例提供的方法,可按照预先设置的计算方法,计算出电子文档中的显示复杂度值,当显示复杂度值大于预先设置的复杂度阈值时,将该电子文档的可显示对象转换为光栅图像;由于光栅图像中所包含的像素等信息较少,因此,当可显示对象转换为光栅图像后,可大大降低电子文档页面的复杂度;同时,由于光栅图像所占用的内存较小,可降低转换后的电子文档所需的内存空间,因此,在使用阅读显示器,尤其是移动阅读设备上显示转换后的电子文档时,可大大提高浏览速度。如图3所示,具体步骤如下:
步骤31,获取所述电子文档中的可显示对象;
步骤32,按照预先设定的计算方法,根据获取的可显示对象计算出显示复杂度值;
步骤33,当确定所述显示复杂度值大于预先设置的复杂度阈值时,将所述可显示对象转换为光栅图像。
较佳的,步骤32中按照预先设定的计算方法,计算所述电子文档显示复杂度值,具体包括以下方法:
第一,按照预先设置的第一复杂度值计算方法,分别计算所述电子文档中每一个可显示对象的第一复杂度值;将所述第一复杂度值之和与所述电子文档中所有可显示对象的可视面积之和的比值,作为所述显示复杂度值;所述可视面积为可显示对象的最小外接矩形的面积。
当按照第一种方法进行计算时,步骤33具体包括如下方法:
当确定所述显示复杂度值大于预先设置的复杂度阈值时,将所述电子文档中的全部可显示对象转换为光栅图像。
第二,按照预先设置的第一复杂度值计算方法,分别计算所述电子文档中每一个可显示对象的第一复杂度值;以及当电子文档中所有可显示对象属于同一复合模式时,计算该电子文档中每一个可显示对象的第二复杂度值;
当按照第二种方法进行计算时,步骤33具体包括如下方法:
当确定所述显示复杂度值大于预先设置的复杂度阈值时,将所述电子文档中的全部可显示对象转换为光栅图像。
第三,按照预先设置的第一复杂度值计算方法,计算所述电子文档中的每一个可显示对象的第一复杂度值;将每一个可显示对象的第一复杂度值与该可显示对象的可视面积之比作为该可显示对象的显示复杂度值;所述可视面积为所述可显示对象的最小外接矩形的面积;
当按照第三种方法进行计算时,步骤33具体包括如下方法:
当确定任意一个可显示对象的显示复杂度值大于预先设置的复杂度阈值时,将该可显示对象转换为光栅图像。
第四,按照预先设置的第一复杂度值计算方法,计算所述电子文档中的每一个可显示对象的第一复杂度值;以及
当该电子文档中的所有可显示对象属于同一复合模式时,按照预先设定的第二复杂度值计算方法,计算每一个可显示对象的第二复杂度值;计算每一个可显示对象的第一复杂度值与该可显示对象的第二复杂度值的和值,将所述和值与该可显示对象的可视面积之比,作为该可显示对象的显示复杂度值;所述可视面积为所述可显示对象的最小外接矩形的面积;
当按照第四种方法进行计算时,步骤33具体包括如下方法:
当确定任意一个可显示对象的显示复杂度值大于预先设置的复杂度阈值时,将该可显示对象转换为光栅图像。
具体的,在步骤31和步骤32之间,还进一步包括:
按照预先设置的分组方法,对该电子文档中的可显示对象进行分组;此时,步骤32具体包括以下两种方法:
方法一,按照预先设置的第一复杂度值计算方法,计算该电子文档中每一个可显示对象的第一复杂度值;将每组包含的可显示对象的第一复杂度值与该组的所有可显示对象的可视面积之和的比值,作为该组的显示复杂度值;所述可视面积为可显示对象的最小外接矩形的面积;
当使用方法一时,步骤33具体包括如下方法:
当确定任意一组的显示复杂度值大于预先设置的复杂度阈值时,将该组中的全部可显示对象转换为光栅图像。
方法二,按照预先设置的第一复杂度值计算方法,计算所述电子文档中每一个可显示对象的第一复杂度值;以及当任意组中的所有可显示对象属于同一复合模式时,按照预先设定第二复杂度值计算方式,计算该组中的每一个可显示对象的第二复杂度值;针对所有可显示对象属于同一复合模式的每个组,计算将该组中的每个可显示对象的第一复杂度值和第二复杂度值的和值;以及将所述和值与该组的所有可显示对象的可视面积之和的比值,作为该组的显示复杂度值;所述可视面积为可显示对象的最小外接矩形的面积;
当使用方法二时,步骤33具体包括如下方法:
当确定任意一组的显示复杂度值大于预先设置的复杂度阈值时,将该组中的全部可显示对象转换为光栅图像。
具体的,本发明实施例提供的分组方法中包括以下七种分组方法:
第一种,将位置关系为相邻或者重叠的可显示对象分为一组;
第二种,将类型相同的可显示对象分为一组;
第三种,将属于同一复合模式的可显示对象分为一组;
第四种,将上述三种分组方法两两任意组合;
第五种,判断可显示对象的位置关系是否为相邻或者重叠;在确定为是时,判断位置关系为相邻或者重叠的可显示对象的类型是否相同;在确定为是时,判断类型相同的可显示对象是否属于同一复合模式;在确定为是时,将属于同一复合模式的可显示对象分为一组。
第六种,判断可显示对象的位置关系是否为相邻或者重叠;在确定为是时,判断位置关系为相邻或者重叠的可显示对象的类型是否相同;在确定为是时,将类型相同的可显示对象分为一组。
第七种,判断可显示对象的位置关系是否为相邻或者重叠;在确定为是时,判断位置关系为相邻或者重叠的可显示对象是否属于同一复合模式;在确定为是时,将属于同一复合模式的可显示对象分为一组。
具体的,计算第一复杂度值有多种计算方法,本发明实施例提供的第一复杂度值计算方法为:
当可显示对象的类型为文字类型时,按照如下公式计算该可显示对象的第一复杂度值:
C×S2×50;其中C为该可显示对象中所包含的字符个数;S为所述字符的字号;
当可显示对象的类型为图像类型时,按照如下公式计算该可显示对象的第一复杂度值:
W×H×20;W为该可显示对象中所包含的图像的像素宽度;H为所述图像的像素高度;
当可显示对象的类型为路径类型时,按照如下公式计算该可显示对象的第一复杂度值:
V×300+L×100;V为该可显示对象中所包含的路径上的端点和控制点的个数之和;L为所述曲线的长度。
具体的,计算第二复杂度值有多种计算方法,本发明实施例提供的第二复杂度值的计算方法为:
当所有可显示对象的复合模式为正常(Normal)模式时,按照如下公式计算该可显示对象的第二复杂度值:A×15;A为该可显示对象的可视面积;
当所有可显示对象的复合模式为正片叠底(Multiply)模式时,按照如下公式计算该可显示对象的第二复杂度值:A×25;
当所有可显示对象的复合模式为屏幕(Screen)模式时,按照如下公式计算该可显示对象的第二复杂度值:A×40;
当所有可显示对象的复合模式为叠加(Overlay)模式时,按照如下公式计算该可显示对象的第二复杂度值:A×60。
以下以具体实施例进行介绍;
实施例一:
本发明实施例一提供第一种转换电子文档的方法,该方法在确定电子文档中某一可显示对象的显示复杂度值大于预先设置的平均复杂度阈值时,将该可显示对象转换为光栅图像;用户可根据实际需要按照表1预先选择所需的复杂度阈值等级,系统根据用户所选的复杂度阈值等级,确定与该复杂度阈值等级对应的复杂度阈值;或者,用户直接输入所需的复杂度阈值,所述复杂度阈值的取值范围在30到100之间;当复杂度阈值越高时,所转换的可显示对象越少,转换后的电子文档的显示效果也越好;
复杂度阈值等级 |
复杂度阈值 |
1级 |
100 |
2级 |
60 |
3级 |
30 |
表1
如图4所示,本实施例的具体过程如下:
步骤41,获取电子文档中所有可显示对象、以及该显示对象的类型和复合模式;以及可显示对象的其他信息,例如,字符个数、字符的字号,图像的像素宽度、像素高度,路径上的端点和控制点的个数,以及路径的长度等;
步骤42,计算每一个可显示对象的显示复杂度值;本步骤中具体包括如下步骤:
步骤A,计算第一复杂度值有多种计算方法,本发明提供的方法根据可显示对象的类型,以及表2中的第一复杂度值计算公式计算每一个可显示对象的第一复杂度值,即复杂度值;
表2
步骤B,计算该可显示对象的可视面积;所述可视面积为可显示对象的最小外接矩形的面积,可通过如下方式获得:
当可显示对象的类型为文字类型时,该可显示对象的可视面积为该可显示对象所包含的所有文字的最小外接矩形的面积;例如,当该可显示对象中包含2个文字时,则每个文字的最小外接矩形51如图5a所示,则该可显示对象的可视面积为这2个最小外接矩形51的面积之和;或者,直接将这2个文字的最小外接矩形的面积52作为该可显示对象的可视面积,如图5b所示;
当可显示对象的类型为图像类型时,该可显示对象的可视面积为该图像的面积;
当可显示对象的类型为路径类型时,例如曲线、圆形等;该可显示对象的可视面积为该可显示对象的最小外接矩形的面积,如图6所示;
步骤C,计算该可显示对象的显示复杂度值,所述显示复杂度值为该可显示对象的复杂度值与可视面积的比值;
步骤43,判断该可显示对象的显示复杂度值是否大于预先设置的复杂度阈值;在确定大于时,完成步骤44;否则完成步骤46;
步骤44,根据现有技术将该可显示对象转换为光栅图像;
步骤45,判断该可显示对象是否为最后一个可显示对象,如果不是,执行步骤42到步骤45;否则,完成步骤47。
步骤46,通过现有技术对该可显示对象进行转换或优化;
步骤47,结束操作。
较佳的,本实施例中,为了保证在将电子文档中的可显示对象转换为光栅图像的同时,页面有较好的显示效果,可对步骤A进行如下操作:根据可显示对象的类型,以及表2中的第一复杂度值计算公式计算所述可显示对象的第一复杂度值;判断该电子文档中的所有可显示对象是否属于同一复合模式;在确定为否时,将该第一复杂度值作为该可显示对象的复杂度值,继续后续步骤;在确定为是时,根据表3,计算该可显示对象的第二复杂度值,计算第二复杂度值还可使用其他方法;例如,当该可显示对象的类型为文字和图像时,且该电子文档中的可显示对象复合模式都为Normal模式时,首先确定该可显示对象的可视面积;其次,根据表3中的公式计算出该可显示对象的第二复杂度值;最后将步骤A中计算出的所有第一复杂度值和所有第二复杂度值之和作为该可显示对象的复杂度值;本步骤中计算可显示对象的可视面积的方法可参见实施例一;由于,此时已计算出可显示对象的可视面积,因此,可省略步骤B,直接进行步骤C;
复合模式 |
第二复杂度值计算公式 |
变量说明 |
Normal |
A×15 |
A:可显示对象的可视面积 |
Multiply |
A×25 |
A:可显示对象的可视面积 |
Screen |
A×40 |
A:可显示对象的可视面积 |
Overlay |
A×60 |
A:可显示对象的可视面积 |
表3
实施例二:
本发明实施例二提供第二种转换电子文档的方法,该方法在确定电子文档的显示复杂度值大于预先设置的平均复杂度阈值时,将该电子文档内的所有可显示对象转换为光栅图像;用户可根据实际需要按照表1预先选择所需的复杂度阈值等级,系统根据用户所选的复杂度阈值等级,确定与该复杂度阈值等级对应的复杂度阈值;或者,用户直接输入所需的复杂度阈值,所述复杂度阈值的取值范围在30到100之间;当复杂度阈值越高时,所转换的可显示对象越少,转换后的电子文档的显示效果也越好;
如图7所示,本实施例的具体过程如下:
步骤71,获取电子文档中所有可显示对象、以及该显示对象的类型和复合模式;以及可显示对象的其他信息,例如,字符个数、字符的字号,图像的像素宽度、像素高度,路径上的端点和控制点的个数,以及路径的长度等;
步骤72,计算该电子文档的显示复杂度值;具体计算方法包括如下步骤:
步骤一,根据可显示对象的类型,以及表2中的计算公式,分别计算该电子文档中每一个可显示对象的第一复杂度值,并将所有第一复杂度值之和作为该电子文档的复杂度值;例如,当电子文档中可显示对象的类型为文字和图像时,根据表2中不同类型的第一复杂度值计算公式,计算该电子文档中每一个可显示对象的第一复杂度值,并计算出的所有第一复杂度值之和作为该电子文档的复杂度值;
步骤二,计算该电子文档中所有可显示对象的可视面积之和;所述可视面积的计算方式可参见实施例一;
步骤三,计算该电子文档的显示复杂度值,所述平均复杂度为该电子文档的复杂度值与可视面积之和的比值;
步骤73,判断该电子文档的显示复杂度值是否大于预先设置的复杂度阈值;在确定大于时,完成步骤74;否则,完成步骤75;
步骤74,根据现有技术将该电子文档中的所有可显示对象转换为光栅图像;
步骤75,通过现有技术对电子文档中的全部可显示对象进行转换或优化。
较佳的,本实施例中,为了保证在将电子文档中的可显示对象转换为光栅图像的同时,页面有较好的显示效果,可在完成步骤一之后、且在步骤三之前,判断该电子文档中的所有可显示对象是否属于同一复合模式;在确定为否时,将电子文档的所有第一复杂度值之和作为该电子文档的复杂度值,则继续步骤二和步骤三;在确定为是时,根据表3,计算该电子文档的中每一个可显示对象的第二复杂度值;例如,当电子文档中可显示对象的类型为文字和图像时,且该电子文档中的可显示对象复合模式都为Normal模式时,首先,根据步骤B中的方法,确定每一个可显示对象的可视面积;其次,根据表3中的公式计算出该电子文档中每一个可显示对象的第二复杂度值;最后将步骤一中计算出的所有第一复杂度值之和与所有第二复杂度值之和的和值作为该电子文档的复杂度值;
实施例三:
本发明实施例三提供第三种转换电子文档的方法,该方法首先对电子文档中的所有可显示对象进行分组,并在确定当前组的显示复杂度值大于预先设置的平均复杂度阈值后,将当前组中的所有可显示对象转换为光栅图像;该方法,可在降低转换后的电子文档的页面复杂度的同时,尽可能的保证电子文档的显示效果;用户可根据实际需要按照表1预先选择所需的复杂度阈值等级,系统根据用户所选的复杂度阈值等级,确定与该复杂度阈值等级对应的复杂度阈值;或者,用户直接输入所需的复杂度阈值,所述复杂度阈值的取值范围在30到100之间;当复杂度阈值越高时,所转换的可显示对象越少,转换后的电子文档的显示效果也越好;
如图8所示,本实施例的具体过程如下:
步骤81,获取电子文档中所有可显示对象、以及该显示对象的类型和复合模式;以及可显示对象的其他信息,例如,字符个数、字符的字号,图像的像素宽度、像素高度,路径上的端点和控制点的个数,以及路径的长度等;
步骤82,对所有可显示对象分组;如图9所示,该步骤具体过程如下:
步骤91,确定步骤81中所有可显示对象中任意两个或多个可显示对象是否相邻或者重叠;在确定为是时,进行步骤92;否则完成步骤95;
步骤92,确定位置关系为如图10b所示的相邻,或者如图10c所示的重叠的所有可显示对象的类型是否相同;在确定为是时,进行步骤93;否则完成步骤95;如图10a为位置关系为分离的多个可显示对象;
步骤93,确定类型相同的所有可显示对象的是否属于同一复合模式;在确定为是时,完成步骤94;否则完成步骤95;
步骤94,确定这两个可显示对象为同一组;并转向步骤83;
步骤95,确定这两个可显示对象不为同一组;且在确定当前可显示对象不为最后一个可显示对象时,继续步骤91至步骤95;
步骤83,计算当前组的显示复杂度值;具体方法包括如下步骤:
步骤I,根据可显示对象的类型,以及表2中的计算公式,分别计算当前组中每一个可显示对象的第一复杂度值,将计算出的所有第一复杂度值的和值作为当前组的第一复杂度值;例如,当前组中的可显示对象的类型为文字和图像时,根据表2中不同类型的第一复杂度值计算公式,计算当前组中所有可显示对象的第一复杂度值,并将计算出的所有第一复杂度值之和的和值,并将所述和值作为当前组的复杂度值;
步骤II,计算当前组中所有可显示对象的可视面积之和;所述可视面积的确定方法参见实施例一;
步骤III,计算当前组的显示复杂度值,所述平均复杂度为当前组的复杂度值与当前组的可视面积之和的比值;
步骤84,判断当前组的显示复杂度值是否大于预先设置的复杂度阈值;在确定大于时,完成步骤85;在确定不大于时,完成步骤87;
步骤85,根据现有技术将当前组中的所有可显示对象转换为光栅图像;
步骤86,判断当前组是否为最后一个组,如果不是,再次执行步骤83到步骤86;如果是,完成步骤88;
步骤87,通过现有技术对组中的所有可显示进行转换或优化;
步骤88,则结束操作。
较佳的,本实施例中,为了保证在将电子文档中的可显示对象转换为光栅图像的同时,页面有较好的显示效果,可对步骤I进行如下步骤操作:
步骤a,判断当前组中所有可显示对象是否属于同一复合模式;在确定为否时,将计算出的所有第一复杂度值的和值作为当前组的复杂度值,并继续步骤II和步骤III;在确定为是时,根据表3,计算当前组中每一个可显示对象的第二复杂度值;例如当电子文档中可显示对象的类型为文字和图像时,且当前组中所有可显示对象的复合模式都为Normal时,首先确定每一个可显示对象的可视面积,然后,根据表3计算出每一个可显示对象的第二复杂度值,并将该第二复杂度值的和值作为当前组的第二复杂度值;
步骤b,将当前组的第一复杂度值与当前组的第二复杂度值的和值作为当前组的复杂度值。
具体的,在本实施例三中,步骤91至步骤93的方法可以任意两两组合;较佳的,为了保证较好的转换效果,可将步骤91和步骤92组合,或者,将步骤91和步骤93组合。
具体的,上述实施例中,可每次只从电子文档中获取一个可显示对象,也可一次全部获取;可显示对象转换为光栅图像的操作,可在计算出一次显示复杂度值,并将显示复杂度值与预先设定的平均复杂度阈值比较之后进行,也可在所有显示复杂度值都计算完,并将所有显示复杂度值与预先设定的平均复杂度阈值都比较完之后再进行。
实施例四:
本实施例四提供一种具体的转换电子文档的方法,本实施例以转换前的电子文档中的某个页面为例,页面效果如图11所示,该页面中包括渐变圆形111、文字内容112以及光栅图像113;所述渐变圆形111的组成形式如图1所示;所述光栅图像113的组成形式如图2所示;假设渐变圆形111是由100个由大到小且颜色渐变的圆形组成,且半径取值为100至1,则所述渐变圆形111由100个可显示对象组成;所述文字内容112包含72个字号为30的文字,即所述文字内容112由72个可显示对象组成;所述光栅图像113由50个像素宽度为900、像素高度为12的光栅图像组成,即所述光栅图像113由50个可显示对象组成;组成所述渐变圆形111的所有可显示对象为路径类型、复合模式为Normal;组成所述文字内容112的所有可显示对象为文字类型、复合模式为Normal;组成所述光栅图像113的所有可显示对象为图像类型、复合模式为Normal;用户选择的复杂度阈值等级为1,即复杂度阈值为100;该电子文档中还携带组成所述渐变圆形111的所有路径的端点以及控制点的个数、周长,该页面的面积600×600=360000,所述光栅图像113的面积300×200;则将该页面中的可显示对象转换为光栅图像的步骤如下:
步骤①,获取该电子文档中该页面的所有可显示对象;
步骤②,根据实施例三提供的步骤91到步骤93的分组方法,分组结果如下:
将组成所述渐变圆形111的所有可显示对象分为第一组;
将组成所述文字内容112的所有可显示对象分为第二组;
将组成所述光栅图像113的所有可显示对象分为第三组;
步骤③,计算每一组的平均复杂度
根据表1中的公式V×300+L×100,计算出第一组的第一复杂度值之和为9231400;根据表2中的公式A×15,计算出第一组的第二复杂度值之和为20301000;所述第一组的复杂度值为9231400+20301000;所述第一组的可视面积为200×200=40000,则所述第一组的显示复杂度值为738.7;
根据表1中的公式C×S2×50,计算出第二组的第一复杂度值之和为3240000;根据表2中的公式A×15,计算出第二组的第二复杂度值之和为972000;为了方便介绍将页面的面积作为所述第二组的可视面积,该可视面积为600×600=360000,则所述第二组的显示复杂度值为11.7;
根据表1中的公式W×H×20,计算出第三组的第一复杂度值之和为10800000;根据表2中的公式A×15,计算出第三组的第二复杂度值之和为300×200×15=900000;所述第三组的可视面积为300×200=60000,则所述第三组的显示复杂度值为315;
步骤④,确定上述第一组和第三组的显示复杂度值大于预先设置的复杂度阈值;
步骤⑤,将所述渐变圆形101以及所述光栅图像103分别转换为光栅图像,并替换原有内容。
根据用户预先设置的每英寸点数(DotsperInch,DPI),可计算得出转换后的渐变圆形101的光栅图像尺寸为394×394,转换后的光栅图像103的光栅图像尺寸为591×394;因此,可见转换后的页面所需的存储空间较小,在浏览时可提高浏览速度。
如图12所示,一种转换电子文档的装置,所述装置包括:
获取单元121,用于获取所述电子文档中的可显示对象;
计算单元123,用于按照预先设定的计算方法,根据获取的可显示对象计算出显示复杂度值;
转换单元124,用于当确定所述显示复杂度值大于预先设置的复杂度阈值时,将所述可显示对象转换为光栅图像。
所述计算单元123具体用于:
按照预先设置的第一复杂度值计算方法,分别计算所述电子文档中每一个可显示对象的第一复杂度值;将所述第一复杂度值之和与所述电子文档中所有可显示对象的可视面积之和的比值,作为所述显示复杂度值;所述可视面积为可显示对象的最小外接矩形的面积;
所述转换单元124具体用于,当确定所述显示复杂度值大于预先设置的复杂度阈值时,将所述电子文档中的全部可显示对象转换为光栅图像。
所述计算单元123具体用于:
按照预先设置的第一复杂度值计算方法,分别计算所述电子文档中每一个可显示对象的第一复杂度值;当电子文档中所有可显示对象属于同一复合模式时,还计算该电子文档中每一个可显示对象的第二复杂度值;以及计算所述第一复杂度值和所述第二复杂度值的和值,将所述和值与所述电子文档中所有可显示对象的可视面积之和的比值,作为所述显示复杂度值;所述可视面积为可显示对象的最小外接矩形的面积;
所述转换单元124具体用于,当确定所述显示复杂度值大于预先设置的复杂度阈值时,将所述电子文档中的全部可显示对象转换为光栅图像。
所述计算单元123具体用于:
按照预先设置的第一复杂度值计算方法,计算所述电子文档中的每一个可显示对象的第一复杂度值;将每一个可显示对象的第一复杂度值与该可显示对象的可视面积之比作为该可显示对象的显示复杂度值;
所述转换单元124还用于,当确定任意一个可显示对象的显示复杂度值大于预先设置的复杂度阈值时,将该可显示对象转换为光栅图像。
所述计算单元123具体用于:
按照预先设置的第一复杂度值计算方法,计算所述电子文档中的每一个可显示对象的第一复杂度值;当该电子文档中的所有可显示对象属于同一复合模式时,按照预先设定的第二复杂度值计算方法,计算每一个可显示对象的第二复杂度值;计算每一个可显示对象的第一复杂度值与该可显示对象的第二复杂度值的和值,将所述和值与该可显示对象的可视面积之比,作为该可显示对象的显示复杂度值;所述可视面积为所述可显示对象的最小外接矩形的面积;
所述转换单元124具体用于,当确定任意一个可显示对象的显示复杂度值大于预先设置的复杂度阈值时,将该可显示对象转换为光栅图像。
所述装置还包括:
分组单元122,用于按照预先设置的分组方法,对该电子文档中的所有可显示对象进行分组;
所述计算单元123具体用于,按照预先设置的第一复杂度值计算方法,计算该电子文档中每一个可显示对象的第一复杂度值;将分组后每组包含的可显示对象的第一复杂度值与该组的所有可显示对象的可视面积之和的比值,作为该组的显示复杂度值;所述可视面积为可显示对象的最小外接矩形的面积;
所述转换单元124具体用于,当确定任意一组的显示复杂度值大于预先设置的复杂度阈值时,将该组中的全部可显示对象转换为光栅图像。
所述装置还包括:
分组单元122,用于按照预先设置的分组方法,对该电子文档中的所有可显示对象进行分组;
所述计算单元123具体用于:按照预先设置的第一复杂度值计算方法,计算所述电子文档中每一个可显示对象的第一复杂度值;当任意组中的所有可显示对象属于同一复合模式时,按照预先设定第二复杂度值计算方式,计算该组中的每一个可显示对象的第二复杂度值;针对所有可显示对象属于同一复合模式的每个组,计算将该组中的每个可显示对象的第一复杂度值和第二复杂度值的和值;以及将所述和值与该组的所有可显示对象的可视面积之和的比值,作为该组的显示复杂度值;所述可视面积为可显示对象的最小外接矩形的面积;
所述转换单元124具体用于,当确定任意一组的显示复杂度值大于预先设置的复杂度阈值时,将该组中的全部可显示对象转换为光栅图像。
综上所述,本发明实施例的有益效果:
采用本发明实施例提供的方法,按照预先设置的计算方法,计算出电子文档中的显示复杂度值,当显示复杂度值大于预先设置的复杂度阈值时,将该电子文档的可显示对象转换为光栅图像;由于光栅图像中所包含的像素等信息较少,因此,当可显示对象转换为光栅图像后,可大大降低电子文档页面的复杂度;同时,由于光栅图像所占用的内存较小,可降低转换后的电子文档所需的内存空间,因此,在使用阅读显示器,尤其是移动阅读设备上显示转换后的电子文档时,可大大提高浏览速度。可见,本方法可对电子文档中的任意一种可显示对象进行转换,避免了现有技术中只能对部分可显示对象进行压缩处理的弊端。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。