具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
图1为本发明自动排版方法实施例一的流程图,如图1所示,则本实施例提供的自动排版方法的执行主体为自动排版装置,该自动排版装置可集成或安装在计算机、笔记本电脑或服务器中,则本实施例提供的自动排版方法包括以下几个步骤。
步骤101,根据待排版内容设置所有章节涉及的主页模板,主页模板中包括:版式布局框架及待排版内容的XML标签信息。
具体地,所有章节涉及的主页模板类型可以包括:正文主页模板、目录主页模板、索引主页模板、具有一个或多个对象组件的主页模板中的任意一种或多种。其中,对象组件为:图片、表格或公式。主页模板的类型根据待排版内容也可以有其他类型,本实施例中对此不做限定。
其中,在主页模板中包括版式布局框架,版式布局框架可以包括:文本框架和装饰图形等。其中,文本框架可以利用主文字流块、图片占位块和文字工具进行绘制。装饰图形可以利用图形工具和钢笔工具进行绘制。
待排版内容的XML标签信息唯一表示待排版内容XML的信息。
步骤102,根据每个章节主页模板的排布顺序,对每个章节的主页模板进行拼合。
具体地,本实施例中,每个章节的主页模板的类型和排布顺序不尽相同。根据每个章节涉及到的主页模板的类型和顺序,将每个章节的主页模板进行拼合。
举例说明为:对于正文章节,其对应的主页模板可以包括:正文主页模板和具有一个或多个对象组件的主页模板。该正文章节的待排版内容中,正文主页模板对应的待排版内容位于具有一个或多个对象组件的主页模板的待排版内容前,则按照先正文主页模板后具有一个或多个对象组件的主页模板的顺序,对该章节的主页模板进行拼合。
步骤103,将每个章节的待排版内容根据XML标签信息填充到对应的章节的主页模板的版式布局框架对应的容器中,形成每个章节的排版文件。
具体地,本实施例中,预先将待排版内容划分成与每个章节相对应的待排版内容,并对每个章节的待排版内容标记XML标签信息。所以将每个章节的待排版内容根据XML标签信息填充到对应的章节的主页模板的版式布局框架对应的容器中,形成每个章节的排版文件。
需要说明的是,对于版式布局框架的文本框架的容器中填充的待排版内容,可将待排版内容的主文字流块的内容进行自动串接,不断地填充到正文主页模板中的文本框架的容器中,直到填充完为止。
步骤104,根据每个排版文件的排版参数信息,将所有章节的排版文件进行拼合。
具体地,本实施例中,可根据是否需要在两个排版文件之间有填充页的排版参数信息,每个排版文件的首页是否要求首页暗码的排版参数信息,将所有章节的排版文件进行拼合。在对多有章节的排版文件进行拼合时,还可依照其他的排版参数信息,本实施例中对此不做限定。
步骤105,更新每个排版文件的页码和页码信息,完成自动排版。
具体地,本实施例中,由于每个排版文件均是独立形成的,所以每个排版文件的页码并不连续,所以可根据每个排版文件的总页数更新每个排版文件的页码。
本实施例中,若具有目录排版文件和索引排版文件。则目录排版文件和索引排版文件对应的页码信息也是不准确的,所以根据更新后每个排版文件的页码,对目录排版文件和索引排版文件对应的页码信息进行更新。
本实施例提供的自动排版方法,通过根据待排版内容设置所有章节涉及的主页模板,主页模板中包括:版式布局框架及待排版内容的XML标签信息;根据每个章节主页模板的排布顺序,对每个章节的主页模板进行拼合;将每个章节的待排版内容根据XML标签信息填充到对应的章节的主页模板的版式布局框架对应的容器中,形成每个章节的排版文件;根据每个排版文件的排版参数信息,将所有章节的排版文件进行拼合;更新每个排版文件的页码和页码信息,完成自动排版。由于所有章节共用主页模板,可对主页模板进行统一设置,并且每个章节对应的排版文件可独立生成后,完成自动排版,缩短了排版周期,提高了排版效率,实现了排版的自动化。
图2为本发明自动排版方法实施例二的流程图,如图2所示,本实施例提供的自动排版方法,是在本发明自动排版方法实施例一的基础上,对步骤103-步骤104的进一步细化,并且增加了对每个章节的待排版内容标记XML标签信息的步骤,则本实施例提供的自动排版方法包括以下步骤。
步骤201,将待排版内容划分成与每个章节相对应的待排版内容。
步骤202,对每个章节的待排版内容标记XML标签信息。
步骤203,根据待排版内容设置所有章节涉及的主页模板,主页模板中包括:版式布局框架及待排版内容的XML标签信息。
进一步地,结合步骤201-步骤203对本实施例进行说明。本实施例中,首先对待排版内容根据章节进行划分,然后对每个章节的待排版内容标记XML标签信息,并在主页模板中也携带待排版内容的XML标签信息,则在对每个章节对应的主页模板的版式布局框架中填充待排版内容时,每种类型的主页模板不区分章节,可重复利用,缩短了主页模板的设置周期。
其中,待排版内容的XML标签信息可根据待排版内容的类型进行标记,也可通过其他信息进行标记。
进一步地,本实施例中,主页模板类型包括以下模板的任意一种或多种:
正文主页模板、目录主页模板、索引主页模板、具有一个或多个对象组件的主页模板;其中,对象组件为:图片、表格或公式;
排版文件的类型包括:正文排版文件、目录排版文件和/或索引排版文件。
步骤204,根据每个章节主页模板的排布顺序,对每个章节的主页模板进行拼合。
步骤205,将每个章节的待排版内容根据XML标签信息填充到对应的章节的主页模板的版式布局框架对应的容器中,形成每个章节的排版文件。
本实施例中,步骤204-步骤205的实现方式与本发明自动排版方法实施例一中的步骤102-步骤103的实现方式相同,在此不再一一赘述。
步骤206,根据每个排版文件的排版参数信息,将所有章节的排版文件进行拼合。
进一步地,本实施例中,根据每个排版文件的排版参数信息,将所有章节的排版文件进行拼合具体包括:
根据每个正文排版文件的总页数判断进行拼合后每个正文排版文件的首页是否位于右页;
若存在有正文排版文件的首页位于左页,则在首页位于左页的正文排版文件的前面添加填充页,以使所有正文排版文件的首页位置位于右页;
将所有章节的排版文件进行拼合。
具体地,在对多有排版文件进行拼合时要考虑排版后每个排版文件的首页是否位于右页,以满足读者的阅读习惯,所以本实施例中,将首页位于左页的正文排版文件的前面添加填充页,以使所有正文排版文件的首页位置位于右页。
其中,该填充页可以为空白页。
步骤207,更新每个排版文件的页码或页码信息,完成自动排版。
进一步地,本实施例中,更新每个排版文件的页码和页码信息,完成自动排版具体包括:
根据每个正文排版文件的总页数及填充页信息更新每个正文排版文件的页码,使所有正文排版文件的页码连续;
更新目录排版文件和/或索引排版文件的页码信息。
具体地,本实施例中,由于每个排版文件的形成是独立的,所以每个排版文件的页码均是以该排版文件为基准形成的,所以在对正文排版文件拼合时,根据每个正文排版文件的总页数及填充页信息更新每个正文排版文件的页码,使所有正文排版文件的页码连续。由于目录排版文件或索引排版文件中每个目录或索引下指向的页码信息也是不准确的,所以在对正文排版文件进行拼合并对页码进行更新后,更新目录排版文件和/或索引排版文件的页码信息,完成待排版内容的自动排版。
本实施例提供的自动排版方法,通过将待排版内容划分成与每个章节相对应的待排版内容,对每个章节的待排版内容标记XML标签信息,根据待排版内容设置所有章节涉及的主页模板,主页模板中包括:版式布局框架及待排版内容的XML标签信息,根据每个章节主页模板的排布顺序,对每个章节的主页模板进行拼合,将每个章节的待排版内容根据XML标签信息填充到对应的章节的主页模板的版式布局框架对应的容器中,形成每个章节的排版文件,根据每个排版文件的排版参数信息,将所有章节的排版文件进行拼合,更新每个排版文件的页码或页码信息,完成自动排版,使每种类型的主页模板不区分章节,可重复利用,缩短了主页模板的设置周期,进而进一步提高了排版效率,实现了排版的自动化。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图3为本发明自动排版装置实施例一的结构示意图,如图3所示,本实施例提供的装置包括:设置模块31,拼合模块32,填充模块33和更新模块34。
其中,设置模块31,用于根据待排版内容设置所有章节涉及的主页模板,主页模板中包括:版式布局框架及待排版内容的XML标签信息。拼合模块32,用于根据每个章节主页模板的排布顺序,对每个章节的主页模板进行拼合。填充模块33,用于将每个章节的待排版内容根据XML标签信息填充到对应的章节的主页模板的版式布局框架对应的容器中,形成每个章节的排版文件。拼合模块32,还用于根据每个排版文件的排版参数信息,将所有章节的排版文件进行拼合。更新模块34,用于更新每个排版文件的页码和页码信息,完成自动排版。
本实施例提供的自动排版装置可以执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图4为本发明自动排版装置实施例二的结构示意图,如图4所示,本实施例在本发明自动排版装置实施例一的基础上,还包括:划分模块41和标记模块42。
进一步地,划分模块41,用于将待排版内容划分成与每个章节相对应的待排版内容。标记模块42,用于对每个章节的待排版内容标记XML标签信息。
其中,主页模板类型包括以下模板的任意一种或多种:
正文主页模板、目录主页模板、索引主页模板、具有一个或多个对象组件的主页模板;其中,对象组件为:图片、表格或公式;
排版文件的类型包括:正文排版文件、目录排版文件和/或索引排版文件。
进一步地,拼合模块32,具体用于:根据每个正文排版文件的总页数判断进行拼合后每个正文排版文件的首页是否位于右页;若存在有正文排版文件的首页位于左页,则在首页位于左页的正文排版文件的前面添加填充页,以使所有正文排版文件的首页位于右页;将所有章节的排版文件进行拼合。
进一步地,更新模块34,具体用于:根据每个正文排版文件的总页数及填充页信息更新每个正文排版文件的页码,使所有正文排版文件的页码连续;更新目录排版文件和/或索引排版文件的页码信息。
本实施例提供的自动排版装置可以执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。