Je veux écrire un bash
script pour convertir chaque .pdf
fichier du répertoire actuel en un .png
fichier. Par exemple:
$ls .
a.pdf b.pdf
$./pdf2png.sh
Converting pdfs to pngs
a.pdf -> a.png
b.pdf -> b.png
Ceci est ma meilleure tentative:
#!/bin/bash
convert -verbose -density 500 -resize '800' a.pdf a.png
convert -verbose -density 500 -resize '800' b.pdf b.png
bash
imagemagick
J'aime coder
la source
la source
find . -type f -name '*.pdf' -exec sh -c 'for f do convert -verbose -density 500 -resize 800 "$f" "${f%.pdf}.png"; done' find-sh {} +
Voir unix.stackexchange.com/a/321753/135943 pour des explications et des informations de base.-printf
, donc tout ce dont vous avez besoin pour la portabilité est de le remplacer par `-exec printf '% s \ 0' {} +`.Vous pouvez utiliser la
for
boucle bash comme suit:la source
Vous pouvez utiliser
mogrify
pour convertir par lots et redimensionner tous les.pdf
s dans le répertoire actuel:Lorsque vous utilisez un autre
format
(dans ce cas-format png
), les originaux ne.pdf
sont pas modifiés, les fichiers de sortie portant le même nom, à l'exception de l'extension qui sera remplacée par celle spécifiée parformat
.la source
Si vous n'êtes pas limité à l'utilisation de bash, vous pouvez utiliser un script python pour convertir tous les
.pdf
fichiers du répertoire actuel en.png
images haute résolution . Il peut être modifié pour d'autres types d'images d'entrée / sortie, ou pour utiliser différents arguments pourconvert
.la source