Sto provando a creare un flusso di lavoro di Automator per esportare i documenti di Pages selezionati in PDF. Finora, tutto va bene, tranne per la fase di esportazione finale.
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
Questo mi dà un errore di autorizzazioni 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
Dopo aver letto su di esso qui , sembrava che potessi risolvere il problema cambiando _location
in un POSIX file
.
Quindi ho aggiunto;
--set _location to (POSIX file _location)
Tuttavia, questo mi dà l'errore:
Le pagine hanno ricevuto un errore: "macOS: Users: brunoscheele: Desktop: Test.pdf" non può essere interpretato come un URL di file.
L'utilizzo di export front document to (POSIX file _location) as PDF
mi dà lo stesso errore.
Qualcuno sa come impostare correttamente _location
, quindi non si verificano problemi di autorizzazione?