【问题标题】:High memory utilization in PDFTron PDF 2 XOD conversionPDFTron PDF 2 XOD 转换中的高内存利用率
【发布时间】:2018-01-10 11:46:27
【问题描述】:

我们正在使用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);

是否有任何设置或内存管理技术来解决此问题?

【问题讨论】:

  • 您能否在此处发布该文件的链接,或发送至 pdftron.com 的支持人员。由于问题是特定于文件的,我们需要访问该文件。
  • 其实是客户的文件,所以不能分享
  • 您使用的是什么版本的 PDFNet? PDFNet.getVersion() 在运行时。

标签: java pdf pdftron


【解决方案1】:

PDF 很可能每页包含一个图像,并且该图像可能正在使用 JBIG2 压缩,尤其是当它是单色/灰色时。

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

例如,如果 PDF 页面为 30"x30",那么在 600DPI 时,内存中可能会暂时只有一个 324MP 图像。

您可以通过将 SetDPI 设置为更小的值(例如 96)来验证是否正在发生这种情况。

【讨论】:

  • 有什么方法可以通过 dpi 传递 pdf 中的大小页面,即 A4 大小,使用 600,更大,使用 300?我问这个是因为当 dpi 降低到 150 时,我发现转换后的 XOD 的质量可能会降低,就该特定页面中的文本可见性而言。
  • 我建议您尝试最新版本的 PDFNet 来生成您的 XOD 文件。请确认您使用的是哪个版本。请参阅我对如何获取版本的原始问题的评论。
  • 感谢@ryan,使用最新版本的 Pdftron,它没有出现这样的问题。我使用的是 6.6 并更新到 6.7
  • 有点怀疑@ryan,Convert.toXod 方法是处理转换后的文件并将其存储在内存中还是保存在磁盘上?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-06
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 2016-04-25
  • 1970-01-01
  • 2017-05-28
相关资源
最近更新 更多