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

时间:2011-03-16 16:26:52

标签: pdf memory thumbnails

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

是否有针对缩略图生成的程序针对内存占用进行了优化处理此类大型pdf文件?

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

2 个答案:

答案 0 :(得分:9)

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

convert foo.pdf foo-%png

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

foo-0.png
foo-1.png
foo-2.png

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

convert foo.pdf[0] foo-thumb.png

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

  

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

     

图像像素存储在内存中   直到阈值兆字节的内存   消耗。后续像素操作   缓存在磁盘上。操作到   内存明显更快但是   如果你的电脑没有   足够的免费记忆你   可能想要调整此阈值   值。

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

convert -cache 20 foo.pdf[0] -resize 10%x10% foo-thumb.png

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

convert -cache 20 foo.pdf[0] -density 900 foo-thumb.png

答案 1 :(得分:0)

你应该关心吗?目前经济实惠的服务器有512 GB RAM。这支持以1200 dpi存储超过9000英寸(250米)正方形的全彩色未压缩位图。使用磁盘所带来的性能影响很大。