#1 Le 29/04/2020, à 14:19
- willcoyote
extraire images de pdf en masse (RESOLI)
Bonjour
J'ai un dossier avec plusieurs pdf (beaucoup)
Le but est
-d'extraire les images
-les mettre a la bonne taille
-les compresser dans un fichier zip qui a le mème nom que le PDF
Et tout ça sur plusieurs PDF en mème temps
Avec mes maigres connaissances, j'ai reussi a extraire les images, les recadrer, les compresser en zip
Mais je ne le fais que un par un et je ne sais pas comment donner le mème nom que le PDF d'origine a mon fichier ZIP
J'utilise la console avec cette commande
gs -dNOPAUSE -dBATCH -sDEVICE=jpeg -r150 -sOutputFile='page-%00d.jpg' mon-fichier.pdf && mogrify -resize 1500x1500 *.jpg && 7z a 1.zip *.jpg && rm *jpg
Merci d'avance
Dernière modification par willcoyote (Le 30/04/2020, à 12:28)
Hors ligne
#2 Le 29/04/2020, à 16:26
- marcus68
Re : extraire images de pdf en masse (RESOLI)
tu peux faire une boucle,
exemple basé sur ton script :
for a in *.pdf
do
gs -dNOPAUSE -dBATCH -sDEVICE=jpeg -r150 -sOutputFile='page-%00d.jpg' "$a"
mogrify -resize 1500x1500 *.jpg
7z a "${a%.pdf}.zip" *.jpg
rm *.jpg
done
l'option -r de ghostscript ne permet pas de redimensionner directement à la bonne taille ? (genre -r1500, à vérifier)
7z peut à priori enlever directement les fichiers qu'il a ajoute avec -sdel (à vérifier que ça marche avec ta version)
EDIT : Et si tu sauvegardes en format .cbz, tu pourras lire les archives avec ta visionneuse de documents, comme les pdf d'origine
Dernière modification par marcus68 (Le 29/04/2020, à 16:44)
Hors ligne
#3 Le 30/04/2020, à 12:27
- willcoyote
Re : extraire images de pdf en masse (RESOLI)
C'est exactement ce que je cherchais a faire et ça fonctionne parfaitement
- l'option -r de ghostscript permet effectivement de redimentionner mais c'est la resolution en pixel/in , 1500 donne une image de 30000 pixels et 25Mo
Avec -r90, ça donne une image d'environ 1800 pixels mais lors de l'extraction, j'ai certaines images trop petites
C'est assez aleatoire, dommage car c'était vraiment plus rapide
7z peut effectivement supprimer les images avec l'option -sdel
Je comptais tout renommer aprés en .cbr car je ne savais pas comment renommer directement en gardant le meme nom
J'ai aussi rajouté une ligne pour supprimer le fichier PDF (penser a travailler sur des copies de sauvegarde)
Finalement ça donne ça
#!/bin/bash
for a in *.pdf
do
gs -dNOPAUSE -dBATCH -sDEVICE=jpeg -r150 -sOutputFile='page-%00d.jpg' "$a"
mogrify -resize 1600x1600 *.jpg
7z a "${a%.pdf}.zip" *.jpg -sdel
mv "${a%.pdf}.zip" "${a%.pdf}.cbr"
rm "$a"
done
Plus qu'a mettre tout ça dans le service menu de dolphin
Un grand merci a toi et au passage j'ai appris quelque astuces
Sujet resolu
Dernière modification par willcoyote (Le 30/04/2020, à 14:42)
Hors ligne
#4 Le 30/04/2020, à 13:24
- marcus68
Re : extraire images de pdf en masse (RESOLI)
à noter le script ne marche que si l'extension est en minuscule, je sais pas si c'est gênant pour toi.
Je comptais tout renommer aprés en .cbr car je ne savais pas comment renommer directement en gardant le meme nom
7z a "${a%.pdf}.zip" *.jpg -sdel
mv "${a%.pdf}.zip" "${a%.pdf}.cbr"
et comme ça ?
7z a "${a%.pdf}.cbr" *.jpg -sdel
Hors ligne
#5 Le 30/04/2020, à 14:51
- willcoyote
Re : extraire images de pdf en masse (RESOLI)
Je n'avais pas pensé aux majuscules mais ce n'est pas un probleme, tout est en minuscule
et comme ça ?
7z a "${a%.pdf}.cbr" *.jpg -sdel
Alors ça fonctionne mais il y a un probleme curieux
L'avantage d'un fichier CBR est d'avoir l'aperçu de la première page
Avec cette commande, le fichier CBR n'a pas d'aperçu, juste l'icone CBR
Hors ligne
#6 Le 30/04/2020, à 15:00
- marcus68
Re : extraire images de pdf en masse (RESOLI)
C'est sûrement un problème de format de compression
Cbr c'est pour le format rar, je ne sais pas si 7zip gère ce format et sinon il faut peut être spécifier de l'enregistrer dans ce format.
Le fichier doit être en zip, essaye avec l'extension cbz
Hors ligne
#7 Le 30/04/2020, à 15:53
- willcoyote
Re : extraire images de pdf en masse (RESOLI)
Mème résultat avec l'extension cbz: pas d'aperçu
Te casse pas la tète, tu m'as bien aidé
Ça fonctionne très bien comme ça
Par contre ATTENTION
J'ai créé une action par le menu du navigateur dolphin (dolphin service menu)
clic droit sur un fichier=>pdf en cbr
Il est important de n'avoir qu'un seul fichier sélectionné sinon tout est detruit
Hors ligne