摘 要: 云時(shí)代的到來(lái),企業(yè)電子文檔的日益增長(zhǎng),預(yù)示著電子文檔管理工作的重要性。結(jié)合POI和Aspose等工具,提出基于POI和Aspose組件的文檔檢索和在線瀏覽實(shí)現(xiàn)方式。著重闡明POI與Lucene結(jié)合的文檔檢索,以及基于Aspose組件的文檔轉(zhuǎn)換和在線瀏覽的功能實(shí)現(xiàn)。
關(guān)鍵詞: 電子文檔; POI; Aspose; Lucene
隨著云時(shí)代的到來(lái),企業(yè)內(nèi)部的各種信息數(shù)據(jù)量也在飛速增長(zhǎng),正在步入大數(shù)據(jù)時(shí)代[1];企業(yè)內(nèi)部每天都會(huì)產(chǎn)生大量的各種類型的電子文檔[2],包括各種客戶信息、產(chǎn)品信息、技術(shù)資料、培訓(xùn)資料等。如何對(duì)這些數(shù)量龐大、種類繁多的電子文檔進(jìn)行統(tǒng)一的管理,對(duì)于企業(yè)來(lái)說(shuō)是一個(gè)亟待解決的問(wèn)題。同時(shí),對(duì)這些文檔的有效分析和管理,對(duì)于企業(yè)分析客戶信息、判斷市場(chǎng)走向,以及構(gòu)建企業(yè)知識(shí)庫(kù)等方面都有很大的實(shí)際意義。
在這些文檔管理的工作中,需要解決文檔的保存類型和顯示方式的問(wèn)題。本文主要研究了各種類型文檔的內(nèi)容提取技術(shù)和文檔檢索功能實(shí)現(xiàn)、統(tǒng)一格式轉(zhuǎn)換的方法,以及在線瀏覽的問(wèn)題。
1 文檔內(nèi)容處理技術(shù)
1.1 常用文檔類型
常用的文檔類型包括:Microsoft Office Word、Microsoft Office Excel、Microsoft Office PowerPoint、PDF等。其中Microsoft Office 2007以前的版本均采用二進(jìn)制文件格式,從2007版本開始采用新的Open XML[3]文件格式;PDF[4]作為便攜式文檔格式,具有獨(dú)立于系統(tǒng)軟硬件環(huán)境的版式文檔格式,在文檔管理中承擔(dān)越來(lái)越重要的地位。
1.2 POI工具介紹
POI是開源組織Apache下面的子項(xiàng)目,提供Java語(yǔ)言的API對(duì)Microsoft Office文檔的處理功能;POI支持Office 2007以前的二進(jìn)制文件格式,以及Office 2007以后的Open XML格式文檔。
針對(duì)幾種主要的Office文檔,POI提供以下幾個(gè)核心類:
Word:HWPF 處理二進(jìn)制文件格式(.doc),XWPF 處理Open XML文件格式(.docx)。
Excel:HSSF處理二進(jìn)制文件格式(.xsl),XSSF 處理Open XML文件格式(.xslx)。
PowerPoint:HSLF 處理二進(jìn)制文件格式(.ppt),XSLF 處理Open XML文件格式(.pptx)。
POI通過(guò)以上的幾個(gè)核心類,可以對(duì)Office文檔進(jìn)行內(nèi)容讀取和內(nèi)容更新等操作;利用POI的內(nèi)容提取功能,結(jié)合使用Apache的子項(xiàng)目Lucene全文檢索工具,可以實(shí)現(xiàn)對(duì)上述三大類Office文檔的全文檢索操作,大大提高對(duì)文檔的使用價(jià)值。
目前,POI還沒有針對(duì)PDF文檔格式進(jìn)行處理的功能。
2 文檔轉(zhuǎn)換技術(shù)
文檔管理使用中的另一個(gè)要解決的問(wèn)題是文檔轉(zhuǎn)換技術(shù)。下面討論目前比較流行的幾種轉(zhuǎn)換技術(shù)。
2.1 FlashPaper工具介紹
FlashPaper[5]是Macromedia公司開發(fā)的一款文檔轉(zhuǎn)換工具。FlashPaper支持大部分的電子文檔格式,通過(guò)虛擬打印方式轉(zhuǎn)化為swf格式,再通過(guò)Flash在線展示轉(zhuǎn)換后的swf文件。FlashPaper如下幾個(gè)特點(diǎn):
(1)支持文檔類型廣泛;
(2)可以進(jìn)行批量文檔轉(zhuǎn)換;
(3)轉(zhuǎn)換的swf文件可以在支持Flash的任何平臺(tái)上播放,具有跨平臺(tái)性;
同時(shí),作為一款虛擬打印轉(zhuǎn)換工具,F(xiàn)lashPaper也存在以下不足:
(1)工具本身只支持Windows平臺(tái),不具備跨平臺(tái)性;
(2)不具備多線程能力;
(3)瀏覽文檔必須支持Flash;
(4)在集成開發(fā)時(shí),進(jìn)行無(wú)縫集成比較困難。
FlashPaper作為目前應(yīng)用非常廣泛的文檔轉(zhuǎn)換工具,已經(jīng)應(yīng)用在很多領(lǐng)域;包括教育、企業(yè)培訓(xùn)、互聯(lián)網(wǎng)等;能夠在轉(zhuǎn)換后,保持原有文檔的所有排版樣式,包括段落、字體等;同時(shí),swf的文件格式也有利于轉(zhuǎn)換后的文檔進(jìn)行在線瀏覽。
2.2 Aspose文檔轉(zhuǎn)換組件
Aspose提供了一套文檔轉(zhuǎn)換的組件,用于無(wú)縫集成到其他的文檔管理系統(tǒng)中。目前Aspose主要有以下幾種主要的套件:
(1)Aspose.Words, 用于處理Office Word文檔(.doc,.docx);
(2)Aspose.Cells, 用于處理Office Excel文檔(.xls, .xlsx);
(3)Aspose.Slides,用于處理Office PowerPoint文檔(.ppt, .pptx);
(4)Aspose.Pdf,用于處理Pdf文檔。
Aspose提供了不同版本的組件,包括.Net平臺(tái)組件、Java平臺(tái)組件、Cloud API、Android平臺(tái)組件等,以滿足不同的開發(fā)集成需要。
Aspose提供的組件有豐富的文檔操作API,主要包括:文檔內(nèi)容讀取、創(chuàng)建文檔、編輯文檔特定內(nèi)容、操作文檔內(nèi)容的樣式、文檔格式轉(zhuǎn)換等。這些功能只要通過(guò)簡(jiǎn)單地調(diào)用組件提供的API就可以實(shí)現(xiàn),可方便地集成到系統(tǒng)中。
與FlashPaper不同,Aspose的組件提供文檔轉(zhuǎn)換API,可以將文檔統(tǒng)一轉(zhuǎn)換為HTML格式,直接通過(guò)瀏覽器就可以查看;轉(zhuǎn)換后也基本上保留了文檔原有的樣式。轉(zhuǎn)換后的HTML格式,則更有利于在各種平臺(tái)進(jìn)行瀏覽,甚至包括移動(dòng)終端,只要能夠查看HTML即可。
Aspose的使用流程圖如圖1所示。
Aspose作為組件工具,具有以下的優(yōu)點(diǎn):可與應(yīng)用系統(tǒng)無(wú)縫集成;具有多種平臺(tái)版本可供選擇,有一定的跨平臺(tái)性;豐富文檔操作API;可以進(jìn)行多線程操作;可以進(jìn)行多種格式的轉(zhuǎn)換,并且支持HTML格式輸出。
Aspose作為一套強(qiáng)大的文檔管理組件,能夠完成幾乎所有用戶需要的文檔操作需求;而這些操作可以完全由這些組件的API獨(dú)立完成,不需要任何其他的支持;同時(shí),在操作和轉(zhuǎn)換文檔的過(guò)程中,能夠基本完美地保留原有的樣式,實(shí)現(xiàn)文檔的無(wú)失真轉(zhuǎn)換和操作。
3 應(yīng)用研究
在企業(yè)電子文檔管理系統(tǒng)中,需要包含很多模塊,如文檔上傳下載、文檔版本控制、文檔備份管理、歸檔管理、文檔檢索、文檔瀏覽等;本文主要研究文檔的檢索和文檔的在線瀏覽兩個(gè)模塊。
3.1 文檔檢索
文檔檢索,主要就是系統(tǒng)根據(jù)用戶輸入的關(guān)鍵字,搜索出包含相應(yīng)關(guān)鍵字的文檔。檢索方式包括:
(1)屬性檢索:在屬性字段中匹配搜索關(guān)鍵字,如作者、文檔創(chuàng)建時(shí)間、文檔主題等;
(2)全文檢索:在文檔的全文中匹配搜索關(guān)鍵字。
首先通過(guò)POI工具提供的API讀取電子文檔的屬性和內(nèi)容;讀取的內(nèi)容如果是中文,還需要進(jìn)一步的分詞、語(yǔ)義分析等操作;根據(jù)讀取的內(nèi)容使用Lucene建立 文檔的索引,供文檔檢索時(shí)使用;用戶檢索文檔時(shí),輸入搜索關(guān)鍵字,調(diào)用Lucene的檢索API,完成對(duì)文檔的檢索操作。文檔檢索模塊的流程如圖2所示。
3.2 文檔在線瀏覽
為了能夠更方便地進(jìn)行在線瀏覽,本文選擇將文檔統(tǒng)一轉(zhuǎn)換為HTML格式,這樣可以隨時(shí)隨地通過(guò)瀏覽器進(jìn)行在線瀏覽并且具備最好的跨平臺(tái)性。
本文采用前文提到的Aspose組件,集成到文檔管理系統(tǒng)中;通過(guò)Aspose提供的轉(zhuǎn)換API完成電子文檔轉(zhuǎn)換為HTML的工作。Aspose組件的使用相對(duì)比較簡(jiǎn)單,以Java版本為例,.docx文檔的轉(zhuǎn)換過(guò)程大致如下:
try {
Document doc = new Document(fileName);
HtmlFixedSaveOptions sv1 = new HtmlFixedSaveOptions();
sv1.setPageIndex(0);
sv1.setPageCount(doc.getPageCount());
sv1.setPrettyFormat(true);
sv1.setExportEmbeddedCss(true);
sv1.setExportEmbeddedFonts(true);
sv1.setExportEmbeddedImages(true);
doc.save("output.html", sv1);
} catch (Exception e1) {
e1.printStackTrace();
}
通過(guò)如上的轉(zhuǎn)換,就可以將電子文檔轉(zhuǎn)換為HTML格式。在用戶瀏覽文檔時(shí),直接調(diào)用該文檔對(duì)應(yīng)的HTML即可。
針對(duì)電子文檔管理系統(tǒng)中的文檔檢索和在線瀏覽兩大功能,本文提出了基于POI結(jié)合Lucene的文檔檢索功能實(shí)現(xiàn),以及使用Aspose組件實(shí)現(xiàn)文檔轉(zhuǎn)為HTML格式,進(jìn)行在線瀏覽。POI和Lucene都是Apache下的子項(xiàng)目,具有一脈相承的特點(diǎn),能夠很好地結(jié)合應(yīng)用,實(shí)現(xiàn)文檔檢索功能;Aspose作為一款強(qiáng)大文檔處理組件,能夠?qū)⒍喾N文檔類型統(tǒng)一地轉(zhuǎn)換成HTML格式,實(shí)現(xiàn)文檔最大程度的跨平臺(tái)在線瀏覽。
目前已經(jīng)有很多成熟的文檔管理系統(tǒng)以及知識(shí)庫(kù)系統(tǒng)等。本文從不同的角度,提供更多文檔管理中的技術(shù)實(shí)現(xiàn)方式,以及更多的技術(shù)選擇。
參考文獻(xiàn)
[1] 馮偉.大數(shù)據(jù)時(shí)代面臨的信息安全機(jī)遇和挑戰(zhàn)[J]. 中國(guó)科技投資,2012(34):49-53.
[2] 閆冬. 電子文檔管理的現(xiàn)狀、特點(diǎn)以及建議[J]. 長(zhǎng)春教育學(xué)院學(xué)報(bào),2009,25(03):144-145.
[3] RICE F. Introducing the Office (2007) Open XML File Formats[EB/OL].Microsoft Corporation.(2006-05)[2014-03] http://msdn.microsoft.com/en-us/ms406049(office.12).aspx.
[4] 孫殷, 王鵬. PostScript文件與PDF文件間數(shù)據(jù)轉(zhuǎn)換[J]. 微型機(jī)與應(yīng)用,2013,32(11):19-21.
[5] 祁興華, 鮑劍洋. 基于FlashPaper的教學(xué)網(wǎng)站文檔轉(zhuǎn)換系統(tǒng)的研究與設(shè)計(jì)[J].辦公自動(dòng)化, 2012(11):59-60.