Eu quero escrever um bash
script para converter todos os .pdf
arquivos no diretório atual em um .png
arquivo. Por exemplo:
$ls .
a.pdf b.pdf
$./pdf2png.sh
Converting pdfs to pngs
a.pdf -> a.png
b.pdf -> b.png
Esta é minha melhor tentativa:
#!/bin/bash
convert -verbose -density 500 -resize '800' a.pdf a.png
convert -verbose -density 500 -resize '800' b.pdf b.png
bash
imagemagick
Eu gosto de codificar
fonte
fonte
find . -type f -name '*.pdf' -exec sh -c 'for f do convert -verbose -density 500 -resize 800 "$f" "${f%.pdf}.png"; done' find-sh {} +
Consulte unix.stackexchange.com/a/321753/135943 para obter explicações e antecedentes.-printf
, então tudo que você precisa para portabilidade é substituí-lo por `-exec printf '% s \ 0' {} +`.Você pode usar o
for
loop bash da seguinte maneira:fonte
Você pode usar
mogrify
para converter e redimensionar todos os.pdf
s no diretório atual:Ao usar um s diferente
format
(nesse caso-format png
), os originais.pdf
são deixados intocados, os arquivos de saída com o mesmo nome, exceto a extensão que será alterada para a especificada porformat
.fonte
Se você não estiver restrito a usar o bash, poderá usar um script python para converter todos os
.pdf
arquivos no diretório atual em.png
imagens de alta resolução . Pode ser modificado para outros tipos de imagens de entrada / saída ou para usar argumentos diferentesconvert
.fonte