Necesito convertir alrededor de 100 documentos .pages a pdf o docx. Con el script AppleScript a continuación, puedo abrir documentos .pages desde la carpeta que selecciono. Sin embargo, recibo el siguiente error al intentar exportar.
Pregunta: ¿Qué está causando el error y cómo lo soluciono?
Mensaje de error con información personal reemplazada:
error "Las páginas obtuvieron un error: no se puede convertir el alias \"Macintosh HD:Users:Path:To:File:foo.pages\" en el tipo de documento". número -1700 del alias "Macintosh HD:Users:Path:To:File:foo.pages". documentar
Línea de código que produce el error:
export this_file to exportFileName as PDF
Guion:
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
###Actualización###: he agregado este script a github con la esperanza de que beneficie a otros a medida que continúa mejorándose. Se agradecen las contribuciones.
Reemplace la línea de código que produce el error con lo siguiente:
export front document to file (this_folder & exportFileName) as PDF
Aquí había dos problemas:
close saving no
aclose front document saving no
set this_file to (item i of these_files as alias)
está 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
BrianWilson
set nExt to (name extension of file this_file)
? En cuanto a las convenciones de nombres, de acuerdo. Esto es de las múltiples fuentes de las que copié. Limpiaré eso. Gracias.