0 votos

Applescript inserta imágenes en un documento .Pages

He probado numerosos ejemplos en internet, pero todos parecen no funcionar. La imagen se recibe a través de Automator y cada archivo se dispensa de forma incremental y se ejecuta a través de la siguiente Applescript:

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

Debería insertar todas las imágenes en el mismo documento de Pages, pero en lugar de eso estoy obteniendo 'Can't make image {image (alias: "certain path") with document id: "certain id"} into type properties of image'.

¿Puede alguien indicarme qué estoy haciendo mal?


Flujo de trabajo de Automator Automator Workflow

0 votos

Unas cuantas cosas... El flujo de trabajo que muestra está incompleto, ya que Obtener el contenido de la carpeta no puede ser la primera acción en un flujo de trabajo estándar normal. Entonces, ¿qué hay antes de ella? No estoy ejecutando OS X 10.11, sin embargo, antes de eso, por defecto, la Acción Dispensar Elementos Incrementalmente no existe, por lo que no puedo replicar el Flujo de Trabajo como lo tienes para hacer pruebas. ¿Estás ejecutando OS X 10.11 y es esa Acción una Acción por defecto? Un error que veo en el código AppleScript es {image img} necesita ser {image data:img} . ¿Intentaste usar un repeat ¿declaración como mencioné en el enlace de mi comentario en su pregunta eliminada?

1voto

user3439894 Puntos 5883

Como no tengo el Dispensar artículos de forma incremental Acción lo que voy a presentar es una forma alternativa de conseguir lo que entiendo que es tu objetivo final, al menos en parte. El código que se presenta a continuación no está pulido ni es completo, ya que simplemente realiza la inserción del número de imágenes de la carpeta seleccionada en el documento sin tener en cuenta la ubicación en el documento. Usted tendrá que modificar el código para satisfacer sus deseos/necesidades. Sin embargo, si no es aceptable para usted, no espero que una dote de abajo como lo hice ir a la molestia de tratar de ofrecer una solución razonable, así que simplemente hágamelo saber en un comentario que no es la dirección que desea ir y voy a eliminar la Respuesta.

En Automatizador He creado un Flujo de trabajo utilizando Pedir artículos del buscador , estableciendo el Tipo: a Carpetas mientras no se comprueba Permitir selecciones múltiples , > Obtener el contenido de la carpeta > Ejecutar Apple script y un Carpeta en Buscador que contiene dos .png imágenes nombradas como se muestra en el Resultados de su Obtener el contenido de la carpeta Acción (aunque he utilizado archivos PNG, funcionará con JPG o cualquier tipo de imágenes gráficas soportadas en Pages) .

A continuación, he modificado su AppleScript código para incluir el elemento mencionado en mi comentario y un repeat junto con un contador .

A continuación, pude insertar las dos imágenes en un documento de Pages, lo que ocurrió de forma lexicográfica, ya que aparentemente es lo que se hace por defecto en un escenario como éste. Así que esto parece negar la necesidad de la Dispensar artículos de forma incremental Acción aunque no tenga esa Acción No soy capaz de probar la diferencia entre los dos Flujos de trabajo .

AppleScript código :

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

Como se mencionó anteriormente, esto sólo inserta el número de imágenes en la carpeta seleccionada en el documento sin tener en cuenta la ubicación en el documento y tendrá que determinar lo que código es necesario para lograr una ubicación adecuada en el documento y, dado que se trata de un bucle, probablemente también tendrá que incrementar la posición de ubicación para cada imagen que inserte en el documento.

Aunque está instalado yo personalmente no uso Pages, uso LibreOffice, sin embargo habiendo buscado un poco en Internet he visto ejemplo código que se ocupó de la ubicación de la colocación en el documento y también abriría la aplicación script Editor y luego abrir el Diccionario de páginas para ver lo que expone para que pueda determinar lo que tiene que trabajar.

0 votos

Gracias por su respuesta. Me gustaría votar, pero todavía no tengo suficientes representantes. Dispensar artículos es una acción que encontré en línea aquí ( peachpit.com/articles/article.aspx?p=1327771&seqNum=2 ), siento no haberlo incluido. Al usar tu código estoy obteniendo el siguiente error en la línea data:img: 'Expected expression, property or key form, etc. but found ":".' ¿Alguna idea de lo que estoy haciendo mal?

0 votos

Por cierto que he reconstruido el flujo de trabajo exacto que has mencionado

0 votos

@Frank, Todo lo que puedo decirte es que lo que he publicado funciona como se anuncia para mí bajo OS X 10.8.5 y la versión 4.3 de Pages '09 (1048). Dicho esto, no puedo empezar a analizar nada hasta que no vea lo que tienes delante y qué versiones de OS X y Pages estás utilizando. Además, ¿escribiste el código manualmente o si lo copiaste y pegaste, qué navegador estás usando Safari, Firefox o Chrome? Si escribiste manualmente el código, por favor sube una captura de pantalla del flujo de trabajo y proporciona un enlace a i para que pueda ver que no hay errores en el código.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X