【摘要】為使用戶辦公不再受到時(shí)間、地點(diǎn)、工具等外界因素的約束,本文基于Android平臺(tái)對(duì)文件的瀏覽與PDF的轉(zhuǎn)換進(jìn)行了研究,通過應(yīng)用Apache POI、JavaMail和Android程序開發(fā)等技術(shù),實(shí)現(xiàn)了對(duì)PDF、Word、Excel文件進(jìn)行瀏覽、編輯、截屏并生成圖片文件,實(shí)現(xiàn)圖片格式轉(zhuǎn)換成PDF格式等功能。測(cè)試表明本文的應(yīng)用占用手機(jī)內(nèi)存量小,使用方便靈活,為手機(jī)用戶提供了一種新型移動(dòng)便捷式的辦公方式。
【關(guān)鍵詞】Android平臺(tái);文件瀏覽;PDF轉(zhuǎn)換
1.概述
隨著3G時(shí)代的到來,移動(dòng)終端設(shè)備得到了高速的發(fā)展,各類智能手機(jī)操作系統(tǒng)應(yīng)運(yùn)而生。作為開放式的手機(jī)操作系統(tǒng),Android憑借其友好的用戶體驗(yàn)、低廉的成本和較高的開放性擁有最大的用戶群體。根據(jù)2010年5月份《商業(yè)周刊》報(bào)道:2010年第一季度,基于谷歌Android操作系統(tǒng)的手機(jī)銷量超過了iPhone的銷量,市場(chǎng)份額達(dá)到28%[1]。與此同時(shí)人們的生活和工作方式不斷地轉(zhuǎn)向移動(dòng)化,尤其是辦公領(lǐng)域的移動(dòng)化更是成為人們急需的一種新型便捷的工作方式,因此開發(fā)一款基于Android的文件瀏覽與PDF轉(zhuǎn)換軟件必將受到用戶所喜愛,方便Android用戶的工作和生活。
1.1 Android
Android是一種基于Linux的開源手機(jī)操作系統(tǒng),采用了分層的架構(gòu)。第一層是Linux內(nèi)核,提供由操作系統(tǒng)內(nèi)核管理的底層基礎(chǔ)功能;第二層是中間件層,由函數(shù)庫(kù)和Android運(yùn)行時(shí)構(gòu)成;第三層是應(yīng)用程序框架層,提供了Android平臺(tái)基本的管理功能和組件重用機(jī)制;第四層是應(yīng)用程序?qū)?,提供了一系列核心?yīng)用程序[2]。
1.2 Apache POI
Apache HTTP Server(簡(jiǎn)稱Apache)是Apache軟件基金會(huì)的一個(gè)開放源碼的網(wǎng)頁服務(wù)器,可以在大多數(shù)計(jì)算機(jī)操作系統(tǒng)中運(yùn)行,由于其多平臺(tái)和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一,尤其對(duì)Linux的支持相當(dāng)完美。POI是Apache的一個(gè)子項(xiàng)目,其目的是提供對(duì)基于OOXML(Microsoft Office Open XML)和OLE2(Object Linking andEmbedding)各種文檔操作的Java APIs包[3]。
1.3 JavaMail
JavaMail是Sun提供的給開發(fā)者處理電子郵件相關(guān)的編程接口,可以用來處理email的API[4]。雖然JavaMail是Sun的API之一,但它目前還沒有被加在標(biāo)準(zhǔn)的java開發(fā)工具包中(Java Development Kit),在使用前必須另外下載JavaMail文件并加入到項(xiàng)目中去。
2.系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
本系統(tǒng)屬于移動(dòng)辦公應(yīng)用,基于Android 4.0及其以上平臺(tái),目標(biāo)用戶是Android手機(jī)用戶,以辦公人員、學(xué)生為主。軟件實(shí)現(xiàn)PDF、Word、Excel等文件的瀏覽功能;實(shí)現(xiàn)用郵件系統(tǒng)把瀏覽的文件以附件形式發(fā)送郵件;實(shí)現(xiàn)在文件瀏覽時(shí)的截屏功能,生成圖片文件,并實(shí)現(xiàn)圖片格式轉(zhuǎn)換成PDF格式功能;實(shí)現(xiàn)文件掃描功能,在瀏覽報(bào)紙雜志時(shí)可通過手機(jī)的照相功能將報(bào)紙內(nèi)容掃描并轉(zhuǎn)換成PDF文件。
2.1 系統(tǒng)物理架構(gòu)
本系統(tǒng)的物理架構(gòu)如圖1所示,主要包括后臺(tái)數(shù)據(jù)庫(kù)服務(wù)器、WEB服務(wù)器、Android前端等部分。其中客戶端采用Android操作系統(tǒng)(4.0版本以上),服務(wù)器端采用Tomcat WEB服務(wù)器。
2.2 系統(tǒng)功能設(shè)計(jì)
系統(tǒng)功能模塊分為五大模塊,分別為:
2.2.1 本地文件
本地文件模塊提供瀏覽本地Word、Excel、PDF及TXT文件格式文件的功能,用戶可以查看本地所有文件,支持文件縮放,選擇語句,添加注釋,復(fù)制,黏貼,等文件編輯功能。
2.2.2 最近瀏覽
最近瀏覽模塊顯示用戶最近瀏覽的文件,方便下次快速進(jìn)入瀏覽,用戶可以進(jìn)行打開文件、刪除文件、刪除記錄及清空記錄的操作。
2.2.3 搜索文件
搜索文件模塊顯示手機(jī)SD卡上所有Word、Excel、PDF文件,同樣可以進(jìn)行文件的打開與刪除,并可根據(jù)文件名進(jìn)行搜索文件。
2.2.4 掃描文件
用戶掃描文件來掃描報(bào)紙雜志等文件,并將可以其轉(zhuǎn)換為PDF文件方便閱讀。
2.2.5 偏好設(shè)置
提供給用戶相應(yīng)的設(shè)置,包括搜索文件設(shè)置和換膚功能、分享功能以及關(guān)于本軟件信息。
2.2.6 發(fā)送附件功能
將文本文件以附件形式發(fā)送郵件。
2.2.7 截屏功能
在文件瀏覽編輯狀態(tài)中,截取屏幕圖片,并能轉(zhuǎn)換為PDF格式文件保存在SD卡中。
2.2.8 分享功能。可分享該軟件到weibo、twiter等。
系統(tǒng)組織的結(jié)構(gòu)圖如圖2所示。
2.3 系統(tǒng)主要類圖
類圖是最常用的UML圖,可以顯示出類、接口以及它們之間的靜態(tài)結(jié)構(gòu)和關(guān)系。下面是在本系統(tǒng)在進(jìn)行文件瀏覽和PDF格式轉(zhuǎn)換時(shí)的主要類圖。
2.3.1 文件解析
Word2003和Excel2003采用Apache基金會(huì)的開源項(xiàng)目POI解析Word2007和Excel2007采用Zip格式讀取內(nèi)容。將Word轉(zhuǎn)換成Html文件;獲取Excel內(nèi)容存儲(chǔ)到集合。對(duì)于PDF采用MuPDF開源庫(kù)來解析。
2.3.2 文件顯示
Word采用WebWiew控件以網(wǎng)頁的形式顯示,Excel采用動(dòng)態(tài)布局的方式,設(shè)置一個(gè)Excel布局來顯示Excel內(nèi)容。PDF利用MuPDF開源庫(kù)提供的相應(yīng)接口顯示。
其中文件瀏覽類圖如圖3所示。
2.3.3 PDF文件格式的轉(zhuǎn)換
如圖4所示截屏功能類圖,實(shí)現(xiàn)了截屏功能,并可進(jìn)行圖片格式到PDF格式。
4.效果圖
圖5-10是系統(tǒng)的部分效果圖,測(cè)試的手機(jī)是小米MI3。其中圖5為軟件主界面;圖6-7分別為PDF、Excel格式文件的瀏覽效果;圖8-10分別是將Word截圖并轉(zhuǎn)換為PDF格式文件的效果圖。
5.結(jié)束語
本文通過應(yīng)用Android程序技術(shù)、Apache POI和JavaMail等技術(shù),在Android手機(jī)平臺(tái)上針對(duì)Word、Excel等文件進(jìn)行了研究,實(shí)現(xiàn)了文件的瀏覽編輯、截屏掃描及PDF的轉(zhuǎn)換等功能,使手機(jī)用戶不再受地點(diǎn)、工具等外界因素的約束進(jìn)行辦公文件操作,提供了一種新型移動(dòng)便捷式的工作方式。當(dāng)然本系統(tǒng)對(duì)EXCEL和PDF文件的編輯操作方面還優(yōu)待提高,需要在今后繼續(xù)進(jìn)行研究。
參考文獻(xiàn)
[1]NPD Group.Android Shakes Up U.S.Smartphone Market[Z].2010.
[2]高煥堂.Google Android應(yīng)用框架原理與程序設(shè)計(jì)36技[M].臺(tái)北:廣悅文化,2008:23-25.
[3]http://poi.apache.org/.
[4]http://www.oracle.com/technetwork/java/javamail/index.html.