如何在瀏覽器中直接打開Word/Excel等Office文檔?


歷史背景


隨着協調辦公的興起,網頁在線編輯文檔也越來越廣泛,很多大公司也發布了在線Office,但是也存在很多問題。比如桌面版Office就存在一些功能缺失:需要網絡隨時保持在線、不能保存桌面生成的文檔、表格過大打開的時候卡死、多文檔同時編輯板式不一致等,最關鍵的是在線Office服務很難整合到自己公司的OA、GRM、ERP中去,最好的辦法還是需要在桌面Office基礎上,通過技術手段讓其流暢的運行在 Chrome、Firefox、Edge、360、Opera、QQ等主流版本瀏覽器中。

 

現有方案

 

1.瀏覽器插件方案
此方案只適用於IE瀏覽器,通過在網頁中 直接運行ActiveX控件調用桌面Office軟件的自動化接口來實現, 免費DsoFramer及點聚WebOffice控件都是基於此原理,另外一些收費的如: 重慶軟航NTKO Office文檔控件、北京卓正PageOffice、廣州華爾太WebOffice控件也是基於此原理。2021年初隨着Chrome 對 Flash Player PPAPI插件的支持,瀏覽器插件的方案就徹底失效了。

2.特定瀏覽器方案
一些公司為了降低開發成本,又想繼續使用公司原有系統,被迫繼續使用安全漏洞較多的低版本Chrome或者360等其他低版本瀏覽器,低版本瀏覽器的安全漏洞和BUG非常多,導致Office文檔控件在此基礎上行使用也困難重重。

3.外接程序方案
各瀏覽器禁用 NPAPI插件后,各個廠商紛紛使用瀏覽器外部協議來 啟動獨立的EXE外接程序,看起來問題得到了很好的解決,但是每次運行中用戶端都會彈出對話框,讓用戶不勝其煩。用戶體驗極差,如果用戶此時已經打開了文檔,還非常容易引起文檔異常,導致文件丟失等情況。

 

4.雙核方案
通過 Chrome等瀏覽器上的擴展程序IETab來實現,此方案同樣會有 ActiveX控件彈窗, 用戶體驗很差。

 

最終升級方案:

 

通過上述4個方案可以看出,如果想在主流瀏覽器中打開、編輯、保存微軟Office文檔,核心點就在於獨立於瀏覽器之外並且能很好兼容各瀏覽器。這個就是今天介紹的已經非常成熟的商業化產品—猿大師中間件。

 

猿大師中間件的微軟Office網頁小程序如何解決的呢?


原理就是在網頁中指定位置和大小,模擬實現一個內嵌到網頁中顯示的窗口,在這個窗口中再調用桌面Office軟件的自動化接口實現doc、xls、ppt等文檔的操作。

前端還必須可對這個窗口進行實時控制,而且窗口必須跟隨瀏覽器的移動和縮放、網頁滾動、標簽頁切換、關閉等操作進行自動聯動。這個窗口的宿主進程同時提供Web Socket的服務端和JSON打包命令的解析執行模塊,前端就可以通過Web Socket連接后發送JSON打包的控制命令實現控制此窗口的動作。此方案可以說是上述外接程序方案的升級版,關鍵差異在於此方案可實現內嵌Word、Excel、PowerPoint、WPS文字、WPS表格等程序窗口到網頁指定區域運行的效果,而且拋棄了通過IE內核來加載ActiveX控件的方案,解決了用戶體驗差、加載緩慢和內存占用高的問題。另外啟動這個外接程序是通過Web Socket連接實現的,也解決了每次啟動都會彈提示的煩惱問題,還有就是提供了類似ActiveX控件的自動升級方案,可在網頁中實現靜默自動升級,並額外增加了調用驗證機制確保外接程序的安全啟動。

另外猿大師中間件的微軟Office網頁小程序提供了豐富的二次開發接口,對現有系統改動比較小的前提下, 請求啟動IE控件小程序加載即可。

 

總結:

 

一個好的技術實施方案,首先是要滿足客戶的剛性需求,其次是盡量降低采購、開發、實施及維護的總成本,再次是要有良好的兼容性和穩定性,最后需盡量確保技術方案不能因為瀏覽器的升級而失效。本文基於當前最新的技術信息和實踐經驗,給大家提供了猿大師中間件搭配Office網頁小程序這樣一個穩定可靠、體驗好、兼容性佳的桌面Office文檔控件技術方案,尤其適合在內網處理復雜文檔和數據量大的表格場景,以供大家技術選型參考。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM