3
我用下面的代碼來做到這一點:如何快速生成PDF所有頁面的PNG縮略圖?
for i in `seq 1 $numPages`; do
convert "$INPUTPDF"[$((i-1))] thumb_$i.png
done;
這是有點慢,我想這是因爲它開始每一次一個新的進程。
如何更快地做到這一點?
非常感謝!
我用下面的代碼來做到這一點:如何快速生成PDF所有頁面的PNG縮略圖?
for i in `seq 1 $numPages`; do
convert "$INPUTPDF"[$((i-1))] thumb_$i.png
done;
這是有點慢,我想這是因爲它開始每一次一個新的進程。
如何更快地做到這一點?
非常感謝!
[email protected]:~/foo$ convert foo.pdf pages-%03d.png
[email protected]:~/foo$ ls pages*
pages-000.png pages-001.png pages-002.png pages-003.png pages-004.png
[email protected]:~/foo$
這將解析您的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 &
雖然這是非常黑客入侵。如果你經常這樣做,我建議你寫一個Makefile
作爲make(1)
或者你自己的小程序管理工具來利用多個CPU。哎呀,也許這樣的事情已經存在。 :)
酷!這麼簡單和簡單!謝謝:) – mik01aj 2011-03-08 11:27:53
@ m01,有什麼跡象可能會快多少? – sarnold 2011-03-08 11:33:03
您的版本爲530頁PDF運行54秒,我的版本運行5.5分鐘。 – mik01aj 2011-03-08 13:17:11