摘要:本文主要介紹了在基于word 2007的OPEN XML存儲格式的基礎(chǔ)上結(jié)合.NET技術(shù)實現(xiàn)word文檔關(guān)鍵信息和內(nèi)容信息的讀取和解析。提供了更加簡單易用的操作界面,極大地提高了對word文檔操作的效率。
關(guān)鍵詞:OPENXML;.NET;文檔信息讀取;文檔信息解析
中圖分類號:TP317.1
隨著市場需求的不斷更新,在過去幾年中肩負(fù)著存儲和轉(zhuǎn)換數(shù)據(jù)的二進(jìn)制文件格式已經(jīng)無法滿足需求,由此產(chǎn)生了基于XML的文件格式。這種格式稱為Office Open XML格式,改變了Microsoft Office建立解決方案的方式[1][2]。
Office Open XML對word文檔(2007和2003均可)關(guān)鍵信息、內(nèi)容的解析更加方便,能夠從各個XML文件中獲取信息來組建新的WORD文檔,而且能夠使文檔中的各獨立數(shù)據(jù)重新組合。由于它采用了Open XML這種存儲格式,使得Office辦公程序和其他業(yè)務(wù)系統(tǒng)之間能夠方便地傳遞數(shù)據(jù)。Office Open XML這種存儲格式的可靠性比二進(jìn)制格式要好,可以有效地減小破壞文件數(shù)據(jù)的風(fēng)險。由于Office辦公程序的設(shè)計是以O(shè)ffice Open XML格式為基礎(chǔ),因而提高了創(chuàng)建和恢復(fù)文檔的可靠性。
1 文檔信息讀取解析
1.1 基礎(chǔ)原理介紹
1.2 基本過程
進(jìn)行解析的文檔不僅僅是指以O(shè)ffice Open XML為基本存儲結(jié)構(gòu)的word2007文檔,當(dāng)然也可以對word2003文檔進(jìn)行相應(yīng)的操作,但是由于word2003采用的是二進(jìn)制流的存儲格式,在進(jìn)行文檔信息讀取解析的過程之前需要先將word2003文檔進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換為word2007文檔[3-6]。文檔格式轉(zhuǎn)換的過程只需要將word2003的文檔存儲格式變成wd Format XML Document格式即可。
本文介紹的文檔(一般情況文檔)信息的讀取解析針對的是文檔基本內(nèi)容信息、標(biāo)題信息、目錄信息。
1.2.1 文檔基本內(nèi)容信息,文檔標(biāo)題信息讀取
文檔文本信息主要包括的是文本基本內(nèi)容信息和文檔標(biāo)題信息。主要的內(nèi)容均存放在其Open XML格式的word文件夾中的document.xml文件中。
文本基本內(nèi)容信息只包括文檔的文本(暫時不包括標(biāo)題)、圖片和表格信息等。而文檔標(biāo)題信息就是常見的一級,二級,……標(biāo)題等。
(1)尋找所要讀取部分的標(biāo)識符。一般情況下,不同的文本內(nèi)容在XML文件中具有不同的標(biāo)識符號。文本信息和標(biāo)題信息均位于相同的表示符“P”(即Paragraph)中,能夠標(biāo)識兩者區(qū)別的是其屬性信息。文檔基本文本信息和標(biāo)題信息的最主要的區(qū)別是在paragraph的段落屬性信息中的pStyle的值中體現(xiàn)出來的。最簡單情況下標(biāo)題信息在XML文件中的段落屬性pStyle值為1,2……或者是heading1,heading2……,則此時表示此段落為標(biāo)題信息段落。pStyle的Val值不為上述值或者是此段落沒有pStyle屬性信息則表示的為當(dāng)前的段落為一般的文本信息。
(2)表格信息一般是位于標(biāo)識符為“tbl”標(biāo)識符內(nèi)部。而在“tbl”標(biāo)識符內(nèi)部會有相應(yīng)的行標(biāo)識符“tr”和單元格標(biāo)識符“tc”。可根據(jù)相應(yīng)的“tr”和“tc”標(biāo)識符來讀取當(dāng)前的表格內(nèi)部信息。
(3)圖片信息一般由標(biāo)識符“drawing”或者是“Embedded Object”來確定。
在word2007的Open XML存儲格式當(dāng)前文檔中的圖片信息是存放在media文件夾當(dāng)中的。圖片信息獲取是通過文檔的主要部分MainDocumentPart.Parts中的RelationshipId與當(dāng)前圖片中ID信息相同時來獲取當(dāng)前的圖片信息的。即使用圖片與文檔相關(guān)聯(lián)的一些ID信息,然后從\word\media文件夾中尋找相應(yīng)圖片信息。
1.2.2 目錄信息讀取與解析
在我們平常使用的文檔中生成目錄以后,目錄就會含有超鏈接,點擊相應(yīng)的目錄跳轉(zhuǎn)到相應(yīng)的位置。這個信息在word2007的Open XML存儲格式中是有相應(yīng)體現(xiàn)的。
目錄信息一般由表示符“TOC”或者是目錄級別標(biāo)識確定。同時由于目錄一般屬于超鏈接形式其標(biāo)識為“hyperlink”。
以上所有的內(nèi)容均是按照讀取普通XML文檔格式的方式根據(jù)基本信息的標(biāo)識符信息來讀取相應(yīng)的內(nèi)容加載到不同的位置進(jìn)行顯示。
2 結(jié)束語
Office Open XML的基本存儲結(jié)構(gòu)為利用.NET對word文檔基本內(nèi)容讀取解析提供了很大的便利。讓我們對word2007的存儲結(jié)構(gòu)有了更加輕松深刻的了解。本文所述的情況為基本情況下的文檔讀取與解析過程,不包括自定義一些文檔特殊格式或者是添加了內(nèi)容控件等情況。由于只是初學(xué)階段,一些復(fù)雜的文檔的讀取解析過程會在后續(xù)介紹。
參考文獻(xiàn):
[1]楊杰.VSTO.NET平臺下嶄新的MS Office開發(fā)技術(shù)[J].黑龍江科技信息,2008,(02).
[2]顧秀君,解洪成.制作交互式電子技術(shù)手冊標(biāo)準(zhǔn)化要求.江蘇船舶,2004,21(5):38-41.
[3]Yvonne Barnard, Matthias Reiss. User-centered innovation of electronic documentation for Maintenance.
[4]Peter Brusilovsky, David W. Cooper. Domain, Task, and User Models for an Adaptive Hypermedia Performance Support System. IUI’02, SanFrancisco, California, USA, January 2002:13-16.
[5]Tri-Service Working Group for Interactive Electronic Technical Manuals. Interoperability of Interactive Electronic Technical Manuals. May,2000.
[6] Microsoft Word Program Manager Zeyad Rajab. Open XML SDK and Microsoft Office 2010.07/06/2010.
作者簡介:隋欣(1983.7-),男,吉林省吉林市人,助教,碩士研究生,研究方向:計算機(jī)應(yīng)用;張軍輝(1986.10-),女,山東煙臺人,碩士研究生,研究方向:計算機(jī)應(yīng)用。
作者單位:吉林省教育學(xué)院職業(yè)與成人教育教研培訓(xùn)院,長春 130022;長春理工大學(xué)計算機(jī)科學(xué)技術(shù)學(xué)院,長春 130022