具体实施方式
在对文档进行排版的过程中,经常会出现联动调整的现象,联动调整可以分为两类:
工程联动更改,指对整个书刊工程中某些排版对象的更改,从而引发工程中其他排版对象的更改,例如:索引条目内容的改变,引发索引文件页码的变化,进而需要重新调整目录条目的页码;某个章节文件内容的变化引发整个工程中交叉引用中的页码更新。
文件联动更改,指对章节文件中某些排版对象进行更改,从而引发文件中其他排版对象的更改,例如:图文互斥块的位置改变,引发被该块互斥的文字块重排;文件域内容的更新,引发域所在块的重新定位。
由于目前的排版软件提供联动调整的功能较少,导致排版人员需要手动对文档进行多次调整,才能够使文档达到预想的排版效果,而这会导致出版效率较低。
图1为本发明一示例性实施例示出的版式联动调整方法的流程图。
如图1所示,本实施例提供的版式联动调整方法包括:
步骤101,获取文档的当前排版状态,当前排版状态中包括至少一个排版特征,排版特征包括矫正标志。
其中,可以将本实施例提供的方法封装在软件中,该软件可以安装在具有计算功能的电子设备中,如计算机、平板电脑、智能手机等。本实施例提供的方法还可以以插件的形式设置在排版软件中,从而使排版软件能够执行本实施例提供的方法。用户可以在排版软件中打开需要排版的文档,用户可以根据需求对该文档的版式进行调整,在调整过程中,排版软件可以执行本实施例提供的方法,对于文档中具有联动调整的部分自动进行更改。当然,排版软件也可以根据自动调整后的文档,继续对其进行版式调整。
具体的,当用户使用排版软件打开文档后,该排版软件可以读取文档的排版状态。
进一步的,该文档可以用于出版纸质书刊,也可以用于出版电子书刊,该文档还可以用于出版纸质文章,也可以用于出版电子文章。若文档是用于出版书籍的大型文档,则可以认为该文档是工程文档;若文档适用于出版文章类的文件,则可以认为该文档是文件文档。
实际应用时,可以根据文档类型获取其排版状态。在文档中可以包括很多段落或插入的内容。例如,对于工程文档来说,其中可能具有多个插入的子文档,对于文件文档来说,其中可能具有多个段落。若文档对应与电子出版物,则其中还可以设置音频、视频等内容。
其中,文档中可以包括多个对象。例如,一幅插入的图片可以是一个对象,一个注释可以是一个对象,一个交叉索引可以是一个对象。可以预先设置有可能引发联动调整的预设对象类别,再根据预设类别在文档中获取关联对象。对于工程文档与文件文档来说,其中涉及的关联对象可能不同,因此,还可以针对不同类型的文档设置对应的预设类别,若文档为工程类别,则基于工程类别对应的预设对象类别在文档中确定关联对象。若文档为文件类别,则基于文件类别对应的预设对象类别在文档中确定关联对象。
在确定了关联对象后,可以获取关联对象的排版效果,并根据排版效果确定出该关联对象对应的矫正标志。例如,可以设置每类对象对应的正确排版效果,可以将获取的排版效果与正确排版效果进行比对,若一致,则认为该关联对象的排版正确,无需调整,否则,认为该关联对象的排版有误,需要调整。可以根据是否需要调整设置相应的矫正标志。例如,用文档中插入有目录对象,则目录对象对应的正确效果应当是章节名称的页码,与该章节名称实际所在页面页码一致,因此,可以获取目录中具体的内容进行比对,确定是否符合这一正确效果。
具体的,对于比较复杂的文档来说,其中可能会具有多个关联对象,因此,可以获取多个关联对象对应的排版效果以及矫正标志。此时,可以根据每个关联对象对应的排版效果以及矫正标志生成该关联对象的排版特征,例如,文档中包括N个关联对象,则可以得到N个排版特征,每个排版特征中包括关联对象的排版效果和矫正标志。
进一步的,该矫正标志中可以存储矫正值。具体可以根据获取的关联对象排版效果生成关联对象对应的矫正值。例如,判断需要对关联对象进行调整,则将矫正值设置为1,不需要调整,则将矫正值设置为0。
步骤102,根据矫正标志判断是否需要对文档进行矫正。
步骤103,根据矫正标志对应的排版特征对文档进行矫正。
进一步的,可以预先设置矫正值与是否需要矫正的对应关系,例如矫正值是1,则表示关联对象需要矫正,若矫正值为0,则表示关联对象不需要矫正。
若判断需要矫正,则执行步骤103。
实际应用时,每个矫正标志与一个关联对象对应,例如,若矫正标志的值为1,则表示其对应的关联对象需要调整。
其中,若需要矫正,则可以获取需要矫正的关联对象对应的类型,并获取这一类型对应的正确排版效果,然后根据该正确排版效果对该关联对象进行矫正。例如,目录中第一章节对应的页码是3,但是第一章节实际页码是4,则将目录中的第一章节对应的页码调整为4。
本实施例提供的方法用于联动调整版式,该方法由设置有本实施例提供的方法的设备执行,该设备通常以硬件和/或软件的方式来实现。
本实施例提供的版式联动调整方法,包括获取文档的当前排版状态,当前排版状态中包括至少一个排版特征,排版特征包括矫正标志;根据矫正标志判断是否需要对文档进行矫正,若是,则根据矫正标志对应的排版特征对文档进行矫正。本实施例提供的方法,通过获取文档的排版状态,能够得到文档中关联对象的排版特征,该排版特征包括关联对象对应的矫正值,该矫正值能够表示出关联对象的排版状态是否符合预期,若不符合,则根据预期的排版状态对文档进行调整,达到自动调整文档中关联对象排版的效果。
图2为本发明另一示例性实施例示出的版式联动调整方法的流程图。
如图2所示,本实施例提供的版式联动调整方法,包括:
步骤201,根据预设类型确定文档包括的关联对象,并获取关联对象的排版特征值;根据排版特征值确定关联对象对应的矫正标志。
其中,文档中可以包括多个对象,例如文档中的文本块可以是一个文本块对象,比如文档中的一个段落可以是一个文本块对象,用于标注引用文档的引用插入对象,目录插入对象等。
可以先确定预设类型,该预设类型的对象会引起文档中的关联调整。因此,可以根据预设类型确定出文档中所包括的关联对象。
还可以预先设置文档类型对应的预设类型,此时,可以先确定文档类型,再根据文档类型确定与其对应的预设类型,进而根据该预设类型确定出文档中包括的关联对象。
可以获取关联对象的排版特征值,排版特征值是指关联对象的排版效果。例如,一个图片插入对象与周边文字是否有重叠,与周边其他对象之间是否有空白区域等。
具体的,还可以根据获取的关联对象的排版特征值确定该关联对象对应的矫正标志。可以预先设置各个预设类型对象对应的排版效果,此时,可以根据获取的排版特征值与预设效果比对,若一致,则认为该关联对象不需要矫正,否则,可以认为该关联对象需要矫正。例如,若图片插入对象与周边的文字有重叠部分,此时,就可以认为该图片插入对象需要矫正,可以将矫正值确定为1,并根据该矫正值确定出矫正标志。
进一步的,可以根据矫正值确定矫正标志,具体可以根据矫正值调整矫正标志中的值。
实际应用时,若文档中包括多个关联对象,则可以得到多个排版特征值及其对应的矫正标志。为了能够区分各个排版特征值与矫正标志所属的对象,还可以将这些信息与关联对象的类型关联,例如,图片插入对象的陪伴特征值是xxx,矫正标志是xx。若文档中包括多个相同类型的关联对象,还可以为其编码从而能够对其进行区分。例如图片插入对象1、图片插入对象2等。
排版特征值包括以下至少一种:
目录特征值、索引特征值、交叉引用特征值、工程域特征值、页码特征值、章号特征值、文本变量特征值、页眉特征值、词条特征值、自动编号特征值、文件域内容特征值、自适应块特征值、文章续排特征值、图文互斥特征值、通栏穿透特征值。
其中,目录特征值用于描述目录条目对象的排版效果,包括级别、内容、页面引用、链接引用等。
索引特征值用于描述索引条目对象的排版效果,包括级别、排序、内容、页面引用、链接引用等。
交叉引用特征值,用于描述交叉引用条目对象的排版效果,包括内容、页面引用、链接引用、序号引用、参考引用等。
工程域特征值用于描述工程级出版元数据对象的排版效果,包括内容、格式等。
页码特征值用于描述文件中页码对象的排版效果,包括起始页码、页数、隐藏页码等。
章号特征值用于描述文件中章节编号对象的排版效果。
文本变量特征值用于描述文件中文本变量对象的排版效果,包括创建日期、修改日期、文档作者等。
页眉特征值用于描述文件中页眉对象的排版效果等。
词条特征值用于描述文件中词条对象的排版效果等。
自动编号特征值用于描述文件中编号对象的排版效果。
文件域内容特征值用于描述文件级出版元数据对象的排版效果,包括内容、格式等。
自适应块特征值,用于描述自适应块对象的排版效果。
文章续排特征值,用于描述续排文章对象的排版效果。
图文互斥特征值,用于描述图文互斥对象的排版效果。
通栏穿透特征值,用于描述通栏穿透对象的排版效果。
以上排版特征值几乎包括了文档中有可能出现的所有关联对象的特征值,关联对象的排版特征值可能包括以上一种或多种,还有可能包括除此以外的其他特征值。关联对象具体包括哪类的特征值与其所属类型有关,例如,对于插入的目录对象来说,其具有目录特征值。
步骤202,根据排版特征值、矫正标志确定关联对象的排版特征,根据每个关联对象对应的排版特征确定当前排版状态。
具体的,可以将关联对象的排版特征值与矫正标志进行拼接,得到该关联对象的排版特征。
进一步的,若文档中包括多个关联对象,则可以得到每个关联对象的排版特征,例如,具有N个关联对象,则能够获取N个排版特征。可以根据获取的所有排版特征确定出当前排版状态,例如,可以将获取的所有排版特征进行组合,得到当前排版状态。
实际应用时,本实施例提供的方法还包括:获取关联对象的排版类型;根据排版类型、排版特征值、矫正标志确定关联对象的排版特征。
关联对象的排版类型可以包括工程、文件、组件三种,若可以获取关联对象的排版类型,再将排版类型、排版特征值、矫正值进行组合,得到排版特征。再基于各个关联对象的排版特征得到当前排版状态,具体可以对排版特征进行组合,从而生成排版状态。
步骤203,将当前排版状态加入状态数组。
其中,可以预先设置用于存储排版状态的状态数组,可以将确定的当前排版状态存储到状态数组中。
步骤204,根据矫正标志判断是否需要对文档进行矫正。
若是,则执行步骤205。若否,则执行步骤206。
步骤204与步骤102的具体原理和实现方式类似,此处不再赘述。
步骤205,根据矫正值对应的关联对象的预设排版效果对关联对象进行矫正,以使矫正后的关联对象的排版特征值与预设排版效果相符。
具体的,若矫正标志中的值表示需要对文档进行矫正,则说明该矫正标志对应的关联对象需要进行调整,此时,可以获取矫正标志对应的关联对象的预设类型,并基于该预设类型确定预设排版效果,可以根据得到的排版效果对文档进行矫正。使得调整后的文档与预设排版效果相符,进而符合用户预期效果。
其中可以预先设置各个预设类型对象对应的预设排版效果。
步骤206,判断状态数组中是否包括重复的排版状态。
实际应用时,若基于矫正值初步判断不需要对文档进行矫正,则可以再根据状态数组中包括的所有状态进行二次判断。
状态数组用于存储文档的所有排版状态,当用户对版式进行调整后,可以自动获取文档的排版状态并作为当前排版状态。因此,可以判断状态数组中是否包括重复的排版状态,若是,则执行步骤208;若否,则执行步骤207。
步骤207,判断状态数组中排版状态是否超出预设阈值。
若状态数组中不包括重复的排版状态,则可以再根据排版状态进行判断,确定是否需要对文档的版式进行调整。
若是,则停止对所述文档进行矫正,否则根据矫正后的文档继续执行步骤201。若状态数组中的排版状态超出预设阈值,则说明当前文档具有一定的排版问题,导致无法自动为其进行调整,若由本方法继续自动对其进行调整有可能出现程序崩溃的情况,因此,若状态数组中的排版状态超出预设阈值则可以停止对文档进行调整,避免出现程序崩溃的问题。
步骤208,根据状态数组对文档进行矫正。
若状态数组中出现了重复的状态,则说明在对文档版式的调整过程中,出现了与历史排版状态相同的情况,此时,可以认为对关联对象的版式调整出现了闭环,导致由调整得到了历史排版状态。例如,第一次自动调整时将版式修改为了A,此时,根据联动调整的方式会将版式进行二次调整得到版式B,此时,可以根据联动调整方案继续对文档进行主动调整得到版式C,系统对文档再次进行自动调整得到版式D,此时,版式D有可能与版式A相同,即系统自动将文档调整回了历史排版状态,因此,可以根据状态数组对文档进行矫正。具体可以根据相同的排版状态找到关联对象,确定出是调整了哪些关联对象导致出现相同的排版状态,再对该关联对象进行调整。
可选的,在步骤205对所述文档进行矫正之后,还包括:
根据矫正后的所述文档继续执行所述获取文档的当前排版状态的步骤。从而循环对文档进行调整,直到排版状态符合预期排版效果为止。
图3为本发明一示例性实施例示出的版式联动调整装置的结构图。
如图3所示,本实施例提供的版式联动调整装置,包括:
获取模块31,用于获取文档的当前排版状态,所述当前排版状态中包括至少一个排版特征,所述排版特征包括矫正标志;
判断模块32,用于根据所述矫正标志判断是否需要对所述文档进行矫正;
若是,则矫正模块33根据所述矫正标志对应的所述排版特征对所述文档进行矫正。
本实施例提供的版式联动调整装置,包括:获取模块,用于获取文档的当前排版状态,当前排版状态中包括至少一个排版特征,排版特征包括矫正标志;判断模块,用于根据矫正标志判断是否需要对文档进行矫正;若是,则矫正模块根据矫正标志对应的排版特征对文档进行矫正。本实施例提供的装置,通过获取文档的排版状态,能够得到文档中关联对象的排版特征,该排版特征包括关联对象对应的矫正值,该矫正值能够表示出关联对象的排版状态是否符合预期,若不符合,则根据预期的排版状态对文档进行调整,达到自动调整文档中关联对象排版的效果。
本实施例提供的版式联动调整装置的具体原理和实现方式均与图1所示的实施例类似,此处不再赘述。
图4为本发明另一示例性实施例示出的版式联动调整装置的结构图。
如图4所示,在上述实施例的基础上,本实施例提供的版式联动调整装置,所述获取模块31具体用于:
根据预设类型确定所述文档包括的关联对象,并获取所述关联对象的排版特征值;
根据所述排版特征值确定所述关联对象对应的所述矫正标志;
根据所述排版特征值、所述矫正标志确定所述关联对象的排版特征,根据每个所述关联对象对应的所述排版特征确定所述当前排版状态。
所述排版特征值包括以下至少一种:
目录特征值、索引特征值、交叉引用特征值、工程域特征值、页码特征值、章号特征值、文本变量特征值、页眉特征值、词条特征值、自动编号特征值、文件域内容特征值、自适应块特征值、文章续排特征值、图文互斥特征值、通栏穿透特征值。
所述获取模块31还用于:
获取所述关联对象的排版类型;
根据所述排版类型、所述排版特征值、所述矫正标志确定所述关联对象的排版特征。
所述矫正模块33具体用于:
根据所述矫正值对应的所述关联对象的预设排版效果对所述关联对象进行矫正,以使矫正后的所述关联对象的排版特征值与所述预设排版效果相符。
本实施例提供的装置,还包括:
数组模块34,用于将所述当前排版状态加入状态数组;
若所述判断模块32根据所述矫正标志判断不需要对所述文档进行矫正,则第二判断模块35用于判断所述状态数组中是否包括重复的排版状态,若是,则所述矫正模块33根据所述状态数组对所述文档进行矫正。
若第二判断模块35判断所述状态数组中不包括重复的排版状态,则所述第二判断模块35还用于:
判断所述状态数组中的排版状态数量是否超出预设阈值,若是,则停止对所述文档进行矫正。
所述矫正模块33对所述文档进行矫正之后,所述获取模块31根据矫正后的所述文档继续执行所述获取文档的当前排版状态的步骤。
本实施例提供的版式联动调整装置的具体原理和实现方式均与图2所示的实施例类似,此处不再赘述。
图5为本发明一示例性实施例示出的版式联动调整设备的结构图。
如图5所示,本实施例提供的版式联动调整设备包括:
存储器51;
处理器52;以及
计算机程序;
其中,所述计算机程序存储在所述存储器51中,并配置为由所述处理器52执行以实现如上所述的任一种版式联动调整方法。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,
所述计算机程序被处理器执行以实现如上所述的任一种版式联动调整方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。