以前的項目中用到一點Word簡單處理的功能(文字替換和轉PDF格式),當時使用的是一套COM組件,必須在服務器上安裝office環境。最近考慮系統升級,希望能找個.NET組件,省去COM組件的注冊和環境依賴。朋友推薦了Spire.Office組件,測試了一下,感覺挺不錯。特此記錄和介紹一下,大家以后也多一個選擇。
經過簡單的代碼測試和查閱資料,個人總體評價如下:
優點與特色:
1.完全脫離Office環境;
2.純.NET組件,與COM組件相比,省去注冊和開發中的經常引用丟失,同時代碼中的參數簡化很多;
3.支持.NET體系下的各種技術平台(ASP.NET/WinForm/WPF/SilverLight)和多語言(C#/VB.NET);
4.示例代碼很齊全,幫助文檔很詳細;
5.接口設計封裝合理,上手迅速,易於使用;
6.對文檔兼容性較好(據說支持從97到最新的文檔,但未驗證)。
建議與期待:
1.中文資料。目前的網站和幫助文檔都做的相當不錯,雖然是英文的,但對絕大多數開發人員基本不構成障礙,如果能有中文版則更錦上添花。
2.希望能夠提供簡單的可視化文檔控件和編輯器,那樣的話(也許是我沒發現),則開發人員能夠輕易地在系統中定制和集成一個簡化版的文檔編輯器。
測試的方法和步驟如下:
下載和安裝:
1.進入Spire.Office的官方網站:http://www.e-iceblue.com/
2.網站列出了多種技術平台下的各類文檔處理組件,選擇需要的組件並下載(提供了免費的試用版本),如下圖:
3.安裝程序並查看幫助文檔和示例代碼:
制作測試程序:
1.創建工程和引入組件,這個很easy。除了可以從示例代碼中找到引入的類庫,還可以通過Nuget在線安裝需要的dll:
2.編寫測試代碼(示例比較簡單,但通過和我之前的COM組件相比較,確實精簡不少):
//initialize word object document = new Document(); document.LoadFromFile(samplePath); //get strings to replace Dictionary<string, string> dictReplace = GetReplaceDictionary(); //Replace text foreach (KeyValuePair<string, string> kvp in dictReplace) { document.Replace(kvp.Key, kvp.Value, true, true); } //Save doc file. document.SaveToFile(docPath, FileFormat.Doc); //Convert to PDF document.SaveToFile(pdfPath, FileFormat.PDF); MessageBox.Show("All tasks are finished.", "doc processing", MessageBoxButtons.OK, MessageBoxIcon.Information); document.Close();
3.運行和驗證結果:
題外話:
最初在官方網站查看資料的時候,以為是一家國外的公司。無意中從聯系方式中看到是來自內地的公司,還是比較驚訝。畢竟一直覺得做開發工具和控件類產品是比較有技術難度的工作,而且這套控件靠質量和技術贏得了眾多知名企業客戶,很難能可貴,值得我們技術同行佩服和學習。
所以,如果有機會在商業項目中使用類似的工具,那就應該考慮采購和支持一下。