Word转html内存占用过大

esb流程中配置发票报销状态 (1).docx (8.2 MB)

几MB的word转html占了3G

@Cover123 在我这边,使用最新版(26.9)的 Aspose.Words for Java 无法复现该问题。我使用了以下简单的代码进行测试:

Runtime runtime = Runtime.getRuntime();
        
// 1. Run the Garbage Collector first to start from a clean slate
runtime.gc();
        
// 2. Measure memory before the operation
long memoryBefore = runtime.totalMemory() - runtime.freeMemory();
System.out.println("Used memory before: " + bytesToMegabytes(memoryBefore) + " MB");
        
// Convert Document to HTML
Document doc = new Document("C:\\Temp\\in.docx");
doc.save("C:\\Temp\\out.html");
        
// 3. Measure memory after the operation
long memoryAfter = runtime.totalMemory() - runtime.freeMemory();
System.out.println("Used memory after: " + bytesToMegabytes(memoryAfter) + " MB");
        
// 4. Calculate the delta
long memoryUsedByOp = memoryAfter - memoryBefore;
System.out.println("Memory consumed by operation: " + bytesToMegabytes(memoryUsedByOp) + " MB (" + memoryUsedByOp + " bytes)");
private static final long MEGABYTE = 1024L * 1024L;
    
public static long bytesToMegabytes(long bytes) {
    return bytes / MEGABYTE;
}

输出结果如下:

Used memory before: 20 MB
Used memory after: 174 MB
Memory consumed by operation: 154 MB (161994920 bytes)

我还使用 HtmlFixed 格式进行了测试,测量结果如下:

Used memory before: 20 MB
Used memory after: 591 MB
Memory consumed by operation: 571 MB (599453008 bytes)

您是否使用了某些特定的保存选项?您使用的是哪个版本的 Aspose.Words?能否请您提供一段简单的代码,以便我们复现该问题?