我们正在使用PdfTron
将PDF
转换为XOD
,以便可以在XPS查看器中查看它。 PDFTron
部署在PCF
上并用作服务。
遇到一个案例,当一个已经执行了OCR的简单扫描的pdf文件(5mb)在将其转换为XOD时占用了大量的RAM(5.5GB)。 我们使用以下配置在java中转换它:
XODOutputOptions options = new XODOutputOptions();
options.setDPI(600);
options.setPreferJPG(true);
options.setFlattenContent(0);
options.setRenderPages(true);
是否有任何设置或内存管理技术可以解决此问题?
答案 0 :(得分:0)
PDF很可能每页包含一个图像,图像可能正在使用JBIG2压缩,特别是如果它是单色/灰色。
此外,你的DPI相当高,所以如果页面的物理尺寸很大(CAD图纸通常超过30“宽/高),那么在转换过程中可能需要非常大的图像存储在内存中。
例如,如果PDF页面为30“x30”,那么在600DPI时,内存中可能只有一个324MP图像。
您可以通过将SetDPI降低到更小的值来验证,例如96,以验证这是发生了什么。