Automator : regrouper des .jpg dans un PDF en attribuant un nom

Roger Jodoin

Membre enregistré
22 Janvier 2018
2
0
72

------------
Bonjour à tous,
C'est la première fois que je m'exprime sur un forum et ceci à la suggestion d'un expert d’Apple. Je suis novice à utiliser Automator et même après consultation de plusieurs sites et fora je n'arrive pas à régler ce petit problème qui est presque devenu une obsession.

Parmi les nombreuses tentatives, j’ai trouvé un script qui aurait pu faire l’affaire mais ce dernier bloque à la dernière étape et je n’ai pas les connaissances pour le modifier afin qu’il fonctionne. J’ai aussi essayé de faire une routine «en observant mes gestes », puis en utilisant une variable, le tout sans succès.

J'utilise un iMac 27 (Juin 2010) opérant sous El Capitain français (ce qui parfois créé des difficultés lorsque je consulte des sites anglais pour établir une correspondance adéquate).

J'ai plus de 300 dossiers contenant les fichiers JPEG (bandes dessinées) que je désire assembler chacun sous un format PDF avec le nom du dossier initial; je peux faire la partie d’assenblage de façon aisée mais je dois manuellement inscrire pour chacun le nom du dossier pour compléter le nom du nouveau livre assemblé en PDF. 60 dossiers m'ont pris plus de deux heures à compléter car j’ai dû manuellement inscrire les titres des livres un à un (Cmd +C, Cmd +V.)

Voici les étapes ou processus que j’entrevois;

1. Recevoir des dossiers contenant chacun les fichiers 50 à 60 images JPEG.
2. Saisir le nom du dossier
3. Assembler les images sous un livre PDF
4. Sauvegarder le nouveau livre PDF avec le nom du dossier initial
5. Ranger le nouveau livre dans un dossier temporaire ou transitoire
6. Recommencer le processus (loop) si je pouvais alimenter ce processus à partir d’un dossier contenant tous les 300 dossiers à traiter.

À noter que certains dossiers sont archivés. J’ai donc créer 2 applications différentes: une pour les dossiers archivés (zippés) dont la première action est de désarchiver le dossier et un autre pour les dossiers ne contenant que les fichiers d’images.

Voici les 2 processus créés:

1. JPEG en PDF
JPEG en PDF.png

2. Désarchiver, JPEG en PDF

Dezipper & JPEG en PDF.png

L’étape qui me cause de la difficulté est l’action « Nouveau PDF à partir des images » qui établie par défaut le nom du fichier de sortie; donc comment lui passer l’intrant ou l’information pour qu’elle utilise le nom du dossier initiale pour sauvegarder de façon adéquate ce nouveau PDF.

Il y a aussi le loop qui devrait retourner dans le dossier initiale et saisir le deuxième fichier et ainsi de suite.

J’ai tenté de fournir le plus de détails possibles pour faciliter une aide quelconque… et je vous en remercie à l’avance.


Roger Jodoin
 
Dernière édition par un modérateur:
Bonjour, et bienvenu sur le forum.

Malheureusement ta demande n'est pas simple ...

Il te faut une petite action automator, mais elle devra être lancer par un script applescript pour faire une boucle sur tous les dossiers et à chaque création du fichiers pdf il faut le renommer.

Donc dans automator uniquement 3 actions:
- Obtenir la valeur de la variable --> variable que j'ai appelé "Dossier"
- Obtenir le contenu de dossiers
- Nouveau PDF à partir des images --> avec pour enregistrer la sortie dans : (glisser un nouveau dossier créé sur le bureau du nom de "mes PDF") et pour Nom du fichier de sortie "lepdf"
upload_2018-1-22_18-57-12.png


pour le script applescript

Bloc de code:
-- regroupe les images du dossier dans un PDF

tell application "Finder"
    set chemin to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à renommer"
   
    my inspecter(chemin) --appel routine avec transmission des variables
end tell




on inspecter(un_dossier)
    -- récupération du nom du dossier
    set ledossier to un_dossier as string
    set ledossier to text 1 thru -2 of ledossier
    set AppleScript's text item delimiters to {":"}
    set ddd to get last text item of ledossier
   
   
    tell application "Automator"
        set w to workflow "jpeg2pdf.workflow" -- pour appel du script automator
        set value of variable "Dossier" of w to ((ledossier as text) as alias) -- Transmet variable dossier
        execute w -- appelle automator
       
    end tell
   
   
   
   
    tell application "Finder"
       
        set nom to a reference to file "macintosh HD:Users:TON NOM UTILISATEUR:Desktop:mes PDF:lepdf.pdf" --chemin du fichier creer
        set nouveaunom to ddd & ".pdf" --le nouveau nom = nom du dossier
       
        set name of nom to nouveaunom --renomme le fichier
       
       
        -- traitement des dossiers :
        set les_dossiers to folders of un_dossier
        repeat with chaque_dossier in les_dossiers
            -- traitement d'un dossier
            my inspecter(chaque_dossier)
        end repeat
    end tell
end inspecter

tell application "Finder"
    (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
end tell

Remplacer "TON NOM UTILISATEUR" par ton nom (de la petite maison)

Il faut que le script automator soit ouvert , et que tu ais créé un dossier "mes PDF" sur le bureau (celui qui a servi pour le chemin dans automator).
Ensuite lancer le script applescript qui te demande de choisir le dossier.
Cela crée un fichier PDF des images de chaque dossier (si dossier vide fichier PDF vide, sera à supprimer) dans le dossier "mes pdf"
 
Oups !
J'ai oublié de préciser que le script automator doit être enregistré sur le bureau avec le nom : "jpeg2pdf.workflow" , nom sous lequel l'applescript l'appelle.