微軟方:利用office2007以上版本的一個pdf插件saveaspdfandxps.exe可以導出pdf檔案,然後再利用免費的swftools.exe工具生成swf格式的flash檔案,網頁中加載flexpaper免費開源工具(有廣告)實作flash檔案的預覽。
優點:
1、有效的保護的源檔案及檔案的複制,不可複制也是缺點。
2、源碼是自己的,版權有保證。
缺點:
1、伺服器上必須安裝office軟體。
2、導出pdf檔案本身是個列印過程,excel頁面格式未設定,會出現一張表格列印出多頁來,閱讀體驗大大下降。
3、轉換過程非常耗費資源,低配的cpu幾乎能跑滿,伺服器卡死。轉換時間也非常漫長,這個時間主要是卡在了轉換pdf上面。
4、轉換完成伺服器會遺留大量excel、word程序無法正常退出,有一些折中的解決辦法,可以在網上搜尋。
5、設定非常麻煩,本身微軟官方的說法office軟體是用戶端程式,在與iis互動的時候本身就未設計。是以很多程式員把精力浪費在了調試程式上面。有兩點在調試的時候需要注意。一個是在web.config中設定
<identity impersonate="true" username="administrator"
password="你的伺服器管理者密碼"
/>,一個是在office軟體的設定中設定跟桌面互動。
6、嚴重浪費磁盤空間,一個檔案還需要一個pdf檔案、一個swf檔案,是否每次都轉換,糾結是要硬碟空間呢還是要cpu的資源。
參考連結:
非微軟方:沒有微軟的office軟體可安裝,隻能用第三方的openoffice(開源、免費)來轉換pdf檔案,其它方面都一樣,優缺點一樣
利用flashpaper直接轉換為swf檔案(虛拟列印機),然後利用flexpaper預覽flash檔案。
flashpaper是macromedia的一款産品,随着被adobe公司收購,macromedia對于這款軟體早就放棄了,國内尚無人在程式中調試成功過。
利用dcom配置直接操作office檔案,讀取檔案内容,導出html檔案
實踐證明此方法不科學。
2、配置麻煩,正如微軟所說,讀取office不是這麼幹的。
3、轉換的檔案格式均丢失。
4、僅限于iis伺服器,利用asp.net(c#)。
如科瀚的soaoffice中間件、卓正軟體的pageoffice控件、weboffice控件、國外的office viewer activex
control
可線上編輯等。
1、用戶端需安裝控件。
2、付費。
3、在html5、css3以及桌面向浏覽器轉換的大潮流下,控件已是昨日黃花。
微軟新出的線上文檔,與google文檔抗衡,估計沒谷歌文檔,微軟也懶得出這個
微軟自家的東西原生态呈現。
需架設一台單獨的伺服器(可以是虛拟機),配置過低能安裝,無法運作,另外還需一台域伺服器。而這兩台機器上均不能安裝其它程式,比如sqlserver,在office
web apps伺服器上每次重新開機iis會重置,也就是說你不能有任何其它網站。
如officeweb365、idocv
1、officeweb365采用的微軟的office
web
apps,idocv不詳。
2、省心省力、節省投入。
1、officeweb365隻能檢視不能編輯,文檔大小限制為10m,這也是office
apps的文檔限制大小,不過對于一般office檔案大小已綽綽有餘。
2、idocv的文檔還原能力不強,格式無法完全還原,特别是在excel與powerpoint上面,但無文檔大小限制。
通過設定mime類型,告訴浏覽器這是office檔案,浏覽器直接調用本地office或pdf軟體打開
1、不用程式設計,不用第三方服務,直截了當。
2、很多使用者安裝了adobe的pdf預覽軟體,同時在浏覽器上也直接安裝了插件,浏覽器可直接檢視pdf檔案。
缺點
你永遠不知道客戶機器上是否安裝了office軟體,雖然幾乎都安裝了,但直接調用office軟體,客戶體驗大大下降,更何況還有個讨厭的迅雷一直在監視你的浏覽器,不給你打開的機會,當然這些都是你無法預知的。
如金山快寫、一些網盤的預覽