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