2011-07-03 7 views
0

J'ai une commande de conversion imagemagick que j'utilise depuis le shell et je voudrais créer un exec Linux pour l'exécuter, donc je n'ai pas besoin de toujours l'exécuter.Créer un script ImageMagick Linux

Je suis conversion d'un fichier PDF en fichiers JPEG, et ce que j'utilise: convertir -density 300 * .pdf -alpha hors -Scale 1500x2000 -quality 70 jpegFiles.jpg

Ce que je voudrais que le Linux Exécuter le fichier à faire est d'exécuter la conversion ci-dessus et au lieu de jpegFiles, d'avoir le nom de fichier PDF réel. Bien sûr, pour chaque fichier jpeg de la page, il y aurait nom de fichier-0.jpg, nom de fichier-1.jpg, nom de fichier-2.jpg, etc.

J'utilise Ubuntu. Merci.

+0

pourquoi C++ est une étiquette ici? Avez-vous besoin de cela pour être en C++? Que signifie _exec file_? Voulez-vous dire un script - que je pense est approprié? – c00kiemon5ter

Répondre

0

sauvegarde dans un fichier et le placer dans un répertoire comme $HOME/.bin
par exemple. $HOME/.bin/pdf2jpg

for file in "[email protected]"; do 
    convert -density 300 "$file" -alpha off -scale 1500x2000 -quality 70 "${file%.*}-%d.jpg" 
done 

rendre exécutable

chmod +x $HOME/.bin/pdf2jpg 

et ajouter que dir à la variable PATH

echo "PATH=$PATH:$HOME/.bin" >> $HOME/.bash_profile # assuming you use bash 

créer un répertoire nommé comme pdf avec -images su ffix et placez les fichiers là

for file in "[email protected]"; do 
    dir="${file%.*}-images" 
    mkdir -p "$dir" 
    convert -density 300 "$file" -alpha off -scale 1500x2000 -quality 70 "$dir/${file%.*}-%d.jpg" 
done 
+0

Fonctionne très bien, merci. Y a-t-il un moyen de créer aussi un répertoire (avec le nom du fichier) et de placer les fichiers dedans? – ChrisNN

+0

oui, voir ma réponse éditée, juste changer le chemin des fichiers de sortie – c00kiemon5ter