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