摘 要: 云時(shí)代的到來,,企業(yè)電子文檔的日益增長,,預(yù)示著電子文檔管理工作的重要性。結(jié)合POI和Aspose等工具,,提出基于POI和Aspose組件的文檔檢索和在線瀏覽實(shí)現(xiàn)方式。著重闡明POI與Lucene結(jié)合的文檔檢索,,以及基于Aspose組件的文檔轉(zhuǎn)換和在線瀏覽的功能實(shí)現(xiàn)。
關(guān)鍵詞: 電子文檔; POI; Aspose; Lucene
隨著云時(shí)代的到來,,企業(yè)內(nèi)部的各種信息數(shù)據(jù)量也在飛速增長,,正在步入大數(shù)據(jù)時(shí)代[1];企業(yè)內(nèi)部每天都會產(chǎn)生大量的各種類型的電子文檔[2],,包括各種客戶信息,、產(chǎn)品信息、技術(shù)資料,、培訓(xùn)資料等,。如何對這些數(shù)量龐大、種類繁多的電子文檔進(jìn)行統(tǒng)一的管理,,對于企業(yè)來說是一個(gè)亟待解決的問題,。同時(shí),對這些文檔的有效分析和管理,,對于企業(yè)分析客戶信息,、判斷市場走向,以及構(gòu)建企業(yè)知識庫等方面都有很大的實(shí)際意義,。
在這些文檔管理的工作中,,需要解決文檔的保存類型和顯示方式的問題。本文主要研究了各種類型文檔的內(nèi)容提取技術(shù)和文檔檢索功能實(shí)現(xiàn),、統(tǒng)一格式轉(zhuǎ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)越來越重要的地位。
1.2 POI工具介紹
POI是開源組織Apache下面的子項(xiàng)目,,提供Java語言的API對Microsoft Office文檔的處理功能,;POI支持Office 2007以前的二進(jìn)制文件格式,以及Office 2007以后的Open XML格式文檔,。
針對幾種主要的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通過以上的幾個(gè)核心類,,可以對Office文檔進(jìn)行內(nèi)容讀取和內(nèi)容更新等操作,;利用POI的內(nèi)容提取功能,結(jié)合使用Apache的子項(xiàng)目Lucene全文檢索工具,,可以實(shí)現(xiàn)對上述三大類Office文檔的全文檢索操作,,大大提高對文檔的使用價(jià)值。
目前,,POI還沒有針對PDF文檔格式進(jìn)行處理的功能,。
2 文檔轉(zhuǎn)換技術(shù)
文檔管理使用中的另一個(gè)要解決的問題是文檔轉(zhuǎn)換技術(shù)。下面討論目前比較流行的幾種轉(zhuǎn)換技術(shù),。
2.1 FlashPaper工具介紹
FlashPaper[5]是Macromedia公司開發(fā)的一款文檔轉(zhuǎn)換工具,。FlashPaper支持大部分的電子文檔格式,通過虛擬打印方式轉(zhuǎn)化為swf格式,,再通過Flash在線展示轉(zhuǎn)換后的swf文件,。FlashPaper如下幾個(gè)特點(diǎn):
(1)支持文檔類型廣泛;
(2)可以進(jìn)行批量文檔轉(zhuǎn)換,;
(3)轉(zhuǎn)換的swf文件可以在支持Flash的任何平臺上播放,,具有跨平臺性;
同時(shí),,作為一款虛擬打印轉(zhuǎn)換工具,,F(xiàn)lashPaper也存在以下不足:
(1)工具本身只支持Windows平臺,不具備跨平臺性;
(2)不具備多線程能力,;
(3)瀏覽文檔必須支持Flash,;
(4)在集成開發(fā)時(shí),進(jìn)行無縫集成比較困難,。
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)換的組件,用于無縫集成到其他的文檔管理系統(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平臺組件,、Java平臺組件,、Cloud API、Android平臺組件等,,以滿足不同的開發(fā)集成需要。
Aspose提供的組件有豐富的文檔操作API,,主要包括:文檔內(nèi)容讀取,、創(chuàng)建文檔、編輯文檔特定內(nèi)容,、操作文檔內(nèi)容的樣式,、文檔格式轉(zhuǎn)換等。這些功能只要通過簡單地調(diào)用組件提供的API就可以實(shí)現(xiàn),,可方便地集成到系統(tǒng)中,。
與FlashPaper不同,Aspose的組件提供文檔轉(zhuǎn)換API,,可以將文檔統(tǒng)一轉(zhuǎn)換為HTML格式,,直接通過瀏覽器就可以查看;轉(zhuǎn)換后也基本上保留了文檔原有的樣式,。轉(zhuǎn)換后的HTML格式,,則更有利于在各種平臺進(jìn)行瀏覽,甚至包括移動終端,,只要能夠查看HTML即可,。
Aspose的使用流程圖如圖1所示。
Aspose作為組件工具,,具有以下的優(yōu)點(diǎn):可與應(yīng)用系統(tǒng)無縫集成,;具有多種平臺版本可供選擇,有一定的跨平臺性,;豐富文檔操作API,;可以進(jìn)行多線程操作;可以進(jìn)行多種格式的轉(zhuǎn)換,,并且支持HTML格式輸出,。
Aspose作為一套強(qiáng)大的文檔管理組件,能夠完成幾乎所有用戶需要的文檔操作需求,;而這些操作可以完全由這些組件的API獨(dú)立完成,,不需要任何其他的支持,;同時(shí),在操作和轉(zhuǎn)換文檔的過程中,,能夠基本完美地保留原有的樣式,,實(shí)現(xiàn)文檔的無失真轉(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)鍵字,。
首先通過POI工具提供的API讀取電子文檔的屬性和內(nèi)容;讀取的內(nèi)容如果是中文,,還需要進(jìn)一步的分詞,、語義分析等操作;根據(jù)讀取的內(nèi)容使用Lucene建立 文檔的索引,,供文檔檢索時(shí)使用,;用戶檢索文檔時(shí),輸入搜索關(guān)鍵字,,調(diào)用Lucene的檢索API,,完成對文檔的檢索操作。文檔檢索模塊的流程如圖2所示,。
3.2 文檔在線瀏覽
為了能夠更方便地進(jìn)行在線瀏覽,,本文選擇將文檔統(tǒng)一轉(zhuǎn)換為HTML格式,這樣可以隨時(shí)隨地通過瀏覽器進(jìn)行在線瀏覽并且具備最好的跨平臺性,。
本文采用前文提到的Aspose組件,,集成到文檔管理系統(tǒng)中;通過Aspose提供的轉(zhuǎn)換API完成電子文檔轉(zhuǎn)換為HTML的工作,。Aspose組件的使用相對比較簡單,,以Java版本為例,,.docx文檔的轉(zhuǎn)換過程大致如下:
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();
}
通過如上的轉(zhuǎn)換,就可以將電子文檔轉(zhuǎn)換為HTML格式,。在用戶瀏覽文檔時(shí),直接調(diào)用該文檔對應(yīng)的HTML即可,。
針對電子文檔管理系統(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)文檔最大程度的跨平臺在線瀏覽,。
目前已經(jīng)有很多成熟的文檔管理系統(tǒng)以及知識庫系統(tǒng)等。本文從不同的角度,,提供更多文檔管理中的技術(shù)實(shí)現(xiàn)方式,,以及更多的技術(shù)選擇。
參考文獻(xiàn)
[1] 馮偉.大數(shù)據(jù)時(shí)代面臨的信息安全機(jī)遇和挑戰(zhàn)[J]. 中國科技投資,,2012(34):49-53.
[2] 閆冬. 電子文檔管理的現(xiàn)狀,、特點(diǎn)以及建議[J]. 長春教育學(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].辦公自動化, 2012(11):59-60.