一种解析Word文件信息的方法及其系统的制作方法

文档序号:6332240阅读:254来源:国知局
专利名称:一种解析Word文件信息的方法及其系统的制作方法
技术领域
本发明涉及可读取、解析Word文件信息的系统领域,更具体的说,改进涉及的是 一种解析Word文件信息的方法及其系统。
背景技术
Microsoft Word是微软公司的一个文字处理应用程序,在办公自动化中, Microsoft Word得到了越来越多的应用。然而,在自动化办公应用非常广泛的今天,经常需 要读取并甄别有用信息,如何成批、快速的实现对Word文档的解析,将直接影响到人们的 办公效率。目前业界经常使用的解析Word文件的方法大致有以下几种方案一、通过调用MS-Word的自动化Com接口,按照Word的文档结构对Word文件 信息进行解析。方案二、通过调用一些较为成熟的开源文档编辑软件的接口,实现对Word文件信 息的解析,较流行的是调用OpenOffice的API接口来实现读取和解析。方案三、由于Word2007文件已公开格式,所以可以直接对Word2007格式文件进行 解析。但是,对于方案一而言,每解析一个Word元素就需要一次Com调用,所以解析过程 的效率和稳定性较低;另外,当解析的属性Word对象没有设置值的时候,如果继续解析,会 造成程序挂掉,因此直接影响程序的稳定性。对于方案二而言,由于Open-Office等开源软件对doc格式的文档支持并不完美, 所以当解析一些比较复杂的元素时,会出现属性丢失的情况。对于方案三而言,此种方法仅能支持docx文档;由于doc文件的格式并没有公开, 所以此方法无法解析Word2003格式文件和Word2000格式文件,对Word文件的版本支持不完全。因此,现有技术尚有待改进和发展。

发明内容
本发明的目的在于,提供一种解析Word文件信息的方法及其系统,可高效稳定地 解析所有格式的Word文件信息,适合批量解析各种版本的Word文件信息。本发明的技术方案如下一种解析Word文件信息的方法,其中,包括以下步骤将待解析的Word文件转换为Word_XML2003格式文档的中间文件;解析Word_XML2003格式文档中元素的基本信息,并将解析得到的信息按照Word 的规则进行组合;将解析组合后的对象写入XML文件。所述的解析Word文件信息的方法,其中,在转换为Word_XML2003格式文档的步骤中,具体包括以下步骤初始化Word对象;通过Word实例对象创建一个Word文档对象;将Word对象设置为后台运行;使用文档对象导入一个Word文件;将Word格式文档另存为XML2003格式文档。所述的解析Word文件信息的方法,其中,在解析Word_XML2003格式文档的步骤 中,对于文本信息,还包括先读取文本,后按照段落为基本单位将文档分为若干个段落节点 的操作。所述的解析Word文件信息的方法,其中,在解析Word_XML2003格式文档的步骤 中,对于图元信息,还包括在图元字段按照直线、椭圆、矩形的图元不同的枚举值得到图元 的起始坐标和区域的操作。所述的解析Word文件信息的方法,其中,在解析Word_XML2003格式文档的步骤 中,对于图像信息,还包括先在binData读出图片的文件流,后利用图片库将该图片流写出 的操作。所述的解析Word文件信息的方法,其中,在按照Word的规则进行组合的步骤中, 对于文本,还包括以下操作将解析Word_XML2003格式文档得到的基本段落信息按照节为单位进行分组;将节中的文本按照栏为单位进行进一步划分。所述的解析Word文件信息的方法,其中,在按照Word的规则进行组合的步骤中, 对于图元,还包括以下操作根据图元所在的段位于的节,判断该图元的节号;将该图元设置为该节的背景元素。所述的解析Word文件信息的方法,其中,在按照Word的规则进行组合的步骤中, 对于图像,还包括以下操作根据图像所在的段位于的节,判断该图像的节号;将该图像设置为该节的背景元素。一种解析Word文件信息的系统,其中包括依次数据连接的XML2003文件转换模 块、解析排版模块和XML文件写入模块,其中XML2003文件转换模块,用于将待解析的Word文件转换为Word_XML2003格式文档 的中间文件;解析排版模块,用于解析Word_XML2003格式文档中元素的基本信息,并将解析得 到的信息按照Word的规则进行组合;XML文件写入模块,用于将解析组合后的对象写入XML文件。所述的解析Word文件信息的系统,其中,XML2003文件转换模块包括依次数据连 接的初始化单元、文档创建单元、设置单元、导入单元和生成单元,其中初始化单元,用于初始化Word对象;文档创建单元,用于通过Word实例对象创建一个Word文档对象;设置单元,用于将Word对象设置为后台运行;
导入单元,用于使用文档对象导入一个Word文件;生成单元,用于将Word格式文档另存为XML2003格式文档。本发明所提供的一种解析Word文件信息的方法及其系统,由于采用了 Word_ XML2003格式文档作为中间文件,并在解析Word_XML2003格式文档后按照Word的规则进行 组合,不仅在解析比较复杂的元素时不会造成属性丢失,而且还避免了频繁的调用Com接 口,节约了系统资源,从而高效稳定地解析了所有格式的Word文件信息,特别适合满足需 要批量解析各种版本的Word文件信息的情况下使用。


图1是本发明解析Word文件信息方法的流程图;图2是本发明解析Word文件信息系统的结构图;图3是本发明中XML2003文件转换模块的结构图;图4是本发明中将Word文件转换为Word_XML2003格式文档的流程图;图5是本发明中解析XML2003元素以及整体排版的流程图。
具体实施例方式以下将结合附图,对本发明的具体实施方式
和实施例加以详细说明,所描述的具 体实施例仅用以解释本发明,并非用于限定本发明的具体实施方式
。本发明的一种解析Word文件信息的方法,其具体实施方式
之一,如附图1所示,包 括以下步骤步骤S100、将待解析的Word文件转换为Word_XML2003格式文档的中间文件;步骤S200、解析Word_XML2003格式文档中元素的基本信息,并将解析得到的信息 按照Word的规则进行组合;步骤S300、将解析组合后的对象写入XML (Extensible MarkupLanguage,可扩展标 记语言)文件。基于上述解析方法,本发明还提出了一种解析Word文件信息的系统,如附图2所 示,至少包括依次数据连接的XML2003文件转换模块100、解析排版模块200和XML文件写 入模块300,其中XML2003文件转换模块100,用于将待解析的Word文件转换为Word_XML2003格式 文档的中间文件;解析排版模块200,用于解析Word_XML2003格式文档中元素的基本信息,并将解 析得到的信息按照Word的规则进行组合;XML文件写入模块300,用于将解析组合后的对象写入XML文件。Word的XML2003文件是一种可以记录Word元素的XML文件,由于此文件支持Word 所有元素的显示,而且可以被Word文件打开。基于这个原因,可以考虑以XML2003文件作 为中间文件进行Word文件信息解析的策略。可先用Word的自动化Com接口在后台将需要 解析的Word文档另存为XML2003格式文件,之后再使用XML解析器对该文件进行解析。这 样做的好处在于,一是只调用了一次Com接口,提高了系统的效率和稳定性,二是同时可以 支持doc格式文件和docx格式文件的解析。
6
作为本发明解析Word文件信息的方法及其系统的优选实施方式1、在步骤S100中,XML2003文件转换模块100先初始化MS_Word的Com接口,再在 后台将Word文件导入,如doc或docx文件;之后将该Word文件另存为Word_XML2003 格式文件。具体的,如附图3所示,XML2003文件转换模块100包括依次数据连接的初始化 单元110、文档创建单元120、设置单元130、导入单元140和生成单元150,其中,如附图4 所示,步骤S100可包括以下步骤步骤S110、初始化单元110初始化Word对象,如实例化一个Word程序对象 ApplicationPtr 等;步骤S120、文档创建单元120创建文档对象,如通过Word实例对象创建一个 Word 文档对象 DocumentPtr 等;步骤S 130、设置单元130设置Word后台运行,S卩,将Word对象设置为后台运行;步骤S140、导入单元140导入Word格式文档,如使用文档对象导入一个Word文 件;步骤S150、生成单元150在后台将Word格式文档另存为XML2003格式文档。2、在步骤S200中,解析排版模块200先提取并获得文本、图元和图像等基本信息, 再进行整体的排版。在提取过程中,对于文本信息,首先读取文本,然后按照段落为基本单位将文档分 为若干个段落节点;对于图元信息,可在图元字段按照直线、椭圆、矩形的图元不同的枚举 值得到图元的起始坐标和区域;对于图像信息,由于图像在XML2003中都以文件流的形式 存在,所以需要在binData读出图片的文件流,完后利用图片库将该图片流写出;binData 为本领域技术名词。提取的过程可包括读取文档属性字段DocumentProperties,得到本 文档的作者、版本号、页数等信息;读取段落样式列表得到此文档中使用的段落样式类型; 读取文档显示属性字段,得到文档的显示比例等信息。在整体排版时,对于文本而言,首先,可将上文得到的基本段落信息按照节为单位 进行分组,这样就将文本分为了若干个节,其次,需要将节中的文本按照栏为单位进行进一 步划分;对于图元和/或图像而言,由于图元和图像分别位于不同的段中,所以可以根据该 图元和/或图像所在的段位于的节,来判断该图元和/或图像在哪个节中,并在得到节号 后,就将该图元和/或图像设置为该节的背景元素。具体的,如附图5所示,步骤S200可包括以下步骤步骤S210、在开始解析之时,读取文档属性字段DocumentProperties,得到本文 档的作者、版本号、页数等信息;步骤S220、读取段落式样字段,如段落式样列表,得到此文档中使用的段落样式 类型;步骤S230、输入排版信息,如读取文档显示属性字段,得到文档的显示比例等信 息;步骤S240、按照段落为单位,读取每个段落的内容;步骤S250、将段落合并为节,可按照段落为基本单位将文档分为若干个段落节
点;步骤S260、将节的内容分为栏,可先将上文得到的基本段落信息按照节为单位进行分组,再将节中的文本按照栏为单位进行进一步划分;步骤S272、读取图元,可在图元字段按照直线、椭圆、矩形的图元不同的枚举值得 到图元的起始坐标和区域;步骤S274、读取图像,在binData读出图片的文件流后,利用图片库将该图片流写 出;步骤S280、将图像的二进制信息写入文件;步骤S290、将图元、图像和文本进行整体排版。3、在步骤S300中,XML文件写入模块300在将解析到的对象写入XML文件的过程 中,可将一个整个文档结构放入一个文件〈Document〉结构中,文档结构中分为文件属性节 点<DocumentAttr>、参数属性节点<ParaAttr>、选项节点<Sect> ;其中,选项节点<Sect> 又细分为列子节点〈Column〉、背景图元子节点〈Graphic〉和背景图像子节点<Pic>,具体结 构可如下所示<Document><DocumentAttrX/DocumentAttr><ParaAttrX/ParaAttr><Sectl>〈Column1><ParalX/Paral><Para2X/Para2>......</Columnl><GraphiclX/Graphic2><Graphic2X/Graphics2>......<PiclX/Picl><Pic2X/Pic2>......</Sectl><Sect2></Sect2>......〈/Document〉本发明所提供的一种解析Word文件信息的方法及其系统,由于采用了 Word_ XML2003格式文档作为中间文件,并在解析Word_XML2003格式文档后按照Word的规则进行 组合,不仅在解析比较复杂的元素时不会造成属性丢失,而且还避免了频繁的调用Com接 口,节约了系统资源,从而高效稳定地解析了所有格式的Word文件信息,特别适合满足需 要批量解析各种版本的Word文件信息的情况下使用。应当理解的是,以上所述仅为本发明的较佳实施例而已,并不足以限制本发明的 技术方案,对本领域普通技术人员来说,在本发明的精神和原则之内,可以根据上述说明加
8以增减、替换、变换或改进,而所有这些增减、替换、变换或改进后的技术方案,都应属于本 发明所附权利要求的保护范围。
权利要求
一种解析Word文件信息的方法,其特征在于,包括以下步骤将待解析的Word文件转换为Word_XML2003格式文档的中间文件;解析Word_XML2003格式文档中元素的基本信息,并将解析得到的信息按照Word的规则进行组合;将解析组合后的对象写入XML文件。
2.根据权利要求1所述的解析Word文件信息的方法,其特征在于,在转换为Word_ XML2003格式文档的步骤中,具体包括以下步骤初始化Word对象;通过Word实例对象创建一个Word文档对象; 将Word对象设置为后台运行; 使用文档对象导入一个Word文件; 将Word格式文档另存为XML2003格式文档。
3.根据权利要求1所述的解析Word文件信息的方法,其特征在于,在解析Word_ XML2003格式文档的步骤中,对于文本信息,还包括先读取文本,后按照段落为基本单位将 文档分为若干个段落节点的操作。
4.根据权利要求1所述的解析Word文件信息的方法,其特征在于,在解析Word_ XML2003格式文档的步骤中,对于图元信息,还包括在图元字段按照直线、椭圆、矩形的图元 不同的枚举值得到图元的起始坐标和区域的操作。
5.根据权利要求1所述的解析Word文件信息的方法,其特征在于,在解析Word_ XML2003格式文档的步骤中,对于图像信息,还包括先在binData读出图片的文件流,后利 用图片库将该图片流写出的操作。
6.根据权利要求1所述的解析Word文件信息的方法,其特征在于,在按照Word的规则 进行组合的步骤中,对于文本,还包括以下操作将解析Word_XML2003格式文档得到的基本段落信息按照节为单位进行分组; 将节中的文本按照栏为单位进行进一步划分。
7.根据权利要求1所述的解析Word文件信息的方法,其特征在于,在按照Word的规则 进行组合的步骤中,对于图元,还包括以下操作根据图元所在的段位于的节,判断该图元的节号; 将该图元设置为该节的背景元素。
8.根据权利要求1所述的解析Word文件信息的方法,其特征在于,在按照Word的规则 进行组合的步骤中,对于图像,还包括以下操作根据图像所在的段位于的节,判断该图像的节号; 将该图像设置为该节的背景元素。
9.一种解析Word文件信息的系统,其特征在于包括依次数据连接的XML2003文件转 换模块、解析排版模块和XML文件写入模块,其中XML2003文件转换模块,用于将待解析的Word文件转换为Word_XML2003格式文档的中 间文件;解析排版模块,用于解析Word_XML2003格式文档中元素的基本信息,并将解析得到的 信息按照Word的规则进行组合;XML文件写入模块,用于将解析组合后的对象写入XML文件。
10.根据权利要求9所述的解析Word文件信息的系统,其特征在于,XML2003文件转换 模块包括依次数据连接的初始化单元、文档创建单元、设置单元、导入单元和生成单元,其 中初始化单元,用于初始化Word对象;文档创建单元,用于通过Word实例对象创建一个Word文档对象; 设置单元,用于将Word对象设置为后台运行; 导入单元,用于使用文档对象导入一个Word文件; 生成单元,用于将Word格式文档另存为XML2003格式文档。
全文摘要
本发明公开了一种解析Word文件信息的方法及其系统,该方法包括将待解析的Word文件转换为Word_XML2003格式文档的中间文件;解析Word_XML2003格式文档中元素的基本信息,并将解析得到的信息按照Word的规则进行组合;将解析组合后的对象写入XML文件。由于采用了Word_XML2003格式文档作为中间文件,并在解析Word_XML2003格式文档后按照Word的规则进行组合,不仅在解析比较复杂的元素时不会造成属性丢失,而且还避免了频繁的调用Com接口,节约了系统资源,高效稳定地解析了所有格式的Word文件信息,特别适合满足需要批量解析各种版本的Word文件信息的情况下使用。
文档编号G06F17/21GK101980183SQ20101028533
公开日2011年2月23日 申请日期2010年9月17日 优先权日2010年9月17日
发明者解辉 申请人:深圳市万兴软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1