Quiero escribir un bashscript para convertir cada .pdfarchivo en el directorio actual en un .pngarchivo. Por ejemplo:
$ls .
a.pdf b.pdf
$./pdf2png.sh
Converting pdfs to pngs
a.pdf -> a.png
b.pdf -> b.png
Este es mi mejor intento:
#!/bin/bash
convert -verbose -density 500 -resize '800' a.pdf a.png
convert -verbose -density 500 -resize '800' b.pdf b.png
bash
imagemagick
Me gusta codificar
fuente
fuente

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 obtener explicaciones y antecedentes.-printf, por lo que todo lo que necesita para la portabilidad es reemplazarlo con `-exec printf '% s \ 0' {} +`.Puede usar bash
forloop de la siguiente manera:fuente
Puede usar la
mogrifyconversión por lotes y cambiar el tamaño de todos los correos electrónicos.pdfdel directorio actual:Cuando se usa un archivo diferente
format(en este caso-format png), los originales.pdfse dejan intactos, los archivos de salida tienen el mismo nombre, excepto la extensión que se cambiará a la especificada porformat.fuente
Si no está restringido a usar bash, entonces podría usar un script de Python para convertir todos los
.pdfarchivos en el directorio actual a.pngimágenes de alta resolución . Podría modificarse para otros tipos de imágenes de entrada / salida, o para usar diferentes argumentos paraconvert.fuente