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