java - PDFTron PDF 2 XOD 转换中的高内存利用率

标签 java pdf pdftron

我们正在使用 PdfTronPDF 转换为 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 压缩,尤其是单色/灰色时。

此外,您的 DPI 相当高,因此如果页面的物理尺寸很大(CAD 绘图通常超过 30 英寸宽/高),则在转换过程中可能需要在内存中存储非常大的图像。

例如,如果 PDF 页面为 30"x30",则在 600DPI 下,内存中可能会暂时存在单个 324MP 图像。

您可以通过将 SetDPI 降低到较小的值(例如 96)来验证是否发生了这种情况。

关于java - PDFTron PDF 2 XOD 转换中的高内存利用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48186779/

相关文章:

java - Android 中可中断的 ScheduledExecutorService

pdf - pdfLaTeX 中的首字下沉

Android - PDFTron - 在放大模式下绘制注释

android - 如何在 Android 的 PDFTron 中提取注释并保存到数据库?

java - 使用 javassist 修改在类构造函数中使用 getter 和 setter 的字段

java - 为什么 Date、BigInteger、Double 等值类应该实现 Serialized?

javascript - Puppeteer 生成的 PDF 复制/粘贴文本会产生奇怪的字符

c# - 使用 C# 的 PDF 和图形

c# - 使用 Pdftron 在 C# 中将 Excel 转为 Pdf

java - 使用 nextFloat() 时线程 "main"java.util.InputMismatchException 中出现异常