基本思路:
把Word檔案上傳到伺服器,讀取其內容儲存為Html,然後載入Html內容
1:使用Microsoft.Office.Interop.Word組件
這是比較常用的一種方式,代碼就不貼出了,網上大把的例子
缺點:伺服器需要裝Word的組件,並且需要在伺服器上設定Docm+對象的許可權,如果一台伺服器還好,如果項目應用到多台不同伺服器,就比較繁瑣了
2: OpenXml API
可以將.docx(word 97-2003 不適用)轉化為XML,有了XML,想轉成HTML或是其他格式都不再是問題了,此Api需要 .net FreamWork3.5+ Office2007+
3:第三方:例如Aspose.Words(已測試,推薦)
Aspose提供了各種格式的轉換方案,有興趣的可以進去仔細看一下,.NET Java方向的都有,採用其中Aspose.Words這個Dll,無需安裝微軟Office組件 即可轉換Word(Converting DOC,DOCX to HTML without MS Office Word in .Net)
複製代碼 代碼如下:
Aspose.Words.Document d = new Aspose.Words.Document(wordPhysicalPath);
d.Save("d:\\1.html", SaveFormat.Html);
即可存為HTML文檔(注意Word裡面的圖片儲存在和Html同級目錄下,讀取Html內容時需要替換<img src='http://www.jb51.net/CWolf/archive/2011/09/30/為 <img src='+圖片虛擬路徑)
優點:不需要安裝微軟Office組件,只需要一個差不多2M的DLL 就可以完成此功能
缺點:Aspose並不是一個開源的組件,國內雖然有破解版,也可反編譯後自己變更,但是著作權問題確實是要考慮的因素
還有一些第三方的其他的項目,大部分是收費的,在此就不一一列舉了