5 votos

Usando AppleScript para convertir por lotes las páginas a pdf

Necesito convertir unos 100 documentos .pages a pdf o docx. Con el AppleScript script que aparece a continuación, puedo abrir documentos .pages desde la carpeta que seleccione. Sin embargo, recibo el siguiente error al intentar exportar.

Pregunta: ¿Qué está causando el error y cómo lo arreglo?

Mensaje de error con la información personal reemplazada:

error "Las páginas tienen un error: No se puede hacer un alias "Macintosh". HD:Usuarios:Ruta:A:Archivo:foo.pages\N" en tipo documento". Número -1700 del alias "Macintosh". HD:Usuarios:Ruta:A:Archivo:foo.pages." a documento

La línea de código que produce el error:

export this_file to exportFileName as PDF

script:

set exportFileExtension to "pdf"
set this_folder to (choose folder with prompt "Pick the folder containing the files to process:") as string
tell application "System Events"
    set these_files to every file of folder this_folder
end tell
repeat with i from 1 to the count of these_files
    set this_file to (item i of these_files as alias)
    set this_info to info for this_file
    tell application "Finder"
        set {fType, nExt} to ({file type, name extension} of file this_file)
        set documentName to the name of this_file
        set exportFileName to documentName & "." & exportFileExtension
    end tell
    if nExt contains "pages" then
        tell application "Pages"
            open this_file
            export this_file to exportFileName as PDF
            close saving no
        end tell
    end if
end repeat

###Update###: Tengo añadió este script a github con la esperanza de que beneficie a otros a medida que siga mejorando. Se agradecen las contribuciones.

0 votos

Sí, efectivamente :) Nunca he tocado AppleScript antes de la gran copia/pega de múltiples fuentes expuestas aquí. No estoy usando fType, pero sí nExt. ¿Puedo set nExt to (name extension of file this_file) ? En cuanto a las convenciones de nomenclatura, de acuerdo. Esto es de las múltiples fuentes de las que he copiado. Lo limpiaré. Gracias.

2voto

siva Puntos 23

Reemplaza la línea de código que produce el error con lo siguiente:

export front document to file (this_folder & exportFileName) as PDF

Había dos problemas aquí:

  • La exportación toma un documento, por lo que hay que pasarle el documento como lo abre Pages.
  • Le diste el nombre del archivo, pero no una carpeta de contención para poner el archivo con este nombre, así que concaténalo con la ruta de la carpeta de contención para que Pages sepa a dónde exportar.

0 votos

Gracias. He podido exportar con éxito utilizando los cambios que sugieres. Sin embargo, mi código abre los 100 archivos antes de ejecutarlos y no los cierra.

1 votos

@BrianWilson, Re: tu comentario... cambia close saving no a close front document saving no

0 votos

Hmm. Ahora set this_file to (item i of these_files as alias) es causando un mensaje de error: error "Can’t make «class cpkg» \"Macintosh HD:Users:Path:to:file.pages:\" of application \"System Events\" into type alias." number -1700 from «class cpkg» "Macintosh HD:Users:Path:to:file.pages:" to alias

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