用于将流式排版内容转换为块式排版文档的方法和装置的制作方法

文档序号:6336104阅读:174来源:国知局
专利名称:用于将流式排版内容转换为块式排版文档的方法和装置的制作方法
技术领域
本发明涉及印刷领域,具体而言,涉及用于将流式排版内容转换为块式排版文档的方法和装置。
背景技术
当前书籍的排版普遍采用的是流式的排版流程,通过排版软件将内容按照顺序组织,采用排版软件的排版引擎,将复杂内容输出为可读的印刷文档或者电子文档。然而一般的用于展示的幻灯片工具,如PowerPoint的排版功能比较简单,一般只支持块式的效果, 每个块中不支持复杂内容的混排,因而,如果要表达原始书籍中的复杂内容,大多需要手动截取,对于插入的内容进行手动调整,模拟原书的排版效果。目前从原始流式排版内容中提取信息制作幻灯片的流程是1、从原书电子文档中提取文字内容,手动录入或者拷贝粘贴到ppWPowerPoint) 文件中;2、采用截图工具手动截取原始排版文档中的PowerPoint不支持的内容,作为图片插入到PPt文件的相应位置;3、对于需要可编辑的内容,通过PowerPoint的ole (对象链接和嵌入)机制,采用第三方工具,手工编辑生成OLE对象插入到ppt文件相应位置。发明人发现这种转换方式所有的操作都需要手工完成,因此效率较低。

发明内容
本发明旨在提供一种用于将流式排版内容转换为块式排版文档的方法和装置,以解决传统的转换方式效率较低的问题。在本发明的实施例中,提供了一种用于将流式排版内容转换为块式排版文档的方法,包括根据流式排版内容的各个段落的排版效果创建逻辑树;根据流式排版内容的各个段落的内容关系创建标签树;利用逻辑树和标签树将流式排版内容转换为块式排版文档。在本发明的实施例中,提供了一种用于将流式排版内容转换为块式排版文档的装置,包括逻辑树模块,用于根据流式排版内容的各个段落的排版效果创建逻辑树;标签树模块,用于根据流式排版内容的各个段落的内容关系创建标签树;转换模块,用于利用逻辑树和标签树将流式排版内容转换为块式排版文档。本发明实施例的用于将流式排版内容转换为块式排版文档的方法和装置因为采用了逻辑树和标签树,所以克服了传统的转换方式效率较低的问题,实现了流式排版内容到块式排版文档的自动转换。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1示出了根据本发明实施例的用于将流式排版内容转换为块式排版文档的方法的流程图;图2示出了根据本发明一个优选实施例的生成逻辑树的示意图;图3示出了根据本发明一个优选实施例的流式排版内容的大样显示效果;图4示出了图3的流式排版内容结构化后的逻辑树;图5示出了图4的逻辑树输出的块式排版文档的截图;图6示出了根据本发明优选实施例的用于将流式排版内容转换为块式排版文档的方法的流程图;图7示出了根据本发明实施例的用于将流式排版内容转换为块式排版文档的装置的示意图。
具体实施例方式下面将参考附图并结合实施例,来详细说明本发明。图1示出了根据本发明实施例的用于将流式排版内容转换为块式排版文档的方法的流程图,包括步骤S10,根据流式排版内容的各个段落的排版效果创建逻辑树;步骤S20,根据流式排版内容的各个段落的内容关系创建标签树;步骤S30,利用逻辑树和标签树将流式排版内容转换为块式排版文档。传统的转换方式完全靠手工操作,因此效率较低,而且在转换过程中内容的编排和组织容易产生丢失内容、位置偏差等错误。而本实施例中,采用了逻辑树来记录流式排版内容及其排版效果,采用标签树来记录这些内容之间的内容关系,树是计算机常用的数据结构,因此针对逻辑树和标签树可以很容易地编写各种算法程序,从而可以自动地将流式排版内容转换为块式排版文档。本实施例可以将原来需要手动完成的工作通过计算机的智能处理自动实现,从而提高了转换的效率,而且能够确保排版效果不发生变化,不出现差
T曰O值得注意的是,这里的段落是指排版效果上的段落而不是文学意义上的段落,例如一个逻辑树的段落可以设定为前空两个字符,与前一段落之间有一定的排版间距的连续字符构成一个段落。优选地,步骤SlO包括将各个段落中的内容按照排版效果的不同分为多个片段, 将每个片段分别保存于逻辑树的一个节点中,逻辑树的节点之间的引用关系对应于片段与段落的从属关系。图2示出了根据本发明一个优选实施例的生成逻辑树的示意图。图中的流式排版内容包括两段文字,分别是段落1 “文字1文字1文字1文字1文字1文字1文字1文字1 文字1文字1文字2文字2文字2文字2文字2文字2文字2文字2”和段落2 “文字3 文字3文字3文字3文字3文字3文字3文字3”,而段落1中的“文字1文字1文字1文字1文字1文字1文字1文字1文字1文字1”和“文字2文字2文字2文字2文字2文字 2文字2文字2”的排版效果不同,因此应该分为两个片段。而段落2中的所有文字的排版效果相同,因此整体作为一个片段。
根据本发明的优选实施例生成的逻辑树如图所示,段落1和段落2分别生成互为兄弟的节点1和节点2,在节点1下生成互为兄弟的节点1. 1和节点1. 2,分别记录片段1的内容“文字1文字1文字1文字1文字1文字1文字1文字1文字1文字1”及其排版效果和片段2的内容“文字2文字2文字2文字2文字2文字2文字2文字2”及其排版效果。 在节点2下生成节点2. 1,记录段落2的内容“文字3文字3文字3文字3文字3文字3文字3文字3”及其排版效果。该优选实施例实现了流式排版内容的规格化,从而可以在后续流程中对流式排版内容实现计算机处理,转换生成的块式排版文档能保持原来的段落排版效果。优选地,步骤S20包括将同一章节的段落所对应的逻辑树的节点的ID分别保存于标签树的一个节点中,逻辑树的节点之间的引用关系对应于段落章节的从属关系。因为流式排版内容中的内容除了存在段落关系以外,还存在内容关系,例如段落 5-10属于第一章第二节,段落11-15属于第二章第一节等;而逻辑树仅仅能够反映段落关系,无法反映这种内容关系。根据本优选实施例,可以生成标签树,例如,其中根节点下的第二层节点对应各个章,而第三层节点对应各个节,第四层节点对应节中的各个大标题等等, 在最下层的叶子节点中记录逻辑树中各个叶子节点的ID(例如1. 1,1.2,2. 1等),那么通过该标签树,就可以确定各个片段应该处于整个文档中的哪个章节。该优选实施例利用标签树这种树状结构进一步记录逻辑树中的节点之间的内容关系,从而转换生成的块式排版文档不仅能保持原来的段落排版效果,还能保持原来的内容关系。优选地,步骤S30包括调用模板;按照模板的内容规则获取标签树的节点,通过标签树的节点获取逻辑树的节点,通过逻辑树的节点获取各个片段;通过实例化模板得到块式排版文档。类似于PowerPoint软件中提供各种模板,本优选实施例中也提供模板,其中规定了章节的排版效果,利用标签树和逻辑树,即可将流式排版内容填充到该模板中,并生成块式排版文档。例如标签树的内容关系是章节关系,模板采用章节模板,就可以输出章节的排版效果。又例如是一本试题类的书籍,用户关心的试题的内容,则可以定义如“题干”、“解析”、“答案”这样的标签,如果这是一部辞书,则可以定义“条目”,“辞条”等标签类型,在输出的时候,不同的内容,采用不同的字体、字号,题干和解析、答案,都新起一页排版,这些规则也都可以定义在生成模板里。优选地,将每个片段分别保存于逻辑树的一个节点中包括将片段中的文字流直接保存于逻辑树的节点中;将片段中除文字流以外的内容以盒子占位符保存于逻辑树的节点中,逻辑树的节点中还保存盒子占位符到其所代替内容的引用关系。普通的文字以一般文字内容存在,而特殊的格式排版内容,如数学公式等,则在所在文字流特定位置上以特殊字符替代,这种特殊字符称为盒子占位符,并且在逻辑树中记录该盒子对应的原始文档相关特殊排版内容的详细信息,以备后期输出时使用。因为有些软件可能不能直接处理数学公式等,所以本优选实施例提供了一种解决方案,可以使这些软件结合后期的输出软件来处理这些数学公式等字符。可以定义一种按块式组织的排版文档,实现相互独立排版的文字块、图片块以及其他类型的排版块,其中文字块中的文字流不需要支持混排其他类型的块内容,但是每个文字流中的文字能够支持定义可扩展的属性,记录一些特殊的信息,主要记载对应逻辑树中的盒子的内容。图3示出了根据本发明一个优选实施例的流式排版内容的大样显示效果,其中标识出的数学公式,在文档中是以流的方式存在于原始文档中,排版引擎依次遍历流内容,按照引擎的设定,计算输出为印刷结果。图4示出了图3的流式排版内容结构化后的逻辑树, 内容流以段落为单位,形成树状结构,称为逻辑树。如图所示,用盒子来替代数学公式,在段落中每个数学盒子都有一个对应的信息索引(box),这个信息索引记录原始流文档中的详细内容。在使用盒子占位符之后,可以将逻辑树的节点中的内容,按照模板对章节规定的排版插入到块式排版文档中标签树的节点所记录的章节中,其中,将片段中的文字流直接插入,对于盒子占位符,在块式排版文档中对应盒子占位符的位置插入空白长扁字,空白长扁字的宽高与所引用的替代内容的宽高保持一致,在空白长扁字的属性中记录盒子占位符的引用关系;然后遍历块式排版文档,遇到空白长扁字时,利用接口获取引用关系所引用的替代内容,并将替代内容移动到空白长扁字所在的位置。因为块式排版软件通常不支持图文混排,采用该方案后,可以在块式排版文档中实现图文混排的效果。对于逻辑树中的盒子内容,可以提供一系列相应的转换功能接口,将这些盒子内容转换为按照块式组织的排版文档所支持的图片块、OLE对象块等。该优选实施例实现了块式排版软件与后期输出软件的结合。优选地,将替代内容替换空白长扁字包括使替代内容的基线与空白长扁字前后文的基线对齐,这可以保证块式内容整体的排版效果。图5示出了图4的逻辑树输出的块式排版文档的截图,如图所示,数学公式的排版效果和原文档保持一致,不受影响。图6示出了根据本发明优选实施例的用于将流式排版内容转换为块式排版文档的方法的流程图,该实施例综合了上述多个优选实施例的技术方案,包括以下步骤1、遍历逻辑树,遍历到下一个段落;2、判断是否到逻辑树结尾;3、如果是就结束转换过程;4、否则就插入一个对应的文字块;5、遍历段内的文字流;6、判断是否已经到段落的尾部;7、如果是,则遍历创建的文字块,根据长扁字中记录的信息调整插入的复杂排版块的位置和大小;8、否则进一步判断当前文字是否为普通文字流;9、如果是,则将该文字流直接插入文本块中,然后回到步骤5 ;10,当遇到特殊盒子时,先从逻辑树种获取这个盒子的对应信息;11、根据这些信息,构建图片块或者其他块式排版引擎所支持的块格式;12、构建完成后,计算得到构建的块的大小;13、在文字块的文字流相应位置插入空白长扁字,长扁字流记录下对应的逻辑树盒子信息,然后回到步骤5。
当一个段落遍历完毕以后,对插入的文字块进行一次遍历,遇到长扁字,则通过其中记录的逻辑盒子信息,找到先前插入的对应图片块或其他排版块,将这些排版块调整到长扁字所在的位置,并根据前后文的基线,对位置做进一步调整,以保证排版的效果。依次处理逻辑树中的所有段落,直到整个逻辑树都处理完后,存储块式排版的结^ ο图7示出了根据本发明实施例的用于将流式排版内容转换为块式排版文档的装置的示意图,包括逻辑树模块10,用于根据流式排版内容的各个段落的排版效果创建逻辑树;标签树模块20,用于根据流式排版内容的各个段落的内容关系创建标签树;转换模块30,用于利用逻辑树和标签树将流式排版内容转换为块式排版文档。本装置提高了转换的效率,而且能够确保排版效果不发生变化,不出现差错。优选地,逻辑树模块10用于将各个段落中的内容按照排版效果的不同分为多个片段,将每个片段分别保存于逻辑树的一个节点中,逻辑树的节点之间的引用关系对应于片段与段落的从属关系;标签树模块20,用于将同一章节的段落所对应的逻辑树的节点的 ID分别保存于标签树的一个节点中,逻辑树的节点之间的引用关系对应于段落章节的从属关系。该优选实施例实现了流式排版内容的规格化。优选地,转换模块30包括调用模块,用于调用模板;获取模块,用于按照模板的内容规则获取标签树的节点,通过标签树的节点获取逻辑树的节点,通过逻辑树的节点获取各个片段;实例化模块,用于通过实例化模板得到块式排版文档。该优选实施例转换生成的块式排版文档不仅能保持原来的段落排版效果,还能保持原来的内容关系。从以上的描述中可以看出,本发明上述的实施例通过对流式排版内容结构化后, 通过可定制的组织方式,转换为可编辑的块式排版文档。采用这种方法,可以实现自动生成与原始流式排版效果相同的块式排版结果。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种用于将流式排版内容转换为块式排版文档的方法,其特征在于,包括 根据所述流式排版内容的各个段落的排版效果创建逻辑树;根据所述流式排版内容的各个段落的内容关系创建标签树; 利用所述逻辑树和所述标签树将所述流式排版内容转换为块式排版文档。
2.根据权利要求1所述的方法,其特征在于,根据所述流式排版内容的各个段落的排版效果创建逻辑树包括将所述各个段落中的内容按照所述排版效果的不同分为多个片段,将每个所述片段分别保存于所述逻辑树的一个节点中,所述逻辑树的节点之间的引用关系对应于所述片段与所述段落的从属关系。
3.根据权利要求2所述的方法,其特征在于,根据所述流式排版内容的各个段落的内容关系创建标签树包括将同一章节的所述段落所对应的所述逻辑树的节点的ID分别保存于所述标签树的一个节点中,所述逻辑树的节点之间的引用关系对应于所述段落所述章节的从属关系。
4.根据权利要求3所述的方法,其特征在于,利用所述逻辑树和所述标签树将所述流式排版内容转换为块式排版文档包括调用模板;按照所述模板的内容规则获取所述标签树的节点,通过所述标签树的节点获取所述逻辑树的节点,通过所述逻辑树的节点获取各个所述片段; 通过实例化所述模板得到所述块式排版文档。
5.根据权利要求4所述的方法,其特征在于,将每个所述片段分别保存于所述逻辑树的一个节点中包括将所述片段中的文字流直接保存于所述逻辑树的节点中;将所述片段中除文字流以外的内容以盒子占位符保存于所述逻辑树的节点中,所述逻辑树的节点中还保存所述盒子占位符到其所代替内容的引用关系。
6.根据权利要求5所述的方法,其特征在于,通过实例化所述模板得到所述块式排版文档包括将所述逻辑树的节点中的内容,按照所述模板对所述章节规定的排版插入到所述块式排版文档中所述标签树的节点所记录的章节中,其中,将所述片段中的文字流直接插入,对于所述盒子占位符,在所述块式排版文档中对应所述盒子占位符的位置插入空白长扁字,所述空白长扁字的宽高与所引用的替代内容的宽高保持一致,在所述空白长扁字的属性中记录所述盒子占位符的引用关系;然后遍历所述块式排版文档,遇到所述空白长扁字时,利用接口获取所述引用关系所引用的替代内容,并将所述替代内容移动到所述空白长扁字所在的位置。
7.根据权利要求6所述的方法,其特征在于,将所述替代内容移动到所述空白长扁字所在的位置包括使所述替代内容的基线与所述空白长扁字前后文的基线对齐。
8.一种用于将流式排版内容转换为块式排版文档的装置,其特征在于,包括 逻辑树模块,用于根据所述流式排版内容的各个段落的排版效果创建逻辑树; 标签树模块,用于根据所述流式排版内容的各个段落的内容关系创建标签树;转换模块,用于利用所述逻辑树和所述标签树将所述流式排版内容转换为块式排版文档。
9.根据权利要求8所述的装置,其特征在于,所述逻辑树模块用于将所述各个段落中的内容按照所述排版效果的不同分为多个片段,将每个所述片段分别保存于所述逻辑树的一个节点中,所述逻辑树的节点之间的引用关系对应于所述片段与所述段落的从属关系;所述标签树模块,用于将同一章节的所述段落所对应的所述逻辑树的节点的ID分别保存于所述标签树的一个节点中,所述逻辑树的节点之间的引用关系对应于所述段落所述章节的从属关系。
10.根据权利要求9所述的装置,其特征在于,所述转换模块包括 调用模块,用于调用模板;获取模块,用于按照所述模板的内容规则获取所述标签树的节点,通过所述标签树的节点获取所述逻辑树的节点,通过所述逻辑树的节点获取各个所述片段; 实例化模块,用于通过实例化所述模板得到所述块式排版文档。
全文摘要
本发明提供了一种用于将流式排版内容转换为块式排版文档的方法,包括根据流式排版内容的各个段落的排版效果创建逻辑树;根据流式排版内容的各个段落的内容关系创建标签树;利用逻辑树和标签树将流式排版内容转换为块式排版文档。本发明还提供了一种用于将流式排版内容转换为块式排版文档的装置,包括逻辑树模块,用于根据流式排版内容的各个段落的排版效果创建逻辑树;标签树模块,用于根据流式排版内容的各个段落的内容关系创建标签树;转换模块,用于利用逻辑树和标签树将流式排版内容转换为块式排版文档。本发明实现了流式排版内容到块式排版文档的自动转换。
文档编号G06F17/25GK102467496SQ20101054807
公开日2012年5月23日 申请日期2010年11月17日 优先权日2010年11月17日
发明者严昌华, 缪萍, 闫国龙 申请人:北京北大方正电子有限公司, 北大方正集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1