Quiero escribir un bash
script para convertir cada .pdf
archivo en el directorio actual en un .png
archivo. 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
for
loop de la siguiente manera:fuente
Puede usar la
mogrify
conversión por lotes y cambiar el tamaño de todos los correos electrónicos.pdf
del directorio actual:Cuando se usa un archivo diferente
format
(en este caso-format png
), los originales.pdf
se 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
.pdf
archivos en el directorio actual a.png
imágenes de alta resolución . Podría modificarse para otros tipos de imágenes de entrada / salida, o para usar diferentes argumentos paraconvert
.fuente