组图的排版方法及装置
技术领域
本发明实施例涉及自动化排版技术领域,尤其涉及一种组图的排版方法及装置。
背景技术
在复合出版领域,要求以结构化数据为核心,对结构化数据进行加工,并在数据加工环节尽量减少重复手工劳动,提升数据加工的效率和可复用性。最终形成一套架构统一、数据统一、运行高效、配置灵活的自动化排版系统。
其中,对于科技书刊、期刊类读物,会存在很多组图,但现有的自动化排版系统中,并没有针对组图数据进行排版的有效方法,导致排版后的组图并不能统一展现,而是零散分布的,不能达到组图排版整齐划一并且美观的效果,并且对于超高度的组图,只能整体放入下一个空白页或空白栏中,不能实现流内的连续性,使用户的阅读体验较差。
发明内容
本发明实施例提供一种组图的排版方法及装置,解决了现有技术中的自动排版系统中并没有针对组图数据进行排版的有效方法,导致排版后的组图并不能统一展现,不能达到组图排版整齐划一并且美观的效果,并且对于超高度的组图,不能实现流内的连续性,使用户的阅读体验较差的技术问题。
本发明实施例提供一种组图的排版方法,包括:
获取组图的初步拓扑数据;
根据所述初步拓扑数据确定各组件的排版数据;
根据所述各组件的排版数据确定各空对象的排版数据;
根据所述各组件的排版数据及所述各空对象的排版数据设置表格;
将所述各组件及所述各空对象设置到对应的表格中。
进一步地,如上所述的组图的排版方法,所述各组件的排版数据包括:各组件的四周间距数据及各组件的宽度及高度数据;
所述根据所述初步拓扑数据确定各组件的排版数据,具体包括:
根据所述初步拓扑数据确定各组件的四周间距数据;
根据所述初步拓扑数据获取所述各组件的宽度及高度数据。
进一步地,如上所述的组图的排版方法,所述各空对象的排版数据包括:各空对象的位置数据,宽度数据和高度数据;
所述根据所述各组件的排版数据确定各空对象的排版数据,具体包括:
根据所述初步拓扑数据确定存在跨行的组件集合;
确定跨行的组件集合内需要填充的各空对象的位置数据和宽度数据;
按照居中聚集的策略计算各组件居中偏移后需要填充的各空对象的位置数据和宽度数据;
获取各空对象的高度数据。
进一步地,如上所述的组图的排版方法,所述根据所述各组件的排版数据及所述各空对象的排版数据设置表格,具体包括:
根据所述各组件的排版数据和各空对象的排版数据确定表格的行数、列数、各行高度及各列宽度;
根据所述各组件的排版数据和各空对象的排版数据对需要合并的单元格进行合并。
进一步地,如上所述的组图的排版方法,所述将所述各组件及所述各空对象设置到对应的表格中之后,还包括:
设置组图及各组件的图题和图注的文字样式和段落样式;
输出排版后的组图。
本发明实施例提供一种组图的排版装置,包括:
获取模块,用于获取组图的初步拓扑数据;
第一确定模块,用于根据所述初步拓扑数据确定各组件的排版数据;
第二确定模块,还用于根据所述各组件的排版数据确定各空对象的排版数据;
第一设置模块,用于根据所述各组件的排版数据及所述各空对象的排版数据设置表格;
第二设置模块,还用于将所述各组件及所述各空对象设置到对应的表格中。
进一步地,如上所述的组图的排版装置,所述各组件的排版数据包括:各组件的四周间距数据及各组件的宽度及高度数据;
所述第一确定模块,具体用于:根据所述初步拓扑数据确定各组件的四周间距数据;根据所述初步拓扑数据获取所述各组件的宽度及高度数据。
进一步地,如上所述的组图的排版装置,所述各空对象的排版数据包括:各空对象的位置数据,宽度数据和高度数据;
所述第二确定模块,具体用于:根据所述初步拓扑数据确定存在跨行的组件集合;确定跨行的组件集合内需要填充的各空对象的位置数据和宽度数据;按照居中聚集的策略计算各组件居中偏移后需要填充的各空对象的位置数据和宽度数据;获取各空对象的高度数据。
进一步地,如上所述的组图的排版装置,所述第一设置模块,具体用于:
根据所述各组件的排版数据和各空对象的排版数据确定表格的行数、列数、各行高度及各列宽度;根据所述各组件的排版数据和各空对象的排版数据对需要合并的单元格进行合并。
进一步地,如上所述的组图的排版装置,还包括:
第三设置模块,用于设置组图及各组件的图题和图注的文字样式和段落样式;
输出模块,用于输出排版后的组图。
本发明实施例提供一种组图的排版方法及装置,通过获取组图的初步拓扑数据;根据所述初步拓扑数据确定各组件的排版数据;根据所述各组件的排版数据确定各空对象的排版数据;根据所述各组件的排版数据及所述各空对象的排版数据设置表格;将所述各组件及所述各空对象设置到对应的表格中,由于在各组件间补入空对象,能够使组图排版达到整齐划一并且美观的效果。而且采用表格承载组图中的组件和空对象。由于表格能够自动拆分成多个续表,如果组图组件超高,能够流到下一页或下一栏,能够满足组图的连续性要求,提高用户的阅读体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明组图的排版方法实施例一的流程图;
图2为本发明组图样例示意图;
图3为本发明组图的排版方法实施例二的流程图;
图4为执行步骤301前的组图示意图;
图5为跨行的组件集合内进行空对象填充后的示意图;
图6为按照居中聚集的策略对各组件居中偏移并填充各空对象后的示意图;
图7为执行完步骤308后的示意图;
图8为本发明组图的排版装置实施例一的结构示意图;
图9为本发明组图的排版装置实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
图1为本发明组图的排版方法实施例一的流程图,如图1所示,本实施例的执行主体为组图的排版装置,该组图的排版装置可以集成在终端设备、计算机或服务器中,则本实施例提供的组图的排版方法包括以下几个步骤。
步骤101,获取组图的初步拓扑数据。
其中,图2为组图的样例示意图,如图2所示,组图的特点为:多幅组图中的组件一起显示,不可拆分,并且组图中每个组件的宽度基本相同,形状相似,再者组图中的每个组件可以存在图题和图注,组图可以存在总图题和总图注。
其中,初步拓扑数据为组图每行所展现的组件的信息。例如组图的初步拓扑数据为:组件1,组件3;组件2,组件3;组件4,组件5,组件6;组件7,组件8。其表示组图有八个组件,第一行展现的组件为组件1和组件3,第二行展现的组件为组件2和组件3,第三行展现的组件为组件4,组件5,组件6,第四行展现的组件为组件7和组件8。本实施例中,初步拓扑数据中每个组件之间以及每行组件之间的分隔符还可以为其他分隔符,如顿号,空格等,本实施例中对此不做限定。
本实施例中,可通过接收用户输入的初步拓扑数据的方式获取组图的初步拓扑数据,也可以从预设存储区域获取初步拓扑数据,本实施例中对此不做限定。
步骤102,根据初步拓扑数据确定各组件的排版数据。
其中,各组件的排版数据包括:各组件的四周间距数据及各组件的宽度及高度数据。
具体地,各组件的四周间距数据包括:上、下、左、右间距。均可设置为固定数值。特别地,若组件为组图的每行的第一个组件,则该组件的左间距为0,若组件为组图的每行的最后一个组件,则该组件的右间距为0。
步骤103,根据各组件的排版数据确定各空对象的排版数据。
其中,各空对象的排版数据包括:各空对象的位置数据,宽度数据和高度数据。
本实施例中,确定的各空对象包括:跨行的组件集合内需要填充的各空对象和按照居中聚集的策略计算各组件居中偏移后需要填充的各空对象。
步骤104,根据各组件的排版数据及各空对象的排版数据设置表格。
本实施例中,采用表格承载组图中的组件和空对象。该表格可以为无线表格。由于表格能够自动拆分成多个续表,如果组图组件超高度,需要流到下一页或下一栏,能够满足组图的连续性要求。
具体地,本实施例中,首先创建表格,然后根据各组件的排版数据及各空对象的排版数据调整表格的列宽和行高,并根据各组件和各空对象的排版数据,获知是否有组件或空对象占据多个单元格,若确定有组件或空对象占据多个单元格,则对对应的单元格进行合并。
步骤105,将各组件及各空对象设置到对应的表格中。
具体地,本实施例中,根据各组件的排版数据和各空对象的排版数据,获取每个组件或空对象占据的单元格,将各组件和各空对象设置到对应的表格中。
本实施例提供的组图的排版方法,通过获取组图的初步拓扑数据;根据初步拓扑数据确定各组件的排版数据;根据各组件的排版数据确定各空对象的排版数据;根据各组件的排版数据及各空对象的排版数据设置表格;将各组件及各空对象设置到对应的表格中,由于在各组件间补入空对象,能够使组图排版达到整齐划一并且美观的效果。而且采用表格承载组图中的组件和空对象。由于表格能够自动拆分成多个续表,如果组图组件超高度,能够流到下一页或下一栏,能够满足组图的连续性要求,提高用户的阅读体验。
图3为本发明组图的排版方法实施例二的流程图,如图3所示,本实施例提供的组图的排版方法,是在本发明组图的排版方法实施例一的基础上,对步骤102-步骤104的进一步细化,则本实施例提供的组图的排版方法包括以下步骤。
步骤301,获取组图的初步拓扑数据。
本实施例中,步骤301的实现方式与本发明组图的排版方法实施例一中的步骤101的实现方式相同,在此不再一一赘述。
为了对本实施例中的组图的排版方法进行更全面地介绍,本实施例中进行举例说明。其中,初步拓扑数据举例为:组件1,组件3;组件2,组件3;组件4,组件5,组件6;组件7,组件8。则图4为执行步骤301前的组图示意图。
步骤302,根据初步拓扑数据确定各组件的四周间距数据。
进一步地,各组件的排版数据包括:各组件的四周间距数据及各组件的宽度及高度数据。
具体地,根据初步拓扑数据判断各组件是否为每行的第一个组件,若是,则该组件的左间距数据为零,并判断各组件是否为每行的最后一个组件,若是,则该组件的右间距数据为零,若某组件既不为每行的第一个组件也不为最后一个组件,则该组件的四周间距数据均为设定的固定值。
步骤303,根据初步拓扑数据获取各组件的宽度及高度数据。
进一步地,本实施例中,按照初步拓扑数据中各组件的顺序依次获取各组件的宽度和高度数据。
步骤304,根据初步拓扑数据确定存在跨行的组件集合。
进一步地,本实施例中,若初步拓扑数据中有多行包括同一组件,则说明存在跨行的组件集合,该多行包括同一组件的组件集合为跨行组件集合。例如在图4中,组件1、组件2和组件3就构成了跨行的组件集合。
步骤305,确定跨行的组件集合内需要填充的各空对象的位置数据和宽度数据。
进一步地,本实施例中,跨行的组件集合内需要填充的空对象的组件为该跨行组件集合中的一个或多个非跨行组件。若在该跨行的组件集合内某非跨行组件的宽度最大,则该非跨行组件不需要进行空对象的填充,若该非跨行组件的宽度并非最大,则需要对该非跨行组件进行空对象的填充,具体该空对象的填充位置为该非跨行组件的左侧或右侧,使该非跨行组件和该空对象的宽度之和与宽度最大的非跨行组件的宽度相等,并且达到和非跨行的不需要进行空对象填充的组件达到对齐的效果。图5为跨行的组件集合内进行空对象填充后的示意图,在图5中对组件1进行了填充,使填充后的组件1和组件2的宽度相同,并且达到了对齐的效果。
进一步地,确定跨行的组件集合内需要填充的各空对象的宽度数据,具体包括:
首先,获取跨行的组件集合内的各行非跨行组件的最大宽度数据。
其次,确定需要填充的各空对象的宽度数据为对应的最大宽度数据和对应的组件的宽度数据的差值数据。
步骤306,按照居中聚集的策略计算各组件居中偏移后需要填充的各空对象的位置数据和宽度数据。
进一步地,本实施例中,为了使整个组图中的各组件整体居中呈现,按照居中聚集的策略计算各组件居中偏移后需要填充的各空对象的位置数据和宽度数据。具体地,各空对象的位置在每行的第一个组件的左侧位置或最后一个组件的右侧位置,每个空对象的宽度能够使组图的每行组件的宽度、组件间隔和空对象的宽度之和相等。图6为按照居中聚集的策略对各组件居中偏移并填充各空对象后的示意图。在图6中,为了使整个组图中的各组件整体居中呈现,又在组件1、组件2、组件7的左侧,组件3及组件8的右侧均进行了空对象的填充。
步骤307,根据各组件的排版数据和各空对象的排版数据确定表格的行数、列数、各行高度及各列宽度,并根据各组件的排版数据和各空对象的排版数据对需要合并的单元格进行合并。
进一步地,根据各组件的排版数据中各组件的初步拓扑数据、宽度数据及高度数据,及各空对象的位置数据、高度数据及宽度数据,确定表格的行数、列数、各行高度及各列宽度。并根据各组件及各空对象的排版数据,对占据了多个单元格的同一组件或空对象进行单元格合并。
步骤308,将各组件及各空对象设置到对应的表格中。
具体地,根据各组件的初步拓扑数据及各空对象的位置数据,将各组件及空对象设置到对应的表格中。其中,图7为执行完步骤308后的示意图。由于在实际应用中采用了无线表格,所以在图7中不能看出表格,并且空对象呈现出来的也是一个空白区域。
步骤309,设置组图及各组件的图题和图注的文字样式和段落样式。
进一步地,由于每个组图不仅有组件,每个组件还有图题和图注,整个组图也有图题和图注,所以设置组图及各组件的图题和图注的文字样式和段落样式。
步骤310,输出排版后的组图。
进一步地,可以以显示屏的形式输出排版后的组图。
本实施例提供的组图的排版方法,通过获取组图的初步拓扑数据,根据初步拓扑数据确定各组件的四周间距数据,根据初步拓扑数据获取各组件的宽度及高度数据,根据初步拓扑数据确定存在跨行的组件集合,确定跨行的组件集合内需要填充的各空对象的位置数据和宽度数据,按照居中聚集的策略计算各组件居中偏移后需要填充的各空对象的位置数据和宽度数据,根据各组件的排版数据和各空对象的排版数据确定表格的行数、列数、各行高度及各列宽度,并根据各组件的排版数据和各空对象的排版数据对需要合并的单元格进行合并,将各组件及各空对象设置到对应的表格中,设置组图及各组件的图题和图注的文字样式和段落样式,输出排版后的组图,不仅能够使组图排版达到整齐划一且美观的效果,而且能够使整个组图位于居中位置,进一步提高了用户的阅读体验。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图8为本发明组图的排版装置实施例一的结构示意图,如图8所示,本实施例提供的装置包括:获取模块81,第一确定模块82,第二确定模块83,第一设置模块84及第二设置模块85。
其中,获取模块81,用于获取组图的初步拓扑数据。第一确定模块82,用于根据初步拓扑数据确定各组件的排版数据。第二确定模块83,还用于根据各组件的排版数据确定各空对象的排版数据。第一设置模块84,用于根据各组件的排版数据及各空对象的排版数据设置表格。第二设置模块85,还用于将各组件及各空对象设置到对应的表格中。
本实施例提供的组图的排版装置可以执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本发明组图的排版装置实施例二的结构示意图,如图9所示,本实施例提供的组图的排版装置在本发明组图的排版装置实施例一的基础上,进一步地,还包括:第三设置模块91和输出模块92。
进一步地,本实施例提供的组图的排版装置中,各组件的排版数据包括:各组件的四周间距数据及各组件的宽度及高度数据。
进一步地,本实施例提供的组图的排版装置中,各空对象的排版数据包括:各空对象的位置数据,宽度数据和高度数据。
进一步地,第一确定模块82,具体用于:根据初步拓扑数据确定各组件的四周间距数据;根据初步拓扑数据获取各组件的宽度及高度数据。
进一步地,第二确定模块83,具体用于:根据初步拓扑数据确定存在跨行的组件集合;确定跨行的组件集合内需要填充的各空对象的位置数据和宽度数据;按照居中聚集的策略计算各组件居中偏移后需要填充的各空对象的位置数据和宽度数据;获取各空对象的高度数据。
进一步地,第一设置模块84,具体用于:根据各组件的排版数据和各空对象的排版数据确定表格的行数、列数、各行高度及各列宽度;根据各组件的排版数据和各空对象的排版数据对需要合并的单元格进行合并。
进一步地,第三设置模块91,用于设置组图及各组件的图题和图注的文字样式和段落样式。输出模块92,用于输出排版后的组图。
本实施例提供的组图的排版装置可以执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。