automator pour créer des pdf

tib51

Membre expert
Club iGen
18 Octobre 2001
1 926
46
45
Lyon
Bonjour,

Je souhaiterais savoir comment faire rapidement un export pdf de plusieurs fichiers pages (ou d'autre format) sans avoir à ouvrir l'application, faire exporter... pdf, puis choisir le chemin de l'export etc....

Dans les actions rapides du Finder, ils a l'option "créer un pdf", mais elle n'apparait que sur un fichier image.... Ce qui est une limitation vraiment incompréhensible puisque n'importe quel logiciel capable d'imprimer peut créer un pdf....

Je me dis qu'il doit y avoir un moyen de faire cela rapidement dans automator, mais je n'ai jamais touché à ce logiciel.... Du coup si quelqu'un peut me conseiller, je suis preneur.
Idéalement je prends un dossier que je glisse sur l'automator, et il me crée une version pdf de tous les fichiers qui se trouvent dedans... C'est possible ?

Merci d'avance !

Tib51
 
Bonjour,

Il faut un applescript ou un script automator pour chaque type de fichier,

je te met un petit applescript, pour exporter tous les fichiers xxx.pages vers xxx.pdf.

pour utiliser ce script:
Ouvrir l’application “Editeur de script” qui est dans Application—>Utilitaires
Choisir le bouton en bas à gauche “Nouveau document”, dans la fenêtre qui s’ouvre faire un copier-coller du script.
Cliquer sur le bouton "triangle play" en haut à droite “Exécuter”

Le script te demande de sélectionner le dossier contenant les fichiers pages à exporter, puis il te demande de sélectionner un dossier dans lequel il mettra les fichiers au format PDF.
Il fait le job, il traite tous les fichiers du dossier et des sous-dossiers puis te met un message quand il a terminé.

dis moi si c'est bon .

Bloc de code:
tell application "Finder"
    set cheminsource to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à exporter en PDF"
    set chemincible to choose folder with prompt "Sélectionnez le dossier cible"
   
    my inspecter(cheminsource, chemincible)
end tell

on inspecter(source, cible)
    tell application "Finder"
        -- traitement des fichiers :
       
        set les_fichiers to files of source
        repeat with chaque_fichier in les_fichiers
            -- traitement d'un fichier
            tell application "Finder"
                set lefichier to chaque_fichier
                set nom to name of chaque_fichier -- recupere le nom du fichier
                set extens to document file nom in source --recupere l extension du fichier
                set lextension to name extension of extens
               
                if lextension = "pages" then
                   
                    set sauv to AppleScript's text item delimiters --sauvegarder la variable delimiteur
                    set AppleScript's text item delimiters to {"."} --récupère la partie avant le dernier "."
                    set elements to text items of nom
                    set nomcourt to (items 1 thru -2 of elements) as string
                    set ancien_nom to nomcourt
                    set AppleScript's text item delimiters to sauv --restaurer la variable delimiteur
                   
                    set sortie to cible & ancien_nom & ".pdf" as string --défini le chemin de sortie
                   
                   
                    set extension hidden of lefichier to false -- force affichage de l'extension
                    set lefichier to chaque_fichier as string
                   
                    tell application "Pages"
                        open file lefichier -- ouvre le fichier dans pages
                        export document nom to file sortie as PDF --exporte en PDF
                        close document nom --ferme le fichier
                    end tell
                    set extension hidden of alias lefichier to true -- masque l extension du fichier source
                end if
               
            end tell
        end repeat
        -- traitement des dossiers :
        set les_dossiers to folders of source
        repeat with chaque_dossier in les_dossiers
            -- traitement d'un dossier
            my inspecter(chaque_dossier)
        end repeat
    end tell
end inspecter
tell application "Finder"
    activate
    (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
end tell
 
Dernière édition:
  • J’aime
Réactions: Dreambox62