Hace un tiempo improvisé un breve AppleScript para exportar varios documentos de Pages a PDF de una sola vez, y ahora quiero hacer lo mismo con Numbers. El principio básico es el mismo y el script básicamente lo lleva a cabo EXCEPTO la parte de exportación a PDF.
aquí hay un extracto:
tell application "Numbers"
export front document to file exportFile as PDF with properties {image quality:Best}
end tell
Esto logra exportar un PDF, pero el problema que tengo es que el comando anterior utiliza la configuración "ajustar cada hoja a una sola página" por defecto por alguna razón. Preferiría que "usara la configuración de impresión" y exportara varias páginas para una sola hoja grande como cuando se imprime (ya sabes, el formato útil).
Estas opciones se presentan en el cuadro de diálogo Exportar a PDF junto a "Calidad de imagen" y "Requerir contraseña para abrir", pero no como opciones de exportación en el diccionario script para Numbers. Y el comando script tiene por defecto una configuración diferente a la del cuadro de diálogo. He tratado de adivinar / buscar lo que puedo hacer para cambiar la configuración de forma automática, pero, obviamente, sin esa suerte.
Espero, más allá de toda razón, que haya alguna manera de acceder a esta configuración / propiedad a través de AppleScript. Y espero que sin utilizar SystemEvents de ninguna manera. ¿Alguna idea?
Muy agradecido de antemano...
EDITAR con mi solución final:
Mi objetivo original era exportar automáticamente a PDF varios archivos de Numbers en distintas ubicaciones. Varios obstáculos que tuve fueron guardar en cualquier ubicación arbitraria (incluyendo volúmenes montados en red) esto requiere una ruta POSIX completa, extraer la ubicación del archivo como tipo alias (?) y convertirlo a POSIX, y secuenciar la operación Finder -> Numbers para que el script se ralentizara lo suficiente e hiciera suficiente comprobación de que el documento estaba abierto para que no se colgara cada vez. Esto es lo que terminé (por favor, perdona mi probablemente mala confirmación del proceso y la falta de manejo de errores):
tell application "Finder"
set theSelection to selection
repeat with oneItem in theSelection (*repeat the entire export process for 1 document at a time*)
set finderLocation to oneItem as text
set nameOfDocument to name of oneItem
open oneItem
tell application "Numbers"
set idx to 0 (*wait until Numbers is open with a document*)
repeat until (exists document nameOfDocument)
delay 0.1
set idx to idx + 1
if idx > 1000 then quit
end repeat
set idx to 0 (*wait target document is at the front*)
set pagesLocation to file of front document as text
repeat until finderLocation = pagesLocation
delay 0.1
set pagesLocation to file of front document as text
set idx to idx + 1
if idx > 1000 then quit
end repeat
set exportFile to file of front document (*get file location of document as file type*)
end tell
(*change file path for use when saving: convert file type to POSIX type, replace .numbers ext with .pdf, remove leading '/'*)
set exportFile to POSIX path of exportFile
set exportFile to text 1 thru -8 of exportFile
set exportFile to exportFile & "pdf"
set exportFileCharCount to count characters of exportFile
set exportFile to text 2 thru exportFileCharCount of exportFile
activate application "Numbers"
delay 0.2
tell application "System Events" to tell application process "Numbers"
(*export whole document to pdf with settings*)
click menu item 1 of menu 1 of menu item "Export To" of menu 1 of menu bar item "File" of menu bar 1
tell sheet 1 of window 1
click radio button "Use print settings" of radio group 1
click pop up button 1
click menu item "Best" of menu 1 of pop up button 1
click button "Next…"
delay 1
tell application "System Events" to keystroke "/" (*type leading '/' in order to trigger the ability to type any arbitrary location to save to*)
delay 1
tell application "System Events" to keystroke exportFile & return (*type the rest of the target file location in POSIX and accept entry*)
delay 0.5
click button "Export"
end tell
end tell
tell application "Numbers" to close front document without saving
end repeat
end tell