4 votos

AppleScript – Páginas de exportar a PDF falla debido a un entorno limitado de permisos

Estoy tratando de crear un flujo de trabajo de Automator para exportar seleccionados Páginas de documentos a PDF. Hasta ahora, todo va bien, salvo por el final de la 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 una caja de arena error de permisos.

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í, que parecía que podría solucionar este problema, cambie _location a POSIX file.

Así que he añadido;

--set _location to (POSIX file _location)

Sin embargo, para que luego me da el error:

Las páginas de un error: "macOS:Usuarios:brunoscheele:Escritorio:de Prueba.pdf" no podría ser interpretado como una dirección URL del archivo.

El uso de export front document to (POSIX file _location) as PDF me da el mismo error.

¿Alguien sabe cómo establecer el _location correctamente, para que no se quede en problemas de permisos?

1voto

Seif Puntos 121

Están muy cerca. Editar su línea de exportación para parecerse a esto:

export front document to file _location as PDF

Es la palabra "archivo" que le faltaban.

Nota: he probado el script de nuevo, y no funcionó, incluso con la palabra "archivo", agregó. Sin embargo, mientras que la experimentación me encontré con que si he cambiado esta línea:

set _location to (_directory as string) & _PDFName

a

set _location to (_directory as string) 

a continuación, la secuencia de comandos de un supuesto de error. Pero entonces, si me deshizo el cambio, por lo que la línea de nuevo se veía así:

set _location to (_directory as string) & _PDFName

el guión comenzó a trabajar! Estoy usando Páginas 6.0.5, macOS 10.12.2.

No puedo decir cuál es la causa de este comportamiento.

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