다음과 같은 코드를 사용합니다 :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;
다소 느리고, 매번 새로운 프로세스를 시작하기 때문에 생각합니다.
어떻게 더 빠르게 할 수 있습니까?
대단히 감사드립니다!
다음은 shamelessly stolen이었다
[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 시스템을 보유하고 계신다면 2, 3 또는 심지어 4 개의 프로세스를 동시에 실행할 수있는 이점을 누릴 수 있습니다. convert(1)
쉬운 방법은 두 개 이상의 셸 스크립트에 이와 같은 명령을 배치 한 다음 셸 스크립트를 병렬로 실행하는 것입니다. 다음과 같은 스크립트를 생성 할 수 있습니다.
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를 활용할 것을 권장합니다. 지옥, 어쩌면 그와 같은 것이 이미 존재합니다. :)
쿨! 아주 쉽고 간단합니다! 고맙습니다. – mik01aj
@ m01, 얼마나 빨리 표시 될까요? – sarnold
귀하의 버전은 530 페이지 PDF의 경우 54 초, 내 버전은 5,5 분 실행됩니다. – mik01aj