為什么選擇 Aspose.Words
Aspose.Words是一種高級Word文檔處理API,用于執行各種文檔管理和操作任務。API支持生成,修改,轉換,呈現和打印文檔,而無需在跨平臺應用程序中直接使用Microsoft Word。
Aspose API支持流行文件格式處理,并允許將各類文檔導出或轉換為固定布局文件格式和最常用的圖像/多媒體格式。
通常,用戶不僅需要對文檔執行某些單一操作(例如,將其從一種格式轉換為另一種格式),而且還需要根據某些工作流程完成對此文檔的完整工作周期。在這種情況下,需要一種工具來提供強大的功能來處理流行格式的文檔,并允許用戶解決廣泛的應用問題。
在選擇特定解決方案時,用戶會比較產品并評估收益。很多時候,人們需要在 Aspose 和 Microsoft Office Automation 之間做出選擇。因此,在Aspose.Words,我們經常聽到兩個問題:
- Aspose.Words 是否需要安裝第三方程序,例如 Microsoft Office for work?
- 為什么 Aspose.Words 組件在解決許多自定義任務方面比 Microsoft Office Automation 更好?
第一個問題的答案很簡單——不。Aspose 組件完全獨立,不隸屬于 Microsoft Corporation,也不受 Microsoft Corporation 授權、贊助或以其他方式批準。
對于第二個問題,我們可以給出的最簡短的答案是,出于多種原因,主要原因是微軟本身強烈建議不要使用軟件解決方案中的 Office 自動化:。
- Aspose 組件已經過徹底測試。
- IBM、希爾頓、讀者文摘、美國銀行等公司都在使用 Aspose 組件。
Aspose.Words 組件成為自動化的更好替代方案有以下幾個原因:
安全
Aspose.Words 非常安全。Aspose 組件在 ASPNET 用戶下與所有 ASP.NET 應用程序運行在相同的用戶上下文中。因此,Aspose 組件不會對重要的系統資源造成潛在風險。此外,當 Aspose 組件打開文檔時,宏不會自動運行。
Aspose 組件的構建目標是允許開發人員創建、操作和保存 Office 文件。與 Microsoft Office 軟件包相關的任何風險都不是 Aspose 組件固有的。
以下是上述微軟文章的直接引用:
“Office 應用程序從來就不是為服務器端使用而設計的。因此,Office應用程序沒有考慮分布式組件面臨的安全問題。Office 不會驗證傳入請求。Office 也無法防止您從服務器端代碼無意中運行宏,或啟動可能運行宏的另一臺服務器。不要打開從匿名網站上傳到服務器的文件。根據最后設置的安全設置,服務器可以在具有完全權限的管理員或系統上下文中運行宏,因此可能會危害您的網絡。此外,Office 使用許多客戶端組件(例如 Simple MAPI、WinInet 和 MSDAIPP)來緩存客戶端身份驗證信息以加快處理速度。如果 Office 在服務器端實現自動化,一個實例可以為多個客戶端提供服務。如果已緩存該會話的身份驗證信息,則一個客戶端可以使用另一客戶端的緩存憑據。因此,客戶端可能會通過冒充其他用戶來獲得未授予的訪問權限。”
穩定
由于 Aspose 組件被打包到單個 DLL 中,因此無需安裝任何其他部件即可運行。
Aspose 組件僅由 .NET 應用程序使用,并且組件代碼中沒有任何部分旨在等待人類響應。
以下是上述引用的 Microsoft 文章的直接引用:
“Office 2000、Office XP、Office 2003 和 Office 2007 使用 Microsoft Windows Installer (MSI) 技術使最終用戶的安裝和自我修復更加輕松。MSI 引入了“首次使用時安裝”的概念。這允許在系統運行時動態安裝或配置功能,或者更頻繁地為特定用戶動態安裝或配置功能。在服務器端環境中,這會降低性能并增加出現對話框要求用戶批準安裝或提供安裝磁盤的可能性。盡管這樣做的目的是提高 Office 作為最終用戶產品的彈性,但 Office 對 MSI 功能的實現在服務器端環境中會適得其反。此外,當 Office 在服務器端運行時,Office 的穩定性通常無法得到保證,因為它尚未針對此類使用進行設計或測試。在網絡服務器上使用 Office 作為服務組件可能會降低該計算機的穩定性,從而降低整個網絡的穩定性。”
可擴展性和速度
Office 應用程序并不是為成百上千的用戶同時使用而設計的,但 Aspose 組件正是為此而設計的 - 它們具有高度可擴展性和閃電般的速度。
我們的組件是真正的 .NET 解決方案,可以在為單個應用程序提供支持的單個服務器或為企業范圍的應用程序提供支持的負載平衡網絡場上完美地執行。
以下是上述引用的 Microsoft 文章的直接引用:
“服務器端組件需要是高度可重入的多線程 COM 組件,為多個客戶端提供最小的開銷和高吞吐量。Office 應用程序幾乎在所有方面都完全相反。Office 應用程序是不可重入的、基于 STA 的自動化服務器,旨在為單個客戶端提供多樣化但資源密集型的功能。作為服務器端解決方案,這些應用程序提供的可擴展性很小。此外,應用程序對內存等重要元素有固定的限制。這些不能通過配置更改。更重要的是,應用程序使用全局資源,例如內存映射文件、全局加載項或模板以及共享自動化服務器。這可能會限制可以并發運行的實例數量,并且如果在多客戶端環境中配置應用程序,則可能會導致競爭條件。計劃同時運行任一 Office 應用程序的多個實例的開發人員需要考慮“池化”或序列化對 Office 應用程序的訪問,以避免潛在的死鎖或數據損壞。”
價格
通常,應用程序可能需要創建或操作 Office 文件,但不需要用戶擁有 Office。Aspose.Words 提供了非常經濟高效、免版稅的再分發許可證,允許部署到無限數量的用戶,而無需擔心許可問題。但是,如果您的應用程序使用 Microsoft Office Automation,則必須為運行該應用程序的每臺計算機購買 Microsoft Office 的副本。
創建基于 Web 的應用程序時,重要的是要知道 Microsoft Office Automation 組件沒有為服務器端解決方案定價或獲得許可,因此沒有良好的許可解決方案來部署利用 Microsoft Office 組件的 Web 應用程序。Aspose 反過來又為基于服務器的應用程序提供了一種非常經濟有效的解決方案。
所有 Aspose 組件都提供無風險、無義務的評估版本。我們鼓勵您利用該評估來了解 Aspose 可以為您的應用程序做些什么。
特征
Aspose 組件提供了管理 Office 文件所需的一切,以及更多更多功能。它們的設計理念是讓開發人員以最少的工作量取得最大的成果。
與辦公自動化不同,Aspose 組件提供了許多強大的省時功能。例如,Aspose.Words提供了一項功能,允許開發人員直接從任何 .NET 數據對象填充 Word 郵件合并文檔。值得注意的是,Aspose 系列中的每個組件都提供了自己的一組獨特且強大的功能。
購買 Aspose 組件或組件套件的最佳部分是訪問我們的開發團隊。我們的開發團隊意識到,如果您的公司需要某個功能,那么其他公司很可能也需要它。雖然并非所有功能請求都可以添加,但我們的團隊在提供幫助時會盡量保持開放和靈活的態度。這種心態使得 Aspose 組件變得如此強大。但是,如果您需要 Office Automation 對象提供其他功能,則添加它們的機會非常低。