本文主要目錄:
1、功能概述
2、安裝配置
3、程式結構
4、運行效果
1、功能概述
最近研究了一下線上文檔瀏覽器,感覺這個東西很值得封裝成為一個平台級的組件,為什麼這麼說呢?因為在我們的傳統的應用系統或網站中,我們的文檔瀏覽功能對用戶端有很大的限制,例如客戶要想在他用戶端上瀏覽word格式文檔就必須安裝Office套件,瀏覽pdf時必須裝pdf閱讀器等,這樣使用者的體驗可想而知,為了提高使用者的體驗,增強各個應用產品的品質,做成一個平台級組件是非常有必要的。
文檔線上瀏覽器的主要功能包括:檔案上傳、檔案格式轉換、檔案瀏覽等功能。
1.1、目標
盡量給客戶提供一個免外掛程式瀏覽的環境,這樣COM、silverlight等不流行的外掛程式基本被排除,flash成為首選,目前flash已基本上綁定在瀏覽器上,它的通用性非常強,用它沒錯。
文檔瀏覽低延遲,對於大附件可以採用非同步方式,比如切片的形式,把大附件切成一頁一頁,使用者選擇第幾頁就直接顯示第幾個切片,這樣即時性比較有保障。
檔案上傳格式多樣性,支援上傳gif、png、jpg、pdf、txt、doc(x)、ppt(x)、xls(x)等,檔案輸出為swf格式。
1.2、需求矩陣
在瞭解了文檔瀏覽器的準系統和我們的應用目標之後,我們怎麼去具體進行需求的分析呢,這裡用需求矩陣來把需求整理出來,需求=功能+品質+約束,這個公式確實很清晰,我現在基本上都用它做需求分析,見,我們從組織、使用者、開發3個層面去充分分析了所有需求,這樣我們接下來就可以做設計、技術選型、開發等工作了。
1.3、技術選型
檔案上傳組件:jquery.uploadify;
Office轉換pdf:Microsoft.Office.Interop.Excel、Microsoft.Office.Interop.Word等;
pdf\圖片轉換swf:swftools;
文檔瀏覽組件:FlexPapper;
2、安裝配置(服務端)
運行前配置:
1. 安裝Swftools.exe(百度搜尋下載,0.9版本)
2. 安裝Office2010
3. 開啟print Spooler服務(一般系統預設開啟)
4. 作業系統:windows XP及以上版本。
回合組態:
1.配置檢測基本資料,:
測試結果都為“Yes”,點擊“On to step2”
2.配置文檔瀏覽器基本資料如:
上傳檔案儲存路徑為使用者上傳文檔所儲存的地址。
SWF產生路徑是源檔案轉換成SWF檔案所存放的路徑。
3、程式結構
這雷根據對需求的充分分析,文檔格式的轉換既是實現的痛點也是程式的核心,轉換的設計必須非常的優雅,通用和易維護性是重中之重,這裡採用原廠模式方式實現,這樣如果有新的文檔格式需要轉換時,只需要繼承文檔轉換抽象基類即可,抽象基類中的配置資訊、預設轉換方法可以直接複用,類圖詳見:
4、運行效果
通過本次封裝我們給各個開發項目提供了統一的文檔線上瀏覽器組件,項目中直接調用介面即可實現,運行效果參見,由於FlexPapper是開源的,如果我們如果對組件的外觀不滿意,可以直接修改FlexPapper的原始碼即可實現,所以對需求的變化可以快速反應,精準執行!
支援上傳gif、png、jpg、pdf、txt、doc(x)、ppt(x)、xls(x)