为什么选择 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 对象提供其他功能,则添加它们的机会非常低。