发明内容
本发明提供一种版式文件的结构处理方法和***,该方法和***无需对原有版式文件进行修改,可以对版式文件中任意内容进行逻辑结构描述,使对版式文件的结构处理更加灵活、满足用户需求。
本发明的技术方案如下:
一种版式文件的结构处理方法,包括如下步骤:
获取版式文件的逻辑结构信息和内容参考序列;
根据所述逻辑结构信息将所述内容参考序列划分为多个内容参考子序列,并生成相应的内容划分描述文件;
根据所述逻辑结构信息生成逻辑单元描述文件;
将所述内容划分描述文件与逻辑单元描述文件进行关联;以及
根据所述内容划分描述文件与逻辑单元描述文件的关联对上述处理后的所述版式文件进行文档处理,所述文档处理包括以下至少一种处理:信息提取、重排页面、转换为其他格式的文件。
其中,所述获取版式文件的逻辑结构信息的步骤包括:
利用计算机应用程序对版式文件进行标注或者基于文档分析和文档理解处理***获取版式文件的逻辑结构信息。
上述获取版式文件的内容参考序列的步骤包括:
读取版式文件内容,按照版式文件内容中的图元在内容数据流中出现的先后顺序或者是文档树的遍历顺序,生成内容参考序列。
上述将内容参考序列划分为多个内容参考子序列的步骤包括:
按照版式文件内容中的图元在所述内容参考序列的偏移位置或者内容参考序列中的图元符号,将所述内容参考序列划分为多个内容参考子序列。
且可以为所述多个内容参考子序列分别赋予一个编号。
上述将内容划分描述文件与逻辑单元描述文件进行关联的步骤包括:
通过内容参考子序列的编号将内容划分描述文件与逻辑单元描述文件进行关联。
上述内容划分描述文件或者逻辑单元描述文件为存储设备上一个独立的文件或者版式文件中的一个数据块。
上述内容划分描述文件或者逻辑单元描述文件采用结构化标记语言来描述。
本发明还提供一种版式文件的结构处理***,包括:
逻辑结构信息获取***,用于获取版式文件的逻辑结构信息;
逻辑结构描述生成模块,用于获取内容参考序列,并根据所述逻辑结构信息将所述内容参考序列划分为多个内容参考子序列,生成相应的内容划分描述文件,以及根据所述逻辑结构信息生成逻辑单元描述文件;
逻辑结构描述解析模块,用于对所述内容划分描述文件和所述逻辑单元描述文件进行解析和关联;以及
文档处理***,用于根据所述内容划分描述文件与逻辑单元描述文件的关联对上述处理后的所述版式文件进行文档处理,所述文档处理包括以下至少一种处理:信息提取、重排页面、转换为其他格式的文件。
其中,上述逻辑结构描述生成模块包括:
内容参考序列生成模块,用于读取版式文件内容,生成内容参考序列;
内容划分描述生成模块,用于根据所述逻辑结构信息将所述内容参考序列划分为多个内容参考子序列,并生成内容划分描述文件;
逻辑单元描述生成模块,根据所述逻辑结构信息生成逻辑单元描述文件。
上述逻辑结构描述生成模块还包括:存储设备,用于存储所述内容参考序列生成模块生成的内容参考序列,或者所述内容划分描述生成模块划分的多个内容参考子序列。
上述逻辑结构描述解析模块在内容参考序列、内容参考子序列没有保存到上述存储设备中时,还需包括:
内容参考序列生成模块,用于读取版式文件内容,生成内容参考序列;
内容划分描述解析模块,用于将所述内容参考序列划分为多个内容参考子序列,并生成内容划分描述文件。
上述逻辑结构描述解析模块还包括:
逻辑单元描述解析模块,用于读取并解析所述逻辑单元描述文件中的数据;
映射模块,用于将所述内容划分描述文件与所述逻辑单元描述文件进行关联。
上述技术方案通过将版式文件的内容参考序列划分为多个内容参考子序列,生成相应的内容划分描述文件,并且生成逻辑单元描述文件,然后将所述内容划分描述文件与逻辑单元描述文件关联起来,使得逻辑结构信息与版式文件相互分离,可以对版式文件中的任意内容单独进行逻辑结构描述、提取,并可以根据不同的文档逻辑结构模型进行描述,描述范围更加准确,逻辑结构信息的表示更加灵活,同时还可以对同一个版式文件添加多个文档逻辑结构信息描述,在添加或修改文档逻辑结构信息时,不需要对版式文件的内容描述进行修改,减小了出错的可能,且版式文件逻辑结构信息的这种灵活表示方式可以对已经存在的大量的版式文件进行描述,而不影响已有的***,提高了兼容性。
具体实施方式
下面结合具体实施例对本发明的技术方案进行描述:
如图3所示,版式文件的结构处理方法,包括如下步骤:
31、获取版式文件的逻辑结构信息和内容参考序列;
32、根据所述逻辑结构信息将所述内容参考序列划分为多个内容参考子序列,并生成内容划分描述文件;
33、根据所述逻辑结构信息生成逻辑单元描述文件;
34、将所述内容划分描述文件与逻辑单元描述文件进行关联。
上述实施例通过采用对版式文件的内容参考序列进行划分的方式,生成相应的内容划分描述文件,并且生成逻辑单元描述文件,然后将所述内容划分描述文件与逻辑单元描述文件关联起来,使得逻辑结构信息与版式文件相互分离,可以对版式文件中的任意内容单独进行逻辑结构描述、提取,并可以根据不同的文档逻辑结构模型进行描述,描述范围更加准确,逻辑结构信息的表示更加灵活,同时还可以对同一个版式文件添加多个文档逻辑结构信息描述,在添加或修改文档逻辑结构信息时,不需要对版式文件的内容描述进行修改,减小了出错的可能,且版式文件逻辑结构信息的这种灵活表示方式可以对已经存在的大量的版式文件进行描述,而不影响已有的***,提高了兼容性。
其中,在上述步骤31中,可以通过分析已经包含逻辑结构信息的电子文档,利用计算机应用程序对版式文件进行标注或者基于文档分析和文档理解处理***获取版式文件的逻辑结构信息。
如,对于与版式文件所对应的,已经包含逻辑结构信息的电子文档,如HTML,Microsoft Word,可以利用该文档的文档处理***,对其中的逻辑结构信息进行提取,如对Microsoft Word文档可以利用Office自动化对象来获得逻辑结构信息。另外,用户可以通过一个带有图形界面的计算机应用程序,对版式文件的逻辑单元进行标注。还可以通过基于文档分析和文档理解的处理***获取其逻辑结构信息。
上述步骤31中,可以首先读取版式文件内容,再按照版式文件内容中的图元(如字符、图片、表格等)在内容数据流中出现的先后顺序或者是文档树的遍历顺序生成内容参考序列。内容参考序列就是指版式文件中多个有序图元信息的集合。如图4所示的版式文件43,这一个CEB文件Sample.ceb,根据上述获取的逻辑结构信息,生成逻辑单元描述文41和内容划分描述文件42,本实施例中以XML语言来描述版式文件43中的逻辑单元以及各逻辑单元之间的关系,如Document_structure.xml;同样以XML语言来描述内容划分,如Piece.xml。这里的逻辑单元描述文件41和内容划分描述文件42也可以采用其它的结构化标记语言来描述,如采用SGML语言等。
上述步骤32中,可以按照版式文件内容中的图元在内容参考序列的偏移位置或者内容参考序列中的图元符号,将内容参考序列划分为多个内容参考子序列,并为所述多个内容参考子序列分别赋予一个编号。该编号可以保存在该内容划分描述文件中。
如图5、图6、图7、图8所示,一个显示如51的版式文件,其文档内容数据流描述为52所示,其中包含文本图元。图6是依照图5中的版式文件51逻辑结构的具体实施例。其中61是版式文件的内容参考序列,该内容参考序列是按照图元在内容描述52中出现的先后顺序来排列的。62表示了图元在内容参考序列中的偏移位置。71或者81是一个内容划分描述文件,该描述文件通过指定内容参考子序列在内容参考序列中的起始偏移位置以及子序列长度来划分。每个划分赋予了一个唯一编号PID,如图7所示,编号8对应“床前明月光,”子序列,编号9对应“疑是地上霜,举头望明月,”子序列。在实际应用中,图7和图8所示的两种内容划分描述文件可以同时存在。
图9、图10、图11中的91或者101或者111是采用XML语言的逻辑单元描述文件,逻辑单元可以通过内容参考子序列的PID来与内容参考子序列相关联。图9中的<line=“9”/>为一个逻辑单元,<line=“8”/>也为一个逻辑单元,从该图中还可以看出,按照逻辑单元描述文件91的前序遍历的顺序,对应的文档内容顺序将是图5中版式文件51的阅读顺序。尽管图5中所示的内容描述数据流52并没有按照阅读顺序来进行输出。
上述步骤33中逻辑单元描述文件包括:版式文件的逻辑单元以及各逻辑单元之间的关系。如图9、图10、图11所示。可以采用结构化描述语言来描述逻辑单元及其之间的关系,如采用XML、SGML语言,且逻辑单元之间的关系可以反映版式文件的阅读顺序。
上述步骤34中可以通过上述为内容参考子序列赋予的编号将内容划分描述文件与逻辑单元描述文件进行关联。具体的讲,可以按照内容参考子序列的编号将逻辑单元和其对应的内容参考子序列关联起来。如通过图9中的编号8对应图7中的偏移地址113,该偏移地址113对应图6中的内容参考子序列“床前明月光”,即通过编号8将逻辑单元<line=“8”/>与“床前明月光”内容参考子序列关联起来。
上述实施例中的内容划分描述文件或者逻辑单元描述文件可以为存储设备上一个独立的文件,这样使得逻辑结构信息与版式文件相互分离,逻辑结构信息的表示更加灵活。
当然,上述实施例中的内容划分描述文件或者逻辑单元描述文件也可以为版式文件中的一个数据块。
如图12所示,与上述版式文件的结构处理方法相应的,本发明还提供一种版式文件的结构处理***,包括:
逻辑结构信息获取***,用于获取版式文件的逻辑结构信息;
逻辑结构描述生成模块,用于从版式文件解析***中获取内容参考序列,并根据逻辑结构信息将其获取的内容参考序列划分为多个内容参考子序列,生成内容划分描述文件和逻辑单元描述文件;
逻辑结构描述解析模块,用于对所述内容划分描述文件和所述逻辑单元描述文件进行解析和关联。
如图13所示,上述图12中的逻辑结构描述生成模块包括:
内容参考序列生成模块,用于读取版式文件内容,按照指定顺序生成内容参考序列;指定顺序可以是版式文件内容中的图元在内容数据流中出现的先后顺序,也可以是文档树的遍历顺序。
内容划分描述生成模块,用于根据所述逻辑结构信息将所述内容参考序列划分为多个内容参考子序列,并生成内容划分描述文件;所述划分方式可以按照版式文件内容中的图元在内容参考序列的偏移位置或者内容参考序列中的图元符号,并为各个内容参考子序列赋予一个编号;该编号可以保存在该内容划分描述文件中。
逻辑单元描述生成模块,根据所述逻辑结构信息生成逻辑单元描述文件,这里的逻辑单元描述文件包括多个逻辑单元以及各逻辑单元之间的关系,可以采用结构化描述语言来描述逻辑单元及其之间的关系,如采用XML、SGML语言,且逻辑单元之间的关系可以反映版式文件的阅读顺序。
上述逻辑结构描述生成模块还可包括:存储设备,用于存储内容参考序列生成模块生成的内容参考序列,或者内容划分描述生成模块划分的多个内容参考子序列,或者逻辑单元描述生成模块生成的逻辑单元描述文件。上述内容参考序列、内容参考子序列,可以保存在该存储设备中,也可以不保存。
如图14所示,上述图12中的逻辑结构描述解析模块包括:
逻辑单元描述解析模块,用于读取并解析逻辑单元描述文件中的数据;
映射模块,用于将所述内容划分描述文件与所述逻辑单元描述文件进行关联。具体的讲,可以按照内容参考子序列的编号将逻辑单元和其对应的内容参考子序列关联起来。
当上述逻辑结构描述生成模块中的内容参考序列生成模块生成的内容参考序列,或者内容划分描述生成模块生成的多个内容参考子序列没有保存在存储设备中时,该逻辑结构描述解析模块还应当包括以下模块:
内容参考序列生成模块,用于读取版式文件内容,生成内容参考序列;
内容划分描述解析模块,用于根据所述逻辑结构信息将所述内容参考序列划分为多个内容参考子序列,并生成内容划分描述文件。
当上述逻辑结构描述生成模块中的内容参考序列,或者多个内容参考子序列,已经保存在上述存储设备中,则可以直接读取,不必再次生成。
在实际应用中,采用内容参考序列生成模块、内容划分描述解析模块,重新生成内容参考序列、内容划分描述文件的方式,相比于从存储器中读取大量的内容参考序列、内容划分描述文件数据的方式,运算速度快、效率高。
下面再结合图13、图14对本发明的版式文件的逻辑结构信息的处理***的工作过程进行描述:
如图13所示,逻辑结构描述生成模块的工作过程如下:
文档逻辑结构信息获取***获得版式文件的逻辑结构信息。对于与版式文件所对应的,已经包含逻辑结构信息的电子文档,例如HTML,Microsoft Word,可以利用该文档的文档处理***,对其中的逻辑结构信息进行提取,例如对MicrosoftWord文档可以利用Office自动化对象来获得逻辑结构信息。另外,用户可以通过一个带有图形界面的计算机应用程序,对版式文件的逻辑单元进行标注。还可以通过基于文档分析和文档理解的处理***获取其逻辑结构信息。
内容参考序列生成模块利用版式文件解析***将版式文件的内容根据一定的顺序排列为一个有序序列,得到版式文件的内容参考序列。
内容划分描述生成模块根据上述文档逻辑结构信息获取***中得到的文档逻辑结构信息对内容参考序列进行划分,输出内容划分描述文件。
逻辑单元描述生成模块根据上述文档逻辑结构信息获取***中得到的文档逻辑结构信息输出逻辑单元描述文件。
内容划分描述文件和逻辑单元描述文件可以嵌入到版式文件之中或者单独保存。
如图14所示,逻辑结构描述解析模块的工作过程如下:
在内容参考序列、内容参考子序列(也可以认为是内容划分描述文件)以及逻辑单元描述文件没有保存的情况下,需要内容参考序列生成模块重新利用版式文件解析***将版式文件的内容根据一定的顺序排列为一个有序序列,得到内容参考序列。
内容划分描述解析模块,读取内容划分描述文件,对上述图13中所示的逻辑结构描述生成模块中得到的内容参考序列进行划分。
逻辑单元描述解析模块读取上述图13中所示的逻辑结构描述生成模块中逻辑单元描述文件,并验证其有效性。
映射模块根据内容划分描述文件和逻辑单元描述文件中的内容参考子序列编号,将逻辑单元和内容参考子序列进行关联。
作为对于处理版式文件中逻辑结构信息的***的进一步说明,与该***交互的外部***可能有版式文件解析***、文档逻辑结构信息获取***及其他文档处理***。其他文档处理***可以是格式转换***、版面重排***等。这些***利用文档逻辑结构信息再对版式文件进行处理,例如信息提取、重排页面、转换为其他格式的文件等。
另外,上述的内容划分描述文件和逻辑单元描述文件可以保存在版式文档之中,也可以作为单独文件与版式文件分开保存。对于同一版式文件,可以拥有多个文档逻辑结构信息描述。
综上所述,本发明的方法和***通过将版式文件的内容参考序列划分为多个内容参考子序列,生成相应的内容划分描述文件,并且生成逻辑单元描述文件,然后将所述内容划分描述文件与逻辑单元描述文件关联起来,使得逻辑结构信息与版式文件相互分离,可以对版式文件中的任意内容单独进行逻辑结构描述、提取,并可以根据不同的文档逻辑结构模型进行描述,描述范围更加准确,逻辑结构信息的表示更加灵活,同时还可以对同一个版式文件添加多个文档逻辑结构信息描述,即同一个版式文件可以拥有多个内容划分描述文件以及逻辑单元描述文件,在添加或修改文档逻辑结构信息时,不需要对版式文件的内容描述进行修改,减小了出错的可能,且版式文件逻辑结构信息的这种灵活表示方式可以对已经存在的大量的版式文件进行描述,而不影响已有的***,提高了兼容性。
以上结合较佳实施例来描述本发明,但并不用以限制本发明,本技术领域的普通技术人员应当知道,凡在本发明思想的应用范围内所作的等效目的的变更与修改,均应在本专利申请的保护范围之内。