1

在使用 Aspose 将 docx 文件转换为 pdf 文件时出现此错误。这是此 docx 文件为 44Mbheap size的代码

public void convertDoc(String Path, String destPath) throws Exception{


        Document doc = new Document(Path); //At this line heap size error comes
        doc.save(destPath);
        System.out.println("doc converted to pdf");

        }

有什么建议么?

4

2 回答 2

5

增加堆大小应该可以解决问题。

如果没有,请检查您的 Word 文档中是否有高分辨率图像。我已在 512 MB 内存下将非常大的 DOC 文件转换为 PDF(没有高分辨率图像)。但是,有些文件,甚至不到50页,但图像很大,它们需要很大的内存,甚至高达3GB!

可能的解决方案:

  • 使用 Aspose.Words 将文档中的图像替换为更小、调整大小的图像
  • 如果文档有多个部分,请按部分拆分文档并分别转换为 PDF。当然,这稍后需要合并 PDF 文件。

我在 Aspose 担任开发人员/传播者。

于 2013-04-16T07:54:36.767 回答
1

由于您正在加载大于堆大小的文档,因此在运行这样的程序时必须增加堆大小

 java -Xmx512M myprogram

如果您使用的是 eclipse Run -> Run Configurations,请在 Arguments Tab 下输入 -Xmx512m 并单击 RUN

在此处输入图像描述

于 2013-04-15T08:47:50.510 回答