在Chrome、Firefox、Edge等高版本瀏覽器中實如今線編輯、審閱Office文檔方案

1、背景

IEChrome 45Firefox 53如下版本的瀏覽器網頁中,可直接或間接調用微軟免費開源的ActiveX控件DsoFramer便可嵌入本地安裝的Office軟件實如今線編輯審閱Office文檔。然而好景不長,從2015年開始ChromeFirefox等新生代瀏覽器前後取消了對NPAPI插件的支持,在這些瀏覽器的後續版本中如何實現就成爲了技術難題。IE瀏覽器又因各類問題致使其不斷被用戶拋棄,市場份額已降到前端主流框架直接放棄兼容的地步。而隨着Windows系統及Office軟件的不斷升級DsoFramer穩定性和兼容性問題愈來愈多不支持64位瀏覽器不說也不支持金山WPS及開源的LibreOffice等辦公軟件,要命的是2008年以來微軟再無升級版發佈,致使其用於商業用途具備很大風險,除非本身有研發能力解決這些問題。雖然隨後有點聚WebOffice控件模仿DsoFramer接力舉起免費的大旗,爲其收費的電子印章產品導入客戶然而依然沒法克服ActiveX控件固有的缺陷,只能在32位的IE瀏覽器中使用不說,每每還須要修改終端電腦IE的默認安全設置實施成本高加載運行時彈警告致使用戶體驗差,這不如今點聚WebOffice的官方網頁和交流論壇也都沒了蹤跡,再也不繼續維護升級,由於沒開放源代碼,第三方也沒法修改其缺陷,其客戶再次被拋棄了前端

隨着SAAS模式的興起,純網頁實現的在線編輯或審閱Office文檔成爲了你們重點發力的方向,包括微軟、金山、谷歌、阿里巴巴、騰訊、字節跳動等巨頭在內的諸多公司紛紛發佈了本身的在線Office服務並不斷拓展其功能,對傳統OA廠家都形成了必定威脅。通過多年的發展,雖然這些在線文檔服務在多人協做分享、跨平臺、使用成本及便捷性、維護升級等方面具備優點,但存在的問題也着實很多。相對於桌面版Office來講,在線Office服務存在一些功能缺失,需網絡隨時在線方可用,而且不能保證徹底兼容桌面版生成的文檔、文檔內容複雜或表格記錄大時打開緩慢甚至直接卡死,多文檔同時編輯或嵌套內容難,版式文檔原樣呈現或打印效果有時沒法保證一致性,私密性、安全性不夠,在線服務器壓力大,最關鍵的是其開放能力不足很難整合到OACRMERP、企業網盤等系統做爲子模塊使用。另外,很多企業因爲歷史的緣由都已購置了桌面版Office的長期使用受權,也整合到了本身的各類業務系統中使用,也就很難再每一年付費切換到在線Office版使用,畢竟還面臨要改變用戶使用習慣的難題。因此最好的解決辦法仍是在原來的桌面版Office軟件之上經過技術手段讓其可順暢運行在ChromeFirefoxEdge360OperaQQ等主流版本瀏覽器中小程序

2、現有方案

實現微軟Office、金山WPS等桌面軟件嵌入瀏覽器網頁實如今線編輯或審閱docdocxxlsxlsxpptpptxwpset等辦公文檔,大致上有以下幾個方案:瀏覽器

一、 瀏覽器插件方案安全

此方案目前主要適用於IE瀏覽器,網頁中直接運行ActiveX控件調用桌面Office軟件自動化接口來實現。前述章節提到的免費DsoFramer及點聚WebOffice控件如此,收費的重慶軟航NTKO Office文檔控件、北京卓正PageOffice、廣州華爾太WebOffice控件也是如此。而在Chrome 45Firefox 53如下版本的瀏覽器中,收費的有江西金格iWebOffice智能文檔控件NPAPI插件中再調用ActiveX控件來請求桌面Office軟件自動化接口。這些商業收費控件,天然也爲知足OA等系統的需求作了一些兼容性處理,如兼容更高版本的Windows系統、微軟Office、金山WPS64位瀏覽器功能擴展如智能填報內容,文檔加密、版本管理、拆分合並,痕跡保留等。2015年開始在非IE瀏覽器取消NPAPI插件支持後的技術突圍過程當中,江西金格iWebOffice智能文檔控件表現相對突出,其基於Chrome瀏覽器PPAPI可信插件技術發佈的新版可用於兼容44以上版本,並經過在系統驅動層攔截並修改瀏覽器啓動參數解決了PPAPI可信插件必須經過命令行啓動瀏覽器才支持的技術難題,所以其銷售價格很是昂貴。然而採用系統驅動的底層技術方案可能致使操做系統藍屏死機不說,微軟對系統驅動程序管理愈來愈嚴格,每一年的數字證書費用也是一筆不小的開支,何況很多單位的等級保護要求是不容許用系統服務或驅動程序的。另外PPAPI插件並未獲得Firefox瀏覽器的支持只是一個過渡技術方案而已,這不Chrome2021年初已經取消了對Flash Player PPAPI插件的支持,也宣佈了20216月終止對 NaClPNaCl PPAPI插件的支持,這就完全宣告了瀏覽器插件模式即將壽終正寢。服務器

二、 特定瀏覽器方案網絡

爲了應對ChromeFirefox瀏覽器關閉插件接口後的技術挑戰,又但願保證原有業務系統的正常運行,一些實力較弱的公司只好推薦客戶繼續使用面臨安全漏洞威脅的低版本Chrome瀏覽器,或者推薦使用雙內核的國產360安全瀏覽器並要求切換到IE內核使用。實力稍強一點的公司基於Chromium低版本的內核開發特定版瀏覽器來確保NPAPI插件能夠繼續使用,用戶沒法享受高版本瀏覽器的功能不說,低版本內核存在的安全漏洞和程序BUG也沒法獲得修復。然而企業信息化系統每每是很是複雜的,對瀏覽器的要求比較高,極可能不支持這些特定版的瀏覽器,因此不能由於Office文檔控件只能在這些特定瀏覽器上運行而致使OA系統也跟着受到限制app

三、 外接程序方案框架

重慶軟航NTKO Office文檔控件、北京卓正PageOffice、廣州華爾太WebOffice控件等在NPAPI插件禁用後,紛紛採用瀏覽器外部協議(URL Procotol)方式來啓動獨立的Exe外接程序,而這個獨立程序會內嵌一個IE內核用來支持ActiveX控件的加載運行,也號稱兼容ChromeFirefox等高版本瀏覽器運行了。這種技術實現致使在網頁中每次啓動Office控件時,都會彈出一個不勝其煩的確認對話框讓最終用戶選擇,以下圖所示:ide

 

用戶使用體驗不好這些彈出的獨立進程窗口和瀏覽器原來的網頁窗口是徹底分離還涉及到兩個窗口之間的數據傳遞和控制問題增長了系統複雜性。若是用戶提早啓動了WordExcel等程序使用每每還會致使其控件在打開文檔時異常,對商業用途的客戶來講這種技術方案基本上是不可接受的。加密

四、 雙內核方案

此方案主要是依託Chrome瀏覽器上的擴展程序IETab來實現,商業用途是須要付費使用的。其原理是經過在Chrome標籤頁中加載一個IE內核渲染的網頁進行覆蓋顯示,這個網頁再調用好比DsoFramer控件實現Office文檔的編輯。因爲Chrome的擴展程序必須經過谷歌或微軟應用商店進行安裝致使此方案存在大規模自主可控部署難問題。並且IETab實現的效果是對整個網頁生效沒法在Chrome內核網頁中再實現局部加載IE內核網頁來顯示,何況IE對運行和下載ActiveX控件常彈出警告,用戶體驗不好,即便經過修改IE的默認安全設置來減小彈窗然而這個修改設置過程也須要專業的技術人員才能完成,大幅度增長了實施成本

、改進方案

經過上述總結的現有技術方案能夠看出,想要在當前主流版本的ChromeFirefoxEdge等瀏覽器網頁中內嵌桌面Office軟件實現文檔或表格在線編輯等功能,核心就在於如何在各瀏覽器中實現一個統一的不依賴瀏覽器自身擴展技術的外接系統,同時必須對各品牌及各版本的瀏覽器有比較好的兼容能力才具備較大的實用價值。因此改進方案就是在網頁中指定位置和大小,模擬實現一個內嵌到網頁中顯示的窗口,在這個窗口中再調用桌面Office軟件的自動化接口實現docxlsppt等文檔的操做。前端還必須可對這個窗口進行實時控制,並且窗口必須跟隨瀏覽器的移動和縮放、網頁滾動、標籤頁切換、關閉等操做進行自動聯動。這個窗口的宿主進程同時提供Web Socket的服務端和JSON打包命令的解析執行模塊,前端就能夠經過Web Socket鏈接後發送JSON打包的控制命令實現控制此窗口的動做。此方案能夠說是上述外接程序方案的升級版,關鍵差別在於此方案可實現內嵌WordExcelPowerPointWPS文字WPS表格等程序窗口到網頁指定區域運行的效果,並且拋棄了經過IE內核來加載ActiveX控件的方案,解決了用戶體驗差、加載緩慢和內存佔用高的問題。另外啓動這個外接程序是經過Web Socket鏈接實現的也解決了每次啓動都會彈提示的煩惱問題,還有就是要提供相似ActiveX控件的自動升級替代方案可實現靜默自動升級並額外增長了調用驗證機制確保外接程序的安全此技術方案早申請了軟件發明專利保護,並且已有對應實現的成熟軟件產品,這就是跨瀏覽器的原生小程序軟件系統PluginOK中間件(https://codechina.csdn.net/zorrosoft/pluginok),自發布以來成功應用到電力、醫療、交通、安防、保險、工業設計等行業客戶,得到了一致好評。其技術原理圖以下:

微軟Office網頁小程序(http://zorrosoft.com/Files/msofficeapplet.txt )金山WPS網頁小程序(http://zorrosoft.com/Files/WPSOfficeapplet.txt )都提供了豐富的二次開發接口並可根據本身須要進行二次開發。因爲這個改進方案提供的Office網頁控件接口和老方案的差別比較大,因此比較適合應用在新項目和新產品的中。那麼對於哪些已經調用了微軟DsoFramer,點聚WebOfficeNTKO Office等文檔控件的信息化系統是否有代價比較小的改造方案的升級方案呢?答案天然是確定的能夠藉助PluginOK中間件之上的IE控件小程序,動態實現雙內核的運行效果,相似現有方案中的雙內核方式,但解決了分發和在線升級的難題,同時可實如今Chrome網頁中局部加載顯示的效果,用戶體驗也獲得了大幅度提高。無需改變這些文檔控件的調用方式,只須要在網頁中判斷若是遇到的是非IE瀏覽器時,請求啓動IE控件小程序加載便可。這裏是實現的效果展現視頻:https://www.bilibili.com/video/BV1zp4y1n7R6/

、總結

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

相關文章
相關標籤/搜索