高效的缩略图生成巨大的PDF文件?

Car*_*l R 8 memory pdf thumbnails

在我正在研究的系统中,我们将生成缩略图作为工作流程的一部分.有时pdf文件非常大(打印尺寸为3平方米),并且可能包含巨大的位图图像.

是否有针对缩略图生成的程序,这些程序针对处理如此大的pdf文件的内存占用优化

生成的缩略图可以是png或jpg.

Ble*_*der 9

ImageMagick是我用于所有CLI图形的东西,所以也许它可以为你工作:

convert foo.pdf foo-%png
Run Code Online (Sandbox Code Playgroud)

这会生成三个单独的PNG文件:

foo-0.png
foo-1.png
foo-2.png
Run Code Online (Sandbox Code Playgroud)

要仅创建一个缩略图,请将PDF视为数组([0]是第一页,[1]是第二页,等等):

convert foo.pdf[0] foo-thumb.png
Run Code Online (Sandbox Code Playgroud)

由于您担心内存,使用该-cache选项,您可以限制内存使用:

-cache 阈值兆字节可用于像素缓存的内存.

图像像素存储在存储器中,直到消耗了阈值兆字节的存储器.后续像素操作缓存在磁盘上.对内存的操作要快得多,但如果您的计算机没有足够的可用内存,您可能需要调整此阈值.

因此,要缩放PDF文件并调整其大小,您可以运行此命令,其最大内存使用量应为20mb左右:

convert -cache 20 foo.pdf[0] -resize 10%x10% foo-thumb.png
Run Code Online (Sandbox Code Playgroud)

或者您可以使用-density指定输出密度(900将其缩小很多):

convert -cache 20 foo.pdf[0] -density 900 foo-thumb.png
Run Code Online (Sandbox Code Playgroud)