PDFBOX内存不足

问题描述:

我面临的一个大问题与PDFBOX:我试图加载的10Mb(检验.pdf)的文件,我需要400 MB其装载到JVM: 以下是代码示例:PDFBOX内存不足

final File mainFile = new File(
      "C:/test.pdf"); 
    System.out.println("File size: " + mainFile.length()); 
    try { 
     PDDocument doc = PDDocument.load(mainFile); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    System.out.println("Used Memory: " + (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory())); 
} 

这是正常的吗?

+0

可能是40MB? 400是太多了,如果这是你唯一做的事情。 – Eugene 2012-02-06 19:03:27

+0

噢。只是。我打印所有代码 – brianbro 2012-02-06 19:13:56

+0

至少,您应该提供您正在使用的PDFBox版本,如何编译您的示例,您正在使用哪种操作系统等。 – ipavlic 2012-02-23 08:35:53

不,这是不正常的。

我注意到你还没有关闭文档(必需的,请阅读documentation)。也许这在多次运行中积累。在加载文档之前,您也不提及内存使用情况。

+0

可以在这里找到一些提示:https://pdfbox.apache.org/2.0/faq.html#outofmemoryrrror – 2017-03-05 19:59:14