《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 多類型文檔檢索和轉(zhuǎn)換技術(shù)研究

多類型文檔檢索和轉(zhuǎn)換技術(shù)研究

2015-04-28
作者:李培國, 葉 嫣
關(guān)鍵詞: 電子文檔 云時代 POI Lucene

摘  要云時代的到來,企業(yè)電子文檔的日益增長,預(yù)示著電子文檔管理工作的重要性。結(jié)合POI和Aspose等工具,提出基于POI和Aspose組件的文檔檢索和在線瀏覽實現(xiàn)方式。著重闡明POI與Lucene結(jié)合的文檔檢索,以及基于Aspose組件的文檔轉(zhuǎn)換和在線瀏覽的功能實現(xiàn)。

關(guān)鍵詞: 電子文檔; POI; Aspose; Lucene

       隨著云時代的到來,企業(yè)內(nèi)部的各種信息數(shù)據(jù)量也在飛速增長,正在步入大數(shù)據(jù)時代[1];企業(yè)內(nèi)部每天都會產(chǎn)生大量的各種類型的電子文檔[2],包括各種客戶信息、產(chǎn)品信息、技術(shù)資料、培訓(xùn)資料等。如何對這些數(shù)量龐大、種類繁多的電子文檔進行統(tǒng)一的管理,對于企業(yè)來說是一個亟待解決的問題。同時,對這些文檔的有效分析和管理,對于企業(yè)分析客戶信息、判斷市場走向,以及構(gòu)建企業(yè)知識庫等方面都有很大的實際意義。

  在這些文檔管理的工作中,需要解決文檔的保存類型和顯示方式的問題。本文主要研究了各種類型文檔的內(nèi)容提取技術(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以前的版本均采用二進制文件格式,從2007版本開始采用新的Open XML[3]文件格式;PDF[4]作為便攜式文檔格式,具有獨立于系統(tǒng)軟硬件環(huán)境的版式文檔格式,在文檔管理中承擔(dān)越來越重要的地位。

       1.2 POI工具介紹

     POI是開源組織Apache下面的子項目,提供Java語言的API對Microsoft Office文檔的處理功能;POI支持Office 2007以前的二進制文件格式,以及Office 2007以后的Open XML格式文檔。

     針對幾種主要的Office文檔,POI提供以下幾個核心類:

Word:HWPF 處理二進制文件格式(.doc),XWPF 處理Open XML文件格式(.docx)。

Excel:HSSF處理二進制文件格式(.xsl),XSSF 處理Open XML文件格式(.xslx)。

PowerPoint:HSLF 處理二進制文件格式(.ppt),XSLF 處理Open XML文件格式(.pptx)。

      POI通過以上的幾個核心類,可以對Office文檔進行內(nèi)容讀取和內(nèi)容更新等操作;利用POI的內(nèi)容提取功能,結(jié)合使用Apache的子項目Lucene全文檢索工具,可以實現(xiàn)對上述三大類Office文檔的全文檢索操作,大大提高對文檔的使用價值。

      目前,POI還沒有針對PDF文檔格式進行處理的功能。

       2 文檔轉(zhuǎn)換技術(shù)

文檔管理使用中的另一個要解決的問題是文檔轉(zhuǎn)換技術(shù)。下面討論目前比較流行的幾種轉(zhuǎn)換技術(shù)。

       2.1 FlashPaper工具介紹

FlashPaper[5]是Macromedia公司開發(fā)的一款文檔轉(zhuǎn)換工具。FlashPaper支持大部分的電子文檔格式,通過虛擬打印方式轉(zhuǎn)化為swf格式,再通過Flash在線展示轉(zhuǎn)換后的swf文件。FlashPaper如下幾個特點:

       (1)支持文檔類型廣泛;

       (2)可以進行批量文檔轉(zhuǎn)換;

       (3)轉(zhuǎn)換的swf文件可以在支持Flash的任何平臺上播放,具有跨平臺性;

       同時,作為一款虛擬打印轉(zhuǎn)換工具,F(xiàn)lashPaper也存在以下不足:

       (1)工具本身只支持Windows平臺,不具備跨平臺性;

       (2)不具備多線程能力;

       (3)瀏覽文檔必須支持Flash;

       (4)在集成開發(fā)時,進行無縫集成比較困難。

      FlashPaper作為目前應(yīng)用非常廣泛的文檔轉(zhuǎn)換工具,已經(jīng)應(yīng)用在很多領(lǐng)域;包括教育、企業(yè)培訓(xùn)、互聯(lián)網(wǎng)等;能夠在轉(zhuǎn)換后,保持原有文檔的所有排版樣式,包括段落、字體等;同時,swf的文件格式也有利于轉(zhuǎ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就可以實現(xiàn),可方便地集成到系統(tǒng)中。

      與FlashPaper不同,Aspose的組件提供文檔轉(zhuǎn)換API,可以將文檔統(tǒng)一轉(zhuǎn)換為HTML格式,直接通過瀏覽器就可以查看;轉(zhuǎn)換后也基本上保留了文檔原有的樣式。轉(zhuǎn)換后的HTML格式,則更有利于在各種平臺進行瀏覽,甚至包括移動終端,只要能夠查看HTML即可。

       Aspose的使用流程圖如圖1所示。

1.jpg

      Aspose作為組件工具,具有以下的優(yōu)點:可與應(yīng)用系統(tǒng)無縫集成;具有多種平臺版本可供選擇,有一定的跨平臺性;豐富文檔操作API;可以進行多線程操作;可以進行多種格式的轉(zhuǎn)換,并且支持HTML格式輸出。

       Aspose作為一套強大的文檔管理組件,能夠完成幾乎所有用戶需要的文檔操作需求;而這些操作可以完全由這些組件的API獨立完成,不需要任何其他的支持;同時,在操作和轉(zhuǎn)換文檔的過程中,能夠基本完美地保留原有的樣式,實現(xiàn)文檔的無失真轉(zhuǎn)換和操作。

       3 應(yīng)用研究

       在企業(yè)電子文檔管理系統(tǒng)中,需要包含很多模塊,如文檔上傳下載、文檔版本控制、文檔備份管理、歸檔管理、文檔檢索、文檔瀏覽等;本文主要研究文檔的檢索和文檔的在線瀏覽兩個模塊。

       3.1 文檔檢索

     文檔檢索,主要就是系統(tǒng)根據(jù)用戶輸入的關(guān)鍵字,搜索出包含相應(yīng)關(guān)鍵字的文檔。檢索方式包括:

       (1)屬性檢索:在屬性字段中匹配搜索關(guān)鍵字,如作者、文檔創(chuàng)建時間、文檔主題等;

       (2)全文檢索:在文檔的全文中匹配搜索關(guān)鍵字。

       首先通過POI工具提供的API讀取電子文檔的屬性和內(nèi)容;讀取的內(nèi)容如果是中文,還需要進一步的分詞、語義分析等操作;根據(jù)讀取的內(nèi)容使用Lucene建立 文檔的索引,供文檔檢索時使用;用戶檢索文檔時,輸入搜索關(guān)鍵字,調(diào)用Lucene的檢索API,完成對文檔的檢索操作。文檔檢索模塊的流程如圖2所示。

2.jpg

       3.2 文檔在線瀏覽

      為了能夠更方便地進行在線瀏覽,本文選擇將文檔統(tǒng)一轉(zhuǎn)換為HTML格式,這樣可以隨時隨地通過瀏覽器進行在線瀏覽并且具備最好的跨平臺性。

       本文采用前文提到的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格式。在用戶瀏覽文檔時,直接調(diào)用該文檔對應(yīng)的HTML即可。

       針對電子文檔管理系統(tǒng)中的文檔檢索和在線瀏覽兩大功能,本文提出了基于POI結(jié)合Lucene的文檔檢索功能實現(xiàn),以及使用Aspose組件實現(xiàn)文檔轉(zhuǎn)為HTML格式,進行在線瀏覽。POI和Lucene都是Apache下的子項目,具有一脈相承的特點,能夠很好地結(jié)合應(yīng)用,實現(xiàn)文檔檢索功能;Aspose作為一款強大文檔處理組件,能夠?qū)⒍喾N文檔類型統(tǒng)一地轉(zhuǎn)換成HTML格式,實現(xiàn)文檔最大程度的跨平臺在線瀏覽。

       目前已經(jīng)有很多成熟的文檔管理系統(tǒng)以及知識庫系統(tǒng)等。本文從不同的角度,提供更多文檔管理中的技術(shù)實現(xiàn)方式,以及更多的技術(shù)選擇。

參考文獻

[1] 馮偉.大數(shù)據(jù)時代面臨的信息安全機遇和挑戰(zhàn)[J]. 中國科技投資,2012(34):49-53.

[2] 閆冬. 電子文檔管理的現(xiàn)狀、特點以及建議[J]. 長春教育學(xué)院學(xué)報,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]. 微型機與應(yīng)用,2013,32(11):19-21.

[5] 祁興華, 鮑劍洋. 基于FlashPaper的教學(xué)網(wǎng)站文檔轉(zhuǎn)換系統(tǒng)的研究與設(shè)計[J].辦公自動化, 2012(11):59-60.


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。