Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/04/2021, à 12:15

hologramo

[Résolu] lister les fichiers pdf et les convertir en jpg avec convert

Bonjour,

Je voudrais convertir les fichiers pdf d'un répertoire et les convertir à l'aide de convert, en gardant le nom du pdf.

J'ai installé ImageMagick et ai réussi à convertir plusieurs fichiers pdf à l'aide de convert -density 400 *.pdf -resize 25% -quality 92 *.jpg, mais 1) tous les fichiers n'ont pas été convertis, 2) les fichiers convertis ont pris le nom xxx1; xxx2; etc.

J'ai cherché sur le net mais n'ai rien trouvé d'intéressant. Alors je me suis dis qu'en listant les fichiers 1 par 1 et en reprenant chaque nom sauf le suffixe .pdf à une VARIABLE je pourrais ensuite appliquer la ligne de commande convert reprise ci dessus comme suit : convert -density 400 VARIABLE.pdf -resize 25% -quality 92 VARIABLE.jpg, et passer au fichier suivant.

J'ai fait de la programmation C, vba, batch, mais jamais en linux.

Pouvez-vous me donner des pistes pour ne pas devoir passer toute la documentation en revue ?

Merci d'avance,

Olivier

Dernière modification par hologramo (Le 11/04/2021, à 16:06)

Hors ligne

#2 Le 11/04/2021, à 13:28

cqfd93

Re : [Résolu] lister les fichiers pdf et les convertir en jpg avec convert

Bonjour,

Je ne sais pas si j'ai bien compris le problème, c'est lié à la numérotation des fichiers destination ?

Pour convertir un fichier, utilise une commande du genre :

convert -density 150 -quality 100 source.pdf jpg:dest-%02d.jpg

(%02d indique une numérotation sur 2 chiffres)

Et pour appliquer ça à plusieurs fichiers une boucle du genre :

for fichier
do
  ta commande imagemagick utilisant $fichier
done

cqfd93

Hors ligne

#3 Le 11/04/2021, à 14:09

hologramo

Re : [Résolu] lister les fichiers pdf et les convertir en jpg avec convert

Bonjour cqfd93,

Je n'ai pas répondu j'essayais diverses choses trouvées. Voici mon texte :

for file in *.pdf
do
   echo ${file}                  #pour vérifier où on en est
   convert -density 400 "$file" -resize 25 % - quality 100 "${file%%.*}".jpg
done

Ca fonctionne mais donne des pages noires en jpg. Il est vrai que je maîtrise pas les arguments de convert.... Et ça va me permettre de convertir une partie des fichiers pdf.

Je vais essayer ta commande

convert -density 150 -quality 100 source.pdf jpg:dest-%02d.jpg

Et je reviens.

Merci pour ta réponse

Hors ligne

#4 Le 11/04/2021, à 14:13

hologramo

Re : [Résolu] lister les fichiers pdf et les convertir en jpg avec convert

J'ai essayé

convert -density 150 -quality 100 source.pdf jpg:dest-%02d.jpg

Mais ça ne donne rien...

Hors ligne

#5 Le 11/04/2021, à 15:58

cqfd93

Re : [Résolu] lister les fichiers pdf et les convertir en jpg avec convert

Il faut adapter source et dest aux noms de tes fichiers.

Et pour -resize 25 %, tu es sûr de l'espace entre 25 et % ?

Pour récupérer le nom du fichier sans l'extension .pdf (y'a peut-être plus simple mais c'est tout ce que j'ai pour le moment) :

name=$file | basename $file .pdf

Et tu peut utiliser $name pour spécifier les fichiers images de destination.


cqfd93

Hors ligne

#6 Le 11/04/2021, à 16:05

hologramo

Re : [Résolu] lister les fichiers pdf et les convertir en jpg avec convert

Bonjour cqfd93.

J'ai lancé mon bash et j'ai réussi à convertir  +- 75% des fichiers. Il me reste à faire les manquants. J'ai un émulateur android avec X2IMG. Il converti bien mais il faut chaque fois récupérer le fichier créé dans un répertoire spécifique ce qui oblige à des manip supplémentaires. J'ai encore une 30aine de fichiers à convertir, ça ira.

Merci pour ton aide rapide.

Olivier

Hors ligne

#7 Le 11/04/2021, à 16:22

cqfd93

Re : [Résolu] lister les fichiers pdf et les convertir en jpg avec convert

Tu peux citer en entier ton bash ?

Mais pourquoi tous les fichiers ne sont pas convertis ?


cqfd93

Hors ligne

#8 Le 11/04/2021, à 23:03

hologramo

Re : [Résolu] lister les fichiers pdf et les convertir en jpg avec convert

Le bash de départ :

#!/bin/bash
for file in *.pdf
do 
echo ${file}
convert -density 400 "$file" -resize 25% -quality 100 "${file%%.*}".jpg
done

Les jpg noirs étaient produits pour les pdf de plusieurs pages et pour certains pdf d'une page dont je crois qu'ils étaient trop lourds.

J'ai réussi à produire les bons jpg en rajoutant les paramètres : -background white -alpha remove en plus avec le bash ci-dessous :

#!/bin/bash
for file in *.pdf
do 
echo ${file}
convert -density 400 "$file" -resize 25% -quality 100 -background white -alpha remove "${file%%.*}".jpg
done

La ligne echo n'est là que pour suivre la production des jpg.

Voili voilà.

Comme dirait Yoda : content je suis.

Merci de ton attention.

Hors ligne