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.

#26 Le 25/04/2019, à 20:20

cqfd93

Re : Extraction des images d'un lot de pdf.

Je ne sais pas où tu en es de tes tests mais de mon côté, j'ai bien progressé (je ne te donne pas de lignes de code wink).

Mon script maintenant :

  • crée un dossier "convertis" destiné à recevoir les pdf qui auront été recréés

  • crée un sous-dossier pour chaque pdf (c'est la seule chose que tu as pour le moment)

  • extrait chaque pdf dans son sous-dossier

  • ne dédouble pas encore les images

  • re-convertit toutes les images du sous-dossier et place le pdf obtenu dans "convertis" avec le même nom que le pdf original

Ne me reste plus qu'à trouver comment dédoubler une image. Une fois les images dédoublées et nommées avec -1 et -2, la conversion en pdf retient bien l'ordre des pages (j'ai testé)


cqfd93

Hors ligne

#27 Le 26/04/2019, à 04:52

cqfd93

Re : Extraction des images d'un lot de pdf.

Bonjour,

Ça y est, mon script dédouble correctement les images dès que leur largeur est supérieure à une largeur donnée. La commande imagemagick qui permet de dédoubler correctement une image est bien plus simple que ce que tu as utilisé, c'est un truc du style :

convert "image.png" -crop 2x1@ +repage "image-%d.png"

cqfd93

Hors ligne

#28 Le 26/04/2019, à 14:13

hibiki.tokay

Re : Extraction des images d'un lot de pdf.

Merci pour ton aide.
Pour le crop je l'utilise bien mais comme il modifiait (oui c'est bien au passé) le nom du fichier je perdais complètement l'ordre. J'utilisais aussi le 2x1@ pour avoir deux image de taille identique. Par contre -repage je ne connais pas.
Pour le crop il y a quand même un problème lier aux mangas. Dans une BD la page de gauche vient avant la page de droite donc on fait un crop c'est bon par contre dans les mangas c'est la page de droite qui vient en premier donc on ce retrouve avec toutes les pages inversé 2 par 2.

Question script j'ai pas pus avancer car je suis au boulot.
En plus de ça je ne m'y retrouve pas avec toutes ces histoires de paramètres, valeurs, boucles.... même le morceau de code de hier j'ai du mal à comprendre.

Et pour te dire honnêtement je ne suis pas vraiment patient dans ce domaine là... je suis capable de rester des heures sur une maquette de cuirassé, de passer des heures à lire un bon livre mais pour ce domaine (l'informatique et en particulier la programmation) je l'ai perdus depuis quelques temps.

Dernière modification par hibiki.tokay (Le 26/04/2019, à 14:44)


Cooler Master MasterBox Q300L, ASRock B550M Steel Legend, AMD Ryzen 5 5600 , GTX 1050 Ti WINDFORCE, DDR4 32go (Ub22.10)
Portable Lenovo Ideapad Gaming 3 15IHU6 ram32Go, Mvne 2To + 4To + SSD 8To (Ub22.10)
Syno DS1819+ 8x6To (SHR2) et Syno DS1512+ 5x8To (SHR1)

Hors ligne

#29 Le 26/04/2019, à 19:47

cqfd93

Re : Extraction des images d'un lot de pdf.

Bonjour,

hibiki.tokay a écrit :

Merci pour ton aide.

smile

Pour le crop je l'utilise bien mais comme il modifiait (oui c'est bien au passé) le nom du fichier je perdais complètement l'ordre. J'utilisais aussi le 2x1@ pour avoir deux image de taille identique. Par contre -repage je ne connais pas.

J'avoue ne pas avoir vraiment compris ta commande, du coup j'ai cherché sur le net et j'ai fini par trouver cette commande avec -crop 2x1@ +repage (sans le +repage, ça produisait 2 pages de largeur double avec juste une moitié blanche).

Pour le crop il y a quand même un problème lier aux mangas. Dans une BD la page de gauche vient avant la page de droite donc on fait un crop c'est bon par contre dans les mangas c'est la page de droite qui vient en premier donc on ce retrouve avec toutes les pages inversé 2 par 2.

Je ne sais pas si ça peut se faire avec un paramètre donné à -crop, mais au pire, on peut renommer les images.
Ma commande crop sur image donne image-0 et image-1, il suffit de renommer toutes les -0 en -2, c'est facile à faire.
Bien sûr, il faut que le script ne fasse ça que pour les mangas, donc qu'il sache à quel type (BD ou manga) il a affaire. Ces deux types sont-ils facilement identifiables par leur nom ou le dossier qui les contient ?

Question script j'ai pas pus avancer car je suis au boulot.
En plus de ça je ne m'y retrouve pas avec toutes ces histoires de paramètres, valeurs, boucles.... même le morceau de code de hier j'ai du mal à comprendre.

Si tu parles des 2 lignes que je t'ai données dans le message 25, ça se comprend, c'est pour ça que je te les ai données, ça ne s'invente pas quand on ne connaît pas, et pour ne rien te cacher, je ne la comprends pas, j'ai juste dégotté ça sur le net en lisant des scripts pour créer les miens.

Et pour te dire honnêtement je ne suis pas vraiment patient dans ce domaine là... je suis capable de rester des heures sur une maquette de cuirassé, de passer des heures à lire un bon livre mais pour ce domaine (l'informatique et en particulier la programmation) je l'ai perdus depuis quelques temps.

Autant je donne facilement les commandes permettant de dépanner quelqu'un qui n'arrive pas à faire ses mises à jour par exemple, autant dans ton cas je me refuse à donner une solution toute cuite (je n'ai jamais fait ça quand j'enseignais, je ne vais pas m'y mettre maintenant wink).

Donc si tu veux que ton script avance, il va falloir mettre la main à la pâte et y ajouter les parties les plus faciles à faire (pour le plus dur, je te donnerai quelques petits bouts).

Voilà ce que doit contenir le script :

#!/bin/bash

# Gestion des noms de fichier avec espaces
IFS=$'\n'

while [ $# -gt 0 ]; do

  fichier=$1
  dossier=`echo "$fichier" | sed 's/\.\w*$//'`
  mkdir $dossier

  shift
done

Il ne devrait pas être difficile d'y ajouter la commande convert qui va extraire les images du pdf $fichier
en stockant dans le dossier $dossier les images de type png (ou si tu préfères, du jpg),  images qui s'appelleront image001.png, image002.png

Il faut en plus savoir que quand on lance convert en ligne de commande, il suffit de faire :

convert …

mais dans un script, il faut donner le chemin complet de l'exécutable :

/usr/bin/convert …

Donc : quelle commande ajouteras-tu et où ?


cqfd93

Hors ligne

#30 Le 27/04/2019, à 09:24

hibiki.tokay

Re : Extraction des images d'un lot de pdf.

Merci.
Je comprend ce que tu fais. J'étais aussi comme ça quand je formais des jeunes.
En ce qui me concerne je pense comprendre ce qui ce passe. Je veux faire une chose "relativement" difficile ( je parle de mon point de vue) sans avoir les bases. Par exemple tous ce qui ce trouve après "sed" je ne le comprend pas. Je sais que ce sont des paramètres mais à quoi ils correspondent... mystère pour moi. Donc ne serait il pas bien que je démarre avec les bases aussi? Si tu as un bon doc à me conseiller. De toute façon ce que j'apprendrai me servira forcément plus tard.
Tu utilise "convert"? Pourquoi pas "pdfimage"? Je vais regarder ça ce soir quand je serai rentré.


Cooler Master MasterBox Q300L, ASRock B550M Steel Legend, AMD Ryzen 5 5600 , GTX 1050 Ti WINDFORCE, DDR4 32go (Ub22.10)
Portable Lenovo Ideapad Gaming 3 15IHU6 ram32Go, Mvne 2To + 4To + SSD 8To (Ub22.10)
Syno DS1819+ 8x6To (SHR2) et Syno DS1512+ 5x8To (SHR1)

Hors ligne

#31 Le 27/04/2019, à 21:16

cqfd93

Re : Extraction des images d'un lot de pdf.

hibiki.tokay a écrit :

En ce qui me concerne je pense comprendre ce qui ce passe. Je veux faire une chose "relativement" difficile ( je parle de mon point de vue) sans avoir les bases.

Il y a un début à tout et il faut y aller progressivement. Écrire des tout petits scripts pour faire des choses répétitives qui te sont utiles est une bonne façon d'apprendre.

Par exemple tous ce qui ce trouve après "sed" je ne le comprend pas. Je sais que ce sont des paramètres mais à quoi ils correspondent... mystère pour moi.

Ah oui, sed, c'est plutôt ésotérique wink D'ailleurs en cherchant des explications à cette commande (notamment le "\w"), je me suis aperçue qu'il y avait un peu plus simple (bon, OK, pour toi ça ne change rien) et surtout, j'ai trouvé autre chose sans sed, beaucoup plus parlant, la commande basename. Donc on peut carrément remplacer :

  dossier=`echo "$fichier" | sed 's/\.\w*$//'`

par

  dossier=$(basename $fichier .pdf)

(il faut juste que tous tes pdf aient bien cette extension, en minuscules)

Donc ne serait il pas bien que je démarre avec les bases aussi? Si tu as un bon doc à me conseiller. De toute façon ce que j'apprendrai me servira forcément plus tard.

Oui, c'est bien de commencer par les bases wink On trouve plein de choses sur le net, notamment openclassroom, mais le choix est tellement vaste.

Tu utilise "convert"? Pourquoi pas "pdfimage"? Je vais regarder ça ce soir quand je serai rentré.

Je n'ai jamais essayé pdfimage et je suis habituée à convert (de imagemagick dont je suis très loin de tout connaître).


cqfd93

Hors ligne

#32 Le 28/04/2019, à 16:32

hibiki.tokay

Re : Extraction des images d'un lot de pdf.

Merci pour ton aide.
J'ai pris la décision de mettre en veille ce projet pour commencer l'apprentissage a partir des bases.
Je reviendrai lorsque je me serais familiarisé avec les scripts.

Merci encore


Cooler Master MasterBox Q300L, ASRock B550M Steel Legend, AMD Ryzen 5 5600 , GTX 1050 Ti WINDFORCE, DDR4 32go (Ub22.10)
Portable Lenovo Ideapad Gaming 3 15IHU6 ram32Go, Mvne 2To + 4To + SSD 8To (Ub22.10)
Syno DS1819+ 8x6To (SHR2) et Syno DS1512+ 5x8To (SHR1)

Hors ligne

#33 Le 28/04/2019, à 18:34

cqfd93

Re : Extraction des images d'un lot de pdf.

Pas de problème. Bon courage !


cqfd93

Hors ligne