在我正在研究的系统中,我们将生成缩略图作为工作流程的一部分。 有时pdf文件非常大(打印尺寸为3平方米),并且可能包含巨大的位图图像。
是否有针对缩略图生成的程序针对内存占用进行了优化处理此类大型pdf文件?
生成的缩略图可以是png或jpg。
答案 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)