内存要求
Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。
Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
Aspose.Words for .NET 不需要安装任何第三方产品,例如 Microsoft Word。Aspose.Words本身是一个用于创建、修改、转换和渲染各种格式文档的引擎,包括Microsoft Word文档格式。
Aspose.Words 需要多少内存
通常,Aspose.Words 需要比文档大小多几倍的内存才能在内存中构建文档模型。
例如,如果您的文档大小为 1 MB,Aspose.Words 需要 10-20 MB RAM 才能在内存中构建其文档对象模型 (DOM)。乘数取决于格式,因为某些格式比其他格式更紧凑。例如,DOCX比DOC和RTF更紧凑,DOC比RTF更紧凑。
没有确切的方法来估计 Aspose.Words 在处理任何特定文档文件期间实际消耗了多少内存。您可能知道 .NET 将数据存储在类中,每个类实例都会使用一些内存用于 CLR 内部用途。因此,任何段落或格式化文本(即使它由一个字符组成)在加载到 DOM 后都会占用一些额外的内存。此外,.NET垃圾收集器引擎使用复杂的算法来确定执行内存收集的最佳时间,因此很难确定实际的内存消耗。
如何计算内存量
让我们考虑两个文档:
-
DOCX“A”文档 – 0.35 MB 大小(2000 页),仅限文本
-
DOCX“B”文档 – 0.35 MB 大小(仅 1 页),内含 PNG 图像
如您所知,许多现代格式(例如 DOCX、ODT 等)都是简单的 ZIP 存档。于是,我们得到如下的计算算法:
-
解压。解压后的文档“A”大小为 20 MB,文档“B”大小为 0.4 MB
-
将文档加载到模型中(构建其文档对象模型 - DOM):
-
创建第一个文档“A”的 DOM 需要 49 MB 大小
-
创建第二个文档“B”的 DOM 仅需要 2 MB 大小。
-
测量将这些文档渲染为 PDF 所需的内存量。对于此操作,Aspose.Words 需要:
-
文档“A”为 294 MB
-
文档“B”7 MB
因此,输入文档大小不存在线性依赖性。有很多因素会影响所需的 RAM 大小 - 文档格式、其复杂性和结构、图像数量及其格式以及许多其他因素。
如何最准确地计算内存倍频
对数千个真实文档的实验表明,Aspose.Words 通常需要比平均文档大小多几倍的内存来在内存中构建文档模型并执行简单的操作,例如流格式之间的转换、邮件合并、解析、替换等。有时我们谈论的是 2 的乘数,有时是 20。
对于某些文档来说,渲染(转换为固定页面格式)、更新字段、拆分页面等更复杂的操作需要比 Aspose.Words DOM 中加载的文档分配的内存多 20 倍的资源。
如果您的分析结果表明 Aspose.Words 中可能存在内存问题,请联系我们的并提供所有诊断信息。
也可以看看
-
-
渲染
-
邮件合并和报告
-
使用字段
如需下载产品Aspose.Words ,请点击产品名进入下载页面