3 votos

Applescript para abrir todos los archivos de una carpeta y convertirlos en PDF con Vista Previa

He escrito un AppleScript para hacer lo que describe el título. Se supone que debe ir a una carpeta determinada, abrir cada uno de los archivos de uno en uno en la vista previa, hacer clic en "archivo" en la barra de menú, a continuación, haga clic en "Exportar como PDF ...", a continuación, haga clic en enter para aceptar el diálogo que se abrirá. Repite la operación hasta que no queden más archivos por automatizar.

tell application "Finder"
    set fl to files of folder POSIX file "/Users/username/Desktop/Folder" as alias list
end tell
repeat with f in fl
    tell application "Preview"
        open f
        tell application "System Events" to tell process "Preview"
            click menu item "Export as PDF..." of menu 1 of menu bar item "File" of menu bar 1
        end tell
        keystroke return
    end tell
end repeat

Me da el siguiente error cuando se ejecuta, abre el archivo en Vista Previa y se detiene. ¿Alguna idea?

El error no es muy descriptivo.

enter image description here

2voto

user3439894 Puntos 5883

Tiene que ser "Export as PDF…" no "Export as PDF..." Observe que el primer ejemplo tiene una elipsis real, no como en su código, el segundo ejemplo, tres puntos después de PDF .

Además, como ejemplo en la Vista Previa bajo MacOS 10.12.5 Sierra con la que he probado esto, también se puede utilizar:

tell application "System Events" to tell process "Preview"
    click menu item 14 of of menu 1 of menu bar item "File" of menu bar 1
end tell

Nota: Obviamente bajo diferentes versiones de OS X/MacOS "Exportar como PDF " puede ser un <code>menu item</code> <em>número </em>o que <em>comando </em>puede no existir en esa forma.


Para responder al comentario, yo utilizaría lo siguiente en lugar de lo que tienes actualmente:

tell application "System Events"
    click menu item "Export as PDF…" of menu 1 of menu bar item "File" of menu bar 1 of application process "Preview"
    delay 0.2
    click button "Save" of sheet 1 of window 1 of application process "Preview"
end tell

Dejando fuera keystroke return de la código .

Nota: El valor del <code>delay</code> <em>comando </em>puede necesitar ser ajustado para su sistema.

0 votos

Es correcto, gracias. Sin embargo, el retorno de mi pulsación da el error "La vista previa tiene un error: No se puede obtener la pulsación de teclas " ".

0 votos

@JamesDonnelly has dicho ' Sin embargo, el retorno de mi pulsación da el error: "La vista previa tiene un error: No se puede obtener la pulsación de teclas " ". ...bueno, esa es una pregunta totalmente diferente. Te sugiero que hagas otra pregunta por separado, y si es apropiado puedes hacer referencia a la pregunta original si lo consideras pertinente.

0 votos

@JamesDonnelly, he actualizado mi respuesta para atender tu comentario.

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