是否可以减少GhostScript的内存?

时间:2018-11-05 10:04:20

标签: pdf ghostscript

命令如下:

  

gs -q -dSAFER -dBATCH -dNOPAUSE -dPDFSETTINGS = / prepress -sDEVICE = pdfwrite -sOutputFile = output.pdf 1.pdf 2.pdf ... N.pdf

每个输入PDF包含许多图像,并且大多数图像在输入PDF之间共享。

命令成功运行。内存使用量逐渐增加,最终达到3.7GB。 我尝试了各种PDFSETTINGS:印前/打印机/电子书/屏幕。最大内存没有减少。

我想知道是否可以减少GhostScript的内存使用?可以接受更长的CPU处理时间。

  

$ gs -v   GPL Ghostscript 9.25(2018-09-13)   版权所有(C)2018 Artifex Software,Inc.保留所有权利。

1 个答案:

答案 0 :(得分:0)

不,您不能显着减少pdfwrite设备的内存使用量。

pdfwrite设备会在内存中保留很多东西。这样的结果是,对于具有大量页面和许多资源(例如字体)的文件,内存使用量可能非常高。

您不能在PDF之间共享图像。每个PDF文件可能包含一个图像副本,该副本与另一个PDF文件中的图像副本相同,但未共享。

更改PDFSETTINGS不会产生任何实际变化;这主要影响存储在磁盘上而不是内存中的图像的色彩空间和分辨率。因此,更改这些设置不会改变内存使用情况。

当然,您可能会发现内存泄漏,但是如果没有看到输入,我什至无法猜测。即使您确实提供了输入,除非有一点明显的东西,否则我不会尝试调试使用大于3GB内存的东西。