El guardado de PowerPoint como PDF en AppleScript da como resultado un trabajo de impresión


1

Tengo un pequeño AppleScript para guardar un archivo pptx de PowerPoint como PDF desde la línea de comandos. Utilizo el script cada 6 meses, y el otoño pasado aún funcionaba. Pero hoy me encuentro con problemas. Mientras tanto, actualicé a 10.14, y creo que también hubo bastantes actualizaciones de Office para Mac. Pero como no tengo idea de dónde viene este problema, esto también puede ser información completamente irrelevante.

El problema con el script es: cuando se llama al script, no guarda un PDF, sino que envía el archivo a la impresora predeterminada.

Aquí está el script ya actualizado, pero aún no funciona:

on run arguments
    tell application "Finder"
        set src to POSIX file (first item of arguments) as alias
        set dest to (second item of arguments) as text

        open src
        delay 10

        tell application "Microsoft PowerPoint"
            save in dest as save as PDF
            close
        end tell
    end tell
end run

Como no hay mucho código, y como el script funcionó antes, no tengo idea de lo que está mal ahora.

El comentario de @ MaxWyss me llevó a mirar el script desde la línea de comandos. Ejecuté los pocos pasos como argumentos a través de osascript:

$ osascript -e 'tell application "Finder"' -e 'set fileAlias to POSIX file ("file:///Users/me/folder/file.pptx") as alias' -e 'set theOutputPath to ("file:///Users/me/folder/test.pdf") as text' -e 'open fileAlias' -e 'delay 10' -e 'tell application "Microsoft PowerPoint"' -e 'save in theOutputPath as save as PDF' -e 'end tell' -e 'end tell'
281:320: execution error: Microsoft PowerPoint got an error: Parameter error. (-50)

Estoy un poco sorprendido por el mensaje de error, así que intenté ejecutar el script nuevamente:

$ osascript pptx2pdf.scpt file:///Users/me/folder/file.pptx test.pdf
pptx2pdf.scpt: execution error: Microsoft PowerPoint got an error: Parameter error. (-50)

No sé por qué pasé por alto este error. Supongo que se debe a las muchas cosas que cambié en el guión. Sin embargo, este es el mensaje de error, que, desafortunadamente, todavía me deja sin una pista, ya que las diapositivas todavía se envían a la cola de la impresora.


¿Qué sucede si realiza los pasos manualmente, sin el script?
Max Wyss

@MaxWyss ¿Qué quieres decir con "manualmente"? "Guardar como" y "Exportar" en PowerPoint funcionan como se esperaba. ¿O quieres ejecutar las instrucciones del script en algún tipo de terminal? Si es esto último, ¿cómo puedo hacer esto?
PVitt

En realidad, con "manualmente", tenía la intención de hacer lo que desea hacer con el script utilizando las interfaces de usuario del programa. Sin embargo, su actualización del mensaje me dio otra idea ... Especialmente, si está haciendo Applescripting bastante serio, invertir en Script Debugger de Late Night Software valdría cada centavo ... Eso definitivamente lo ayudaría a localizar el problema. También le daría la posibilidad de consultar el diccionario Applescript de PowerPoint, lo que le ayudará con los parámetros.
Max Wyss

@MaxWyss Gracias por tu consejo, sin embargo, el diccionario realmente no ayuda. Dice save [in file], pero no puedo hacer que el segundo argumento sea un archivo o un archivo POSIX. Esto es realmente molesto. Supongo que tengo que explotarlos a mano ...
PVitt

Tengo este problema también. Es una pena que Powerpoint sea tan infantil que ni siquiera exponga una CLI.
HappyFace
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.