用于展示版式文档的方法和装置的制造方法_3

文档序号:8502175阅读:来源:国知局
之后,可以根据设备屏幕的高度,将这些设备行切分到一个或多个设备页中,以适应设备屏幕的高度限制,方便用户的阅读。由此可以确定出可切分子区域的设备页中的位置信息。
[0054]然后,在步骤S360处,存储可切分子区域的设备行位置信息和设备页位置信息,作为可视元素区域从版式页到设备页的位置映射关系。
[0055]优选地,可以将位置映射关系保存在二进制数据文件中。这样就可以避免保存映射数据时需要进行结果数据的封装,获取映射数据时进行解析,同时可以减少文件的尺寸。当然,也可以在其他类似XML的文件中保存位置映射关系。本申请对位置映射关系的存储方式并不作任何限制。
[0056]在步骤S370处,可以根据存储的位置映射关系生成用于展示版式文档的所需设备页。
[0057]具体地,在实时操作过程中,当接收到针对后续设备页的翻页请求时,响应于该翻页请求,可以根据预先存储的位置映射关系,通过将版式页中的相应可视元素区域拷贝到设备页的相应位置中,即可生成与翻页请求对应的设备页。在一种优选实施例中,可根据可切分子区域的映射位置,将多个可切分子区域一次或多次地拷贝到设备页的相应位置中。从而避免了耗时的实时自适应重排计算过程,可以实现快速翻页,方便用户的使用并且增强了用户的翻页体验。
[0058]下面结合图4详细描述根据本申请实施例的对版式文档进行自适应重排的过程。参照图4,图4示出了根据本申请一个实施例的用于对版式文档进行自适应重排的方法400的流程图。
[0059]在步骤S410处,将当前版式行的可视元素区域划分成一个或多个可切分子区域。该步骤的处理类似于前面结合图3描述的步骤S330,这里不再赘述。
[0060]在划分成可切分子区域之后,针对各可切分子区域进行自适应重排。具体地,在步骤S420处,判断当前可切分子区域的宽度是否小于等于设备屏幕的宽度。在一种优选实施例中,设备屏幕的宽度可以是指不包括边白部分的有效显示区域宽度。
[0061]如果在步骤S420处判定当前可切分子区域的宽度大于设备屏幕的宽度,则进入步骤S430,缩小当前可切分子区域,直到小于等于设备屏幕的宽度为止之后,再对缩小后的可切分子区域进行自适应重排。即,在步骤S430后,进入步骤S440。
[0062]如果在步骤S420处判定当前可切分子区域的宽度小于等于设备屏幕的宽度,则进入步骤S440。
[0063]在步骤S440处,判断当前设备行的剩余宽度是否能够容纳当前可切分子区域。
[0064]如果在步骤S440处判定当前设备行的剩余宽度不能容纳下当前可切分子区域,则进入步骤S450,将下一设备行作为当前设备行继续进行重排,即返回步骤S440继续重排。
[0065]如果在步骤S440处判定当前设备行的剩余宽度能够容纳下当前可切分子区域,则进入步骤S460。
[0066]在步骤S460处,判断是否还存在当前版式行的可切分子区域。
[0067]如果在步骤S460处判定还存在当前版式行的可切分子区域,则进入步骤S470,获取下一可切分子区域作为当前可切分子区域继续进行重排,即返回步骤S440继续针对下一可切分子区域进行重排。
[0068]如果在步骤S460处判定不存在当前版式行的可切分子区域,则进入步骤S480,判断是否还存在下一版式行。
[0069]如果在步骤S480处判定还存在下一版式行,则进入步骤S490,切换到下一版式行继续进行重排,即,返回步骤S401继续针对下一版式行的可视元素区域进行重排。
[0070]根据本申请的实施例,在针对每个版式行进行重排之前,可以判断该版式行是否为版式段落的首行。如果是,则在下一设备行中缩进状态下开始对该版式行的自适应重排。如果否,则在当前设备行中开始对该版式行的自适应重排。由此确保实现不同版式页在设备页上的无缝接续。
[0071]如果在步骤S480处判定不存在下一版式行,则整个重排流程结束。
[0072]以上结合图1至图4描述了根据本申请实施例的用于展示版式文档的方法。与上述用于展示版式文档的方法类似,本申请实施例还提供相应的用于展示版式文档的装置。
[0073]参照图5,图5示出了根据本申请一个实施例的用于展示版式文档的装500的结构框图。
[0074]如图5所示,装置500可以包括图像生成模块510、图像识别模块520和重排模块530。
[0075]具体而言,图像生成模块510可以用于基于版式文档数据,生成版式文档中的每个版式页的图像。图像识别模块520可以用于从每个版式页的图像中识别出每个版式行的可视元素区域。重排模块530可以用于根据设备屏幕的尺寸,对每个版式行的可视元素区域进行重排,以生成用于展示版式文档的设备页。
[0076]根据本申请的实施例,图像识别模块520可以进一步包括:第一确定子模块,用于确定每个版式页的版心区域;以及第二确定子模块,用于从所述版心区域中确定每个版式行的可视元素区域。
[0077]根据本申请的更具体实施例,第一确定子模块可以进一步包括:第一识别和去除子模块,用于识别并去除版式页的边白部分;第二识别和去除子模块,用于识别并去除版式页的页眉和页脚部分;以及版心确定子模块,用于基于与背景色的比较,确定版式页的版心区域。
[0078]根据本申请的实施例,重排模块530可以进一步包括:映射关系确定子模块,用于根据设备屏幕的宽度和高度,对所述每个版式行的可视元素区域进行重排,以确定所述可视元素区域从所述版式页到设备页的位置映射关系;以及设备页生成子模块,用于根据所述位置映射关系,生成用于展示版式文档的设备页。
[0079]根据本申请的更具体实施例,映射关系确定子模块可以进一步包括:划分子模块,用于将当前版式行的所述可视元素区域划分成一个或多个可切分子区域;第一位置确定子模块,用于根据设备屏幕的宽度和所述可切分子区域的宽度,确定所述可切分子区域的设备行位置信息;第二位置确定子模块,用于根据设备屏幕的高度,确定所述可切分子区域的设备页位置信息;以及存储子模块,用于存储所述可切分子区域的所述设备行位置信息和所述设备页位置信息,作为所述可视元素区域从版式页到设备页的位置映射关系。
[0080]根据本申请的更具体实施例,设备页生成子模块可以进一步包括:复制子模块,用于根据存储的所述位置映射关系,通过将版本页中包括的可切分子区域的图像数据复制到设备页的相应位置,生成与所述翻页请求对应的设备页。
[0081]根据本申请的更具体实施例,第一位置确定子模块可以进一步包括检测子模块,用于:当当前可切分子区域的宽度小于等于设备屏幕的宽度时,检测当前设备行的剩余宽度是否能够容纳可视元素区域中的当前可切分子区域;如果否,则在下一设备行中容纳所述当前可切分子区域;以及如果是,则继续检测容纳所述当前可切分子区域后当前设备行的剩余宽度是否能够容纳可视元素区域中的行文方向上的下一可切分子区域。
[0082]根据本申请的更具体实施例,第一位置确定子模块可以进一步包括缩小子模块,用于:当当前可切分子区域的宽度大于设备屏幕的宽度时,将当前可切分子区域缩小,直至当前可切分子区域的宽度小于等于设备屏幕的宽度为止。
[0083]根据本申请的更具体实施例,映射关系确定子模块可以进一步包括判断子模块,用于:判断当前版式行是否为当前版式段落的首行;如果否,则在当前设备行中开始对当前版式行的可视元素区域进行重排;以及如果是,则在下一设备行中开始对当前版式行的可视元素区域进行
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1