如何快速生成PDF所有页面的PNG缩略图?

如何快速生成PDF所有页面的PNG缩略图?,pdf,imagemagick,thumbnails,Pdf,Imagemagick,Thumbnails,我使用以下代码来执行此操作: for i in `seq 1 $numPages`; do convert "$INPUTPDF"[$((i-1))] thumb_$i.png done; 它有点慢,我想这是因为它每次都开始一个新的过程 如何更快地做到这一点 非常感谢 以下是: 这将只解析您的pdf一次。胡特 根据此过程所需的时间,同时运行其中几个过程可能是有意义的。如果您有一台多核或SMP机器,您可能会看到同时运行两个、三个甚至四个convert(1)进程的好处。简单的方法是将这样的

我使用以下代码来执行此操作:

for i in `seq 1 $numPages`; do
    convert "$INPUTPDF"[$((i-1))] thumb_$i.png
done;
它有点慢,我想这是因为它每次都开始一个新的过程

如何更快地做到这一点

非常感谢

以下是:

这将只解析您的pdf一次。胡特

根据此过程所需的时间,同时运行其中几个过程可能是有意义的。如果您有一台多核或SMP机器,您可能会看到同时运行两个、三个甚至四个
convert(1)
进程的好处。简单的方法是将这样的命令放入两个或多个shell脚本中,然后并行运行shell脚本。您可以像这样生成这些脚本:

for f in *.pdf ; do echo "convert $f `basename $f .pdf`-%03d.png" >> /tmp/runme ; done
wc -l /tmp/runme
split -l [number of lines/2] /tmp/runme
sh /tmp/xaa & sh /tmp/xab &

不过,这是相当复杂的。如果您打算经常这样做,我建议您为
make(1)
编写一个
Makefile
或您自己的小流程管理器工具,以利用多个CPU。见鬼,也许类似的事情已经存在了

酷!这么简单!谢谢:)@m01,有没有迹象表明它会快多少?对于530页的PDF,您的版本运行54秒,而我的版本运行5.5分钟。@m01!哈哇!有没有迹象表明CPU和磁盘的绑定量是多少?我很好奇,如果有多个正在运行的任务,它是否还能运行得更快。
for f in *.pdf ; do echo "convert $f `basename $f .pdf`-%03d.png" >> /tmp/runme ; done
wc -l /tmp/runme
split -l [number of lines/2] /tmp/runme
sh /tmp/xaa & sh /tmp/xab &