0 votes

Applescript : insérer des images dans un document .Pages

J'ai essayé de nombreux exemples en ligne, mais tous ne semblent pas fonctionner. L'image est reçue via Automator et chaque fichier est distribué de manière incrémentielle et exécuté par l'Applescript suivant :

on run {input, parameters}
   set img to item 1 of input

   tell application "Pages"
       set thisDocument to make new document

       tell thisDocument
          make new image with properties {image img}
       end tell

   end tell
end run

Il devrait insérer chaque image dans le même document Pages, mais au lieu de cela, j'obtiens le message suivant : "Can't make image {image (alias : "certain path") with document id : "certain id"} into type properties of image".

Quelqu'un peut-il m'indiquer ce que je fais mal ?


Flux de travail Automator Automator Workflow

1voto

user3439894 Points 52496

Comme je n'ai pas le Distribuer les articles de manière incrémentielle Action Ce que je vais vous présenter est une autre façon d'atteindre ce que je comprends être votre objectif final, du moins en partie. Le site code présenté ci-dessous n'est pas abouti ou complet dans la mesure où il préforme simplement l'insertion du nombre d'images dans le dossier sélectionné dans le document sans tenir compte de l'emplacement dans le document. Vous devrez modifier le code pour qu'il réponde à vos souhaits/besoins. Cependant, si cela ne vous convient pas, je ne m'attends pas à une réaction négative, car j'ai pris la peine d'essayer de proposer une solution raisonnable, alors faites-moi simplement savoir dans un commentaire que ce n'est pas la direction que vous voulez prendre et je supprimerai la réponse.

Sur Automator J'ai créé un Flux de travail en utilisant Demandez les articles Finder en fixant le Type : à Dossiers tout en ne vérifiant pas Autoriser les sélections multiples , > Obtenir le contenu d'un dossier > Exécuter Apple script et un Dossier sur Finder contenant deux .png images nommées comme indiqué dans le Résultats de votre Obtenir le contenu d'un dossier Action (bien que j'aie utilisé des fichiers PNG, cela fonctionnera avec des JPG ou tout autre type d'images graphiques prises en charge par Pages). .

J'ai ensuite modifié votre AppleScript code pour inclure l'élément mentionné dans mon commentaire et un repeat ainsi qu'un compteur .

J'ai ensuite pu insérer les deux images dans un document Pages, ce qui s'est fait lexicographiquement puisque c'est apparemment le défaut dans un scénario comme celui-ci. Il semble donc que cela rende inutile l'utilisation de l'option Distribuer les articles de manière incrémentielle Action bien que n'ayant pas cette Action Je ne suis pas en mesure de tester la différence entre les deux. Flux de travail .

AppleScript code :

on run {input, parameters}
    set repeatCount to input count
    set n to 1
    tell application "Pages"
        set thisDocument to make new document
        tell thisDocument
            repeat repeatCount times
                set img to item n of input
                make new image with properties {image data:img}
                set n to n + 1
            end repeat
        end tell
    end tell
end run

Comme nous l'avons mentionné précédemment, cette méthode permet d'insérer dans le document le nombre d'images contenues dans le dossier sélectionné, sans tenir compte de leur emplacement dans le document. code est nécessaire pour obtenir un positionnement correct dans le document et, comme il s'agit d'une boucle, vous devrez probablement incrémenter la position de l'emplacement pour chaque image que vous insérez dans le document.

Bien qu'il soit installé, je n'utilise pas personnellement Pages, j'utilise LibreOffice, mais après avoir fait quelques recherches sur Internet, j'ai vu un exemple. code qui traite de l'emplacement dans le document et j'ouvrirais également l'application script Editor et ensuite le dictionnaire des pages pour voir ce qu'il expose afin que vous puissiez déterminer avec quoi vous devez travailler.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X