一種解析Word文件信息的方法及其系統的製作方法
2023-05-19 14:33:11 2
專利名稱:一種解析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〉結構中,文檔結構中分為文件屬性節 點、參數屬性節點、選項節點 ;其中,選項節點 又細分為列子節點〈Column〉、背景圖元子節點〈Graphic〉和背景圖像子節點,具體結 構可如下所示〈Column1>........................〈/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日
發明者解輝 申請人:深圳市萬興軟體有限公司