发明内容
针对现有技术中存在的问题,本发明的目的是提供一种面向出版的智能模板模型的建立方法,通过该方法能够实现版面描述模板与排版功能的分离,能够实现与不同排版软件之间基于模板的数据交互与共享。换句话说,采用本发明所述的方法能够使得基于模板技术的数据库出版系统不再依赖某个特定的排版软件,从而可以实现基于同一模板的数据一次整理、多次出版,发挥异种排版软件各自优势和实现网络协同出版。
本发明的目的是这样实现的:一种面向出版的智能模板模型的建立方法,包括以下步骤:
1)模板定义:通过特定排版软件所见即所得功能制作版面样式,选择指定区域定义为模板,设置模板及模板中版面块的相关属性;
2)模板泛化:按照步骤1)中保存的模板数据,转化为结构化数据描述的模板,设置模板的输出属性,生成不依赖于具体排版软件的泛化模板;
3)模板设置:设置模板及模板中版面块的属性,其中包括设置模板的数据结构定义属性、模板中版面块的数据映射属性,并且设置附加在上述属性设置上的动态处理规则和指令集;
4)模板使用:指定模板对应的数据源后,完成数据与版面样式的合成,输出到排版软件中,并且完成模板中设置的动态规则处理;
5)数据反馈:在版面生成之后按照版面映射定义,将排版版面的信息收集反馈到模板的结构化数据中。
进一步,步骤2)中,通过步骤1)定义的模板转化为结构化数据描述的模板时,其中区分模板中版面块为可变与不可变两种。
再进一步,步骤3)中可设置版面块显示属性、层属性、语言属性等以适应不同应用,非可变版面块记录特定排版软件的版面信息,针对不同排版软件记录信息不同,可变版面块不针对特定排版软件,但允许针对不同排版软件设置不同属性。
进一步,步骤3)中,设置模板及模板中版面块的属性是在步骤2)完成前定义的。
进一步,步骤3)中,数据定义、版面数据映射、指令处理集是作用在模板或者包含的版面块上的,动态处理规则是作用在数据定义、版面与数据映射、指令处理集上的。
进一步,步骤3)中,动态处理规则是结构化数据描述的,支持合并、分支操作,典型特征是具备回调支持功能。
进一步,步骤4)中,模板中动态规则处理区分为预处理与后处理,即在数据与版面样式合成之前为预处理,在数据与版面样式合成之后为后处理,规则处理的顺序由版面块生成顺序与规则本身属性综合决定。
进一步,步骤5)中,依据模板中版面块的数据映射定义,在模板与数据生成排版版面之后,将排版版面相关信息反馈到模板的结构化数据中。
本发明的效果在于:本发明所述的方法在智能报表技术及模板出版技术基础之上,通过建立独立于具体排版软件的智能模板模型,在异种排版软件之间建立了基于模板的数据交换桥梁。具体来说,本发明所述的方法具有以下一些显著效果:
1.通过本发明所述的方法建立起来的模板不再紧密依赖某个特定的排版软件(如Adobe Indesign、方正飞腾排版软件等),实现了在异种排版软件之间基于模板的数据交换和网络环境下的异种排版软件的协同组版。
2.本发明通过“动态规则集”技术应用,提高了模板版面生成的智能化程度,动态规则作用在数据定义、版面\数据映射、指令处理集上,从而在模板灵活性及适用性方面得到显著改善。
3.采用本发明,作用在模板与其包含的块上的属性设置及动态规则处理,使得模板支持不同语言层输出,能够同时支持多种排版软件输出,能够实现输出到多种打印媒体或者电子文档中,直接可变印刷输出,从而实现了数据的“一次整理多次出版”,大大提升了数据的利用价值,提高了数据出版效率。
本发明之所以具有上述的显著效果,其原因在于:本发明引入支持“动态规则”的结构化模板数据描述模型,该模型使得模板独立于具体排版软件,其意义在于通过建立符合版面处理描述需要的模板数据结构,通过数据定义、版面描述、数据映射、指令处理集以及作用在其上的动态规则,使得数据库出版系统能够灵活选择输出软件,实现网络环境下的协同组版以及可变数据印刷,能够在出版效率以及出版品质方面取得良好的平衡。
具体实施方式
下面结合说明书附图和具体实施方式对本发明作进一步的描述。
一种面向出版的智能模板模型的建立方法,包括以下步骤:
1)模板定义:通过特定排版软件所见即所得功能制作版面样式,选择指定区域定义为模板,设置模板及模板中版面块的相关属性,该步骤生成针对特定排版软件的模板,是基于模板出版技术的基本步骤。
通过支持所见即所得的排版软件进行模板样式制作,这是一般基于模板出版的基本方法,以降低模板的制作难度,这里的排版软件指可使用注解(Tag)或者块识别的版面生成软件,包括同时支持注解(Tag)或者块识别的如方正飞腾排版软件、Adobe Indesign、Microsoft Publisher等专业排版软件,支持注解识别的如Microsoft Word、Macromedia Dreamweaver等文字处理、网页制作软件,支持块识别的如Microsoft Visio等画图软件,通过以上软件提供相关识别功能的SDK或API等二次开发接口,编写针对特定排版软件的接插件以实现模板与数据合成之后,输出到特定的排版软件上,由此可见,针对不同的排版软件,必须存在有不同的接口处理程序。
2)模板泛化:按照步骤1)中保存的模板数据,转化为结构化数据描述的模板,设置模板的输出属性,生成不依赖于具体排版软件的泛化模板。通过步骤1)定义的模板转化为结构化数据描述的模板时,其中区分模板中版面块为可变版面块与不可变版面块两种。
本实施例中,涉及步骤2)中泛化之后模板模型的数据结构如附图1所示:模板由数据部分1、版面描述2、映射部分3、指令处理集部分4及作用在其上的动态规则集组成。其中数据部分1指模板可处理的结构化数据结构定义,从数据源抽取的数据必须转化为符合数据部分的结构定义;版面描述2包含可变元素21、非可变元素22,所述的元素包括:版面块及注解区域。模板可以由可视化的排版工具制作,将在排版软件上设置的可变部分由处理程序转化为模板统一识别的可变元素21,版面描述以结构化数据结构进行组织,以便于数据的层次化和数据格式转换,非可变元素22可以来自一种或者多种的排版软件的版面样式数据。映射部分3包含模板中可变元素21与数据部分定义的结构化数据结点的映射定义、指令部分4与排版软件接口的映射定义及与模板元素与排版软件注解之间的映射定义,通过映射定义实现由模板到排版软件版面的生成;指令处理集部分4包含版面生成过程中的可扩展功能指令部分41和排版软件功能指令42部分,其中可扩展功能指令部分41指向出版引擎通过接插件机制实现的可扩展功能,排版软件功能指令42指向排版软件本身提供的接口函数功能。动态规则集是模板中可以作用到数据部分1、版面描述2、映射部分3及指令部分4上的动态规则的集合。
本实施例中,制作出的模板不依赖于排版软件,模板数据最终流入到排版软件版面上,是通过模板中设置的映射到排版软件注解上,由排版软件完成最终版面生成,最终的版面效果则由排版软件支持的注解或版面块决定,本发明的这种模板不依赖于特定排版软件,是本发明区别于其他基于模板的出版技术的重要特征。
3)模板设置:设置模板及模板中版面块的属性,其中包括设置模板的数据结构定义属性、模板中版面块的数据映射属性,并且设置附加在上述属性设置上的处理规则和指令集;
具体来说,模板的定义流程图如附图2所示:51.将在可视化的排版软件上制作版面区域定义为模板;52.设置区分模板样式中的可变元素及非可变元素,可变元素即需要与数据源结点建立映射转换关系的模板元素,非可变元素即不与数据源数据发生转换关系的版面构成元素;53.定义模板中可以接受的数据格式及该结构化数据结点与模板可变元素之间的映射关系;54.定义模板构成元素,包括可变元素、非可变元素,与排版软件注解之间的映射关系;55.设置附加在模板上的各种自动处理指令与排版软件接口之间的映射关系;56.动态规则集设置,即设置作用在数据定义、版面\数据映射、指令处理集的各种作用动态规则集,这些规则作用在数据流入到模板中直到输出到版面上的自动判断与智能处理,设置完成之后可保存为模板。
上述流程图中的步骤51-54是模板制作过程中必不可少的操作步骤,流程图中步骤52-55是习惯步骤,没有前后步骤依赖,流程图中步骤56是在步骤52-55设置完成之后,设置作用在数据定义、版面数据映射、指令处理集上的动态规则,保存为模板之后,步骤52-56中的设定都可以后续修改。
本实施例中,模板中的“映射”包含如下三个方面:
1)数据结点与模板中定义的可变元素的映射;
2)可变元素与排版软件注解的映射;
3)模板中的操作指令与扩展功能指令及排版软件接口的映射。
模板中的“映射”关系如附图3所示:模板中可变元素与数据源结点之间通过映射关系完成数据流入到可变元素中;模板元素通过与排版注解的映射完成模板元素转换为排版软件可识别的注解;模板中定义的指令通过与排版软件接口的映射,处理版面效果。以上三个映射环节,都可以设置的动态规则集,以提高模板的排版智能化程度。
本实施例中采用的处理规则是结构化数据描述的,支持合并、分支操作,并具备回调支持功能,即规则抽象为参数、表达式与回调函数支持的方式,其中表达式固化判断规则、参数随数据输入变化、而通过支持回调函数的方式,支持复杂的判断计算和扩展的与具体业务逻辑相关的计算,并且规则的结构化组织方式,实现了规则的相互包含与调用,支持规则分支、合并、选择等规则合成操作,同时实现智能处理的规则支持结构化分组,这样针对输出到不同的排版软件能够使用不同的规则进行版面处理。规则通过分支、合并、选择等复杂关系实现复杂判断,这些规则可以灵活的扩展以适应具体应用的需要,本发明通过引入动态规则的技术,使得对于模板出版过程的处理通用化和适应能力更强,是本发明的另一个重要特征,以下列举部分典型规则应用效果:
1.作用在数据定义上的规则,可以完成数据结点之间的计算。如依据输入数据计算所有人员工资的总额。
2.作用到数据映射上,可以实现如果输入数据大于1000,则改变文字颜色为红色等。
3.作用到版面映射定义上,可以实现如文字是中文,则输出到中文层上、文字是英文则输出到英文层上,实现了多语言同时排版的等效果。
4.作用到指令处理集定义上,则可以实现:如果排版软件是方正FIT,则调用方正FIT的指令;如果排版软件是Adobe Indesign,则调用Adobe Indesign的指令,也能区分同一软件不同版本的指令。
5.作用到版面块上,则可以实现:如果块文字长度大于200字,则自动换行显示等效果,还能实现数据合成前的数据格式转换:如将“2000”转化为“贰千元整”等。
在本发明的实际应用中,还可以通过设置规则实现自动判断和异常报警处理,这是用户在使用过程中常用的功能,将大数据量的版面自动生成过程中智能处理所解决不了的问题,通过自动判断和异常报警处理通知排版人员进行手动修改与调整:如文字块流入文字数为0的时候,整个文字块以醒目的红色显示,提示用户该区域可能有错从而提醒用户检查和处理。
本发明为达到处理模板元素之间相互关系,通过设置在模板元素上的属性来实现。以下列举了三个重要的属性应用:
(1).元素分层属性,即模板元素逻辑的分属于不同的层。同一元素允许属于多个层。通过设定按照层方式输出,则可以将所有非可变元素放置在一个层上,可变元素放置在一个层上,这样分别输出支持可变数据印刷;设置模板元素的不同层属性可以应用于不同语言、不同地区的版面输出,如设置语言属性为中文,则该元素仅输出到中文版面上,在英文版面上不输出。
(2).元素的非可见属性,即元素参与版面生成,并且在版面上实际占位,但是元素是非可见的。这种特定的元素主要用于在可见元素之间传递作用规则,以实现可见元素之间复杂的依存关系的传递,典型的应用如设置非可见的排版块,实现排版元素之间相邻、包含、互斥等多种关系的复杂传递,从而能够实现较为复杂的自动版面处理,在具体的版面生成过程中,这种块起到占位、参照以及传递规则的作用,典型的应用如:丙块对齐甲、乙块的最长右边,则通过设置一个包含甲、乙块的虚拟块,丙块对齐该虚拟块的右边,这样即使在甲、乙块只出现一个块或者全部不显示的时候,也能够很好的对齐版面而避免了版面错乱。
(3).元素的自定义扩展属性,即设置元素的自定义属性,实现多语言、多区域的数据一次整理,差异性出版;如设置语言扩展属性,在版面生成输出的时候,可设置分层属性基础之上添加语言属性限制实现多语言输出,设置区域属性,实现地区差异性出版,如通过设定在版面块上的规则可实现可变数据印刷:即设置模板中非可变元素输出到一个基本版面上,可变元素输出到一个新的版面上,可变印刷设备将基本版面与可变元素版面合成,生成完整版面,这样仅传输了可变元素的新版面,实现了快速的可变数据印刷。
4)模板使用:指定模板对应的数据源后,完成数据与版面样式的合成,输出到排版软件中,并且完成模板中设置的动态规则处理。
模板的应用如附图3所示:读取模板61后,然后由数据源62中抽取数据,这里的数据源可以是0racle、SQL Server等数据库,也可以是Excel表格或者是Text文件等,数据组织成为符合模板可接受的数据格式要求的结构化数据形式,映射到模板中的可变元素63中,之后模板元素64中的可变元素与非可变元素,均依据映射生成排版数据65最终生成排版版面68;如果模板或者模板中可变元素非可变元素设置有处理指令66,则进行处理处理,设置的回调函数指令,则通过映射调用排版软件中的版面处理指令67进行处理,最终生成排版版面68。
上述过程中模板元素4中的非可变元素记录特定排版软件的版面信息,针对不同排版软件记录信息不同,可变元素记录的是泛化后的格式数据,不针对特定排版软件,但允许针对不同排版软件设置不同属性,这样流入到不同排版软件时,可以利用不同排版软件的特有的功能处理。
5)数据反馈:在版面生成之后按照版面映射定义,将排版版面的信息收集反馈到模板的结构化数据中。
本发明还通过版面映射定义支持版面数据位置、内容以及修改的反馈,反馈的数据保存到结构化数据的模板指定位置上,版面数据返回主要应用于版面各种索引的生成、目录生成、版面统计等,以及从版面收集的数据与原始数据源进行数据同步,该步骤非必要的步骤,依据模板应用需要决定。
本发明是一种基于网络应用的面向出版的动态映射模板模型的建立方法,按照本发明模型进行设计和依据此方法,可以达到版面样式的复用和异种排版软件之间基于模板的数据交互与协同,其特征是结构化数据的模板不依赖于具体排版软件,版面块上数据定义、版面\数据映射、指令处理集,设置附加在上述设置上的动态处理规则,也属于本发明的创新范围。
本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。