陳引迪,李隱峰
(西安電子科技大學(xué) 電子信息工程學(xué)院,陜西 西安 710071)
隨著信息技術(shù)的快速發(fā)展和互聯(lián)網(wǎng)的普及,越來越多的用戶選擇在網(wǎng)絡(luò)上分享喜歡的文檔。然而,目前的網(wǎng)絡(luò)分享平臺,諸如網(wǎng)絡(luò)硬盤、論壇等都無法在線瀏覽用戶上傳的文檔內(nèi)容,當(dāng)其他用戶要閱讀文檔時,必須先將文檔下載到本地電腦,然后使用相應(yīng)格式的閱讀軟件打開,這導(dǎo)致用戶經(jīng)常下載了不符合需求的文檔,造成了用戶時間和網(wǎng)站服務(wù)器資源的雙重浪費。
構(gòu)建了一個集文檔上傳、格式轉(zhuǎn)換、在線瀏覽于一身的文檔在線瀏覽系統(tǒng)[1-2]。詳細(xì)分析了系統(tǒng)的功能性需求及架構(gòu),同時介紹了系統(tǒng)實現(xiàn)中所用到的框架、開源軟件及腳本語言等信息。
系統(tǒng)主要由文檔上傳、文檔格式轉(zhuǎn)換和文檔在線瀏覽3 部分組成:(1)文檔上傳。用戶首先在本系統(tǒng)注冊,登錄系統(tǒng)后可在文檔上傳頁面填寫文檔名稱、關(guān)鍵詞、摘要、類別、售價等信息,然后上傳文檔附件,得到系統(tǒng)上傳成功的反饋后關(guān)閉頁面即可。(2)文檔格式轉(zhuǎn)換。系統(tǒng)在接收到用戶上傳文檔后開始進(jìn)行文檔在線轉(zhuǎn)換,轉(zhuǎn)換過程將在下文詳細(xì)描述。(3)文檔在線瀏覽。文檔經(jīng)過格式轉(zhuǎn)換后,系統(tǒng)利用FlexPaper 開源組件[1]實現(xiàn)文檔的在線瀏覽,用戶可在文檔瀏覽界面對該文檔進(jìn)行評價及評分。
系統(tǒng)基于ThinkPHP 框架開發(fā)而成。ThinkPHP 是一個原創(chuàng)的、性能卓越、開發(fā)便捷高效的PHP 開發(fā)框架,其宗旨是利用有限的代碼完成最多的功能,使得開發(fā)過程更高效、簡單、有趣。
作為一個網(wǎng)絡(luò)系統(tǒng)開發(fā)框架,ThinkPHP 可以滿足開發(fā)者在系統(tǒng)開發(fā)過程中所遇到的絕大部分需求,它包括獨立的底層架構(gòu)、兼容性處理、基類庫、數(shù)據(jù)庫訪問層、模板引擎、緩存處理機制、插件應(yīng)用機制、角色認(rèn)證機制及表單自動處理等常用組件,也可方便地在不同平臺、不同版本的環(huán)境中開發(fā),并可在開發(fā)過程中訪問不同數(shù)據(jù)庫[3-5]。在開發(fā)過程中,開發(fā)者只需要關(guān)心系統(tǒng)業(yè)務(wù)邏輯和數(shù)據(jù)的處理。ThinkPHP 集成了大多數(shù)框架的功能,可以使用ThinkPHP 完成整個系統(tǒng)的開發(fā),無需使用多個框架結(jié)合開發(fā)。
文檔在線轉(zhuǎn)換所使用的工具包括WPS Office、PDF2SWF,利用PHP 嵌入式腳本語言調(diào)用上述工具可完成文檔格式的實時轉(zhuǎn)換。
編輯系統(tǒng)(Word Processing System,WPS),是金山軟件公司的一種辦公軟件。WPS 能提供COM 組件,用戶可使用多種編程語言調(diào)用其組件進(jìn)行各種文檔格式間的轉(zhuǎn)換[6]。
作為一個免費的文檔編輯系統(tǒng),WPS Office 比MS Office 有以下優(yōu)點:兼容并提升辦公效率:文檔在高度兼容的基礎(chǔ)上創(chuàng)新,更好地適應(yīng)企業(yè)辦公信息化需求。
(1)有利于信息化發(fā)展。企業(yè)信息化是企業(yè)迎接新挑戰(zhàn)的重要工具,專業(yè)的軟件公司可以為企業(yè)提供更務(wù)實、準(zhǔn)確的建議和支持配合。
(2)有保障的售后服務(wù)技術(shù)支持。公司強大的售后服務(wù)和技術(shù)支持,真正使辦公軟件發(fā)揮辦公信息化的作用,提升企業(yè)整體辦公效率、安全、發(fā)展。
SWFTools 是一種實用工具與swf 文件工作的集合,該工具集包括用于閱讀的swf 文件,以及結(jié)合他們建立的其他程序。PDF2SWF 是其下一個將pdf 文件創(chuàng)建為數(shù)字化翻頁雜志的工具??蓪⑶逦豴df 文檔變成數(shù)碼雜志,且翻動內(nèi)容的過程與紙質(zhì)書一樣,創(chuàng)建的所有文件都由html、xml 和swf 文件組成,可發(fā)布到網(wǎng)絡(luò)[7-8]。
文檔格式轉(zhuǎn)換分為兩步:將word、excel、ppt 等Office文件轉(zhuǎn)換為pdf 文件,及pdf 文件轉(zhuǎn)換為swf 文件。
2.3.1 Office 文檔轉(zhuǎn)換為pdf 文件
使用PHP 調(diào)用WPS 的COM 組件,可將word、excel、ppt 等MS Office 文檔在線轉(zhuǎn)換為WPS Office 格式,并繼續(xù)轉(zhuǎn)換為pdf 文件[2]。具體代碼如下:
(1)Word 文檔(doc、docx、rtf、wps)格式轉(zhuǎn)換代碼如圖1 所示。
圖1 Word 文檔格式轉(zhuǎn)換
(2)Excel 文檔(xls、xlsx、et)和ppt 文檔(ppt、pptx、dps)格式轉(zhuǎn)換代與之類似。
2.3.2 pdf 文件轉(zhuǎn)換為swf 文件
考慮到服務(wù)器壓力和用戶體驗的問題,本文放棄了在線實時轉(zhuǎn)換文檔格式的方案,選擇了在后臺將pdf文件轉(zhuǎn)換為swf 文件[2]。具體過程如下:
(1)編寫pdf2swf.php 文件,讀取數(shù)據(jù)庫中未轉(zhuǎn)換為swf 文件的pdf 的信息,并寫入a.bat 文件,代碼如圖2所示。
圖2 pdf2swf.php 內(nèi)容
(2)編寫pdf2swf.bat 文件,利用Windows 計劃任務(wù)功能,定時執(zhí)行pdf2swf.php,文件內(nèi)容如圖3 所示。
圖3 pdf2swf.bat 內(nèi)容
(3)定義計劃任務(wù)定時執(zhí)行a.bat,利用cmd 命令行調(diào)用pdf2swf.exe,生成swf 文件,如圖4 所示。
圖4 cmd 命令行調(diào)用pdf2swf.exe
文檔格式轉(zhuǎn)換完成后,系統(tǒng)將調(diào)用FlexPaper 開源組件讀取相應(yīng)swf 文件,并在文檔瀏覽頁面顯示文檔內(nèi)容。文檔在線顯示效果如圖5 所示。
圖5 文檔在線瀏覽效果
文中介紹了如何將Office 文件轉(zhuǎn)換為swf 文件,并利用FlexPaper 組件在線顯示。此方法有效減少了服務(wù)器資源占用,提高了用戶體驗滿意度,可應(yīng)用于大型文檔共享網(wǎng)站文檔在線瀏覽的實現(xiàn),具有較強的實用性。
[1] 百度百科.FlexPaper[EB/OL].(2011-03-24)[2012-05-06]http://baike.baidu.com/view/3948797.htm.
[2] 在線文檔顯示組件.FlexPaper[EB/OL].(2010-01-05)[2012-06-07]http://www.oschina.net/p/flexpaper.
[3] DevaldiLtd.FlexPaper[EB/OL].(2010-12-01)[2012-06-07]http://flexpaper.devaldi.com/Docs.html.
[4] 冀明.Web 文檔的首選語言[J].電子科技,2001(9):30-31.
[5] 王顯斌.DSpace 系統(tǒng)在線瀏覽功能的實現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,2013(6):186-187.
[6] 李秋玲,李寧,田英愛.基于Web Service 的辦公文檔格式安全轉(zhuǎn)換服務(wù)[J].北京信息科技大學(xué)學(xué)報:自然科學(xué)版,2013,28(1):56-61.
[7] 蘇中,馬少平,楊強,等.基于Web-Log Mining 的Web 文檔聚類[J].軟件學(xué)報,2002,13(1):99-104.
[8] 董斌,陳進(jìn)哲,張瑜.基于本體的Web 文檔知識獲取的框架研究[J].計算機與信息技術(shù),2008(7):15-16,19.