Estoy intentando crear un flujo de trabajo de Automator para exportar documentos de Pages seleccionados a PDF. Hasta ahora, todo va bien, excepto el paso final de exportación.
on run {input, parameters}
repeat with _document in input
tell application "Finder"
set _directory to get container of file _document
set _documentName to name of _document
if _documentName ends with ".pages" then ¬
set _documentName to text 1 thru -7 of _documentName
set _PDFName to _documentName & ".pdf"
set _incrementIndex to 1
repeat until not (exists file _PDFName of _directory)
set _PDFName to ¬
_documentName & "-" & (_incrementIndex as string) & ".pdf"
set _incrementIndex to _incrementIndex + 1
end repeat
set _location to (_directory as string) & _PDFName
end tell
--set _location to (POSIX file of _location)
tell application "Pages"
activate
open _document
with timeout of 1200 seconds
export front document to file _location as PDF
end timeout
close front document
end tell
end repeat
return input
end run
Esto me da un error de permisos de Sandbox.
error 17:49:38.117966 +0100 sandboxd SandboxViolation: Pages(3846) deny file-write-create /Users/brunoscheele/Desktop/Test.pdf
Violation: deny file-write-create
Después de leer sobre él aquí , parecía que podía arreglar esto cambiando _location
a POSIX file
.
Así que agregué;
--set _location to (POSIX file _location)
Sin embargo, eso me da el error:
Las páginas obtuvieron un error: "macOS: Users: brunoscheele: Desktop: Test.pdf" no se pudo interpretar como una URL de archivo.
El uso de export front document to (POSIX file _location) as PDF
me da el mismo error.
¿Alguien sabe cómo configurar _location
correctamente, para que no tenga problemas de permisos?