Convierte una carpeta entera de Google Drive a PDF con Apps Script
Procesar toda una carpeta de Google Docs consiste en iterar sobre los archivos y llamar a la función de exportación para cada uno. Apps Script lo facilita con los iteradores de carpetas y archivos de DriveApp.
Obtener todos los archivos de una carpeta
Usa DriveApp.getFolderById(folderId).getFiles() para obtener un iterador sobre todos los archivos de la carpeta. Recórrelo con un bucle while usando iterator.hasNext() e iterator.next(). Comprueba el tipo MIME de cada archivo con MimeType.GOOGLE_DOCS para filtrar solo los Docs.
Procesar cada archivo
Para cada Google Doc en el iterador, llama a tu función de exportación PDF con el ID del archivo. Guarda el PDF resultante en tu carpeta de destino. Registra el nombre del archivo y cualquier error para tener un historial de lo que se procesó.
Gestionar carpetas anidadas
Si la carpeta contiene subcarpetas, usa folder.getFolders() para obtener un iterador de carpetas y recurrir en cada subcarpeta. Una función auxiliar recursiva que acepta una carpeta como argumento mantiene la lógica limpia y gestiona cualquier profundidad de carpetas.
Preguntas frecuentes
¿Puedo filtrar qué archivos se convierten dentro de la carpeta?
Sí. Comprueba el tipo MIME, el nombre, la fecha de última modificación u cualquier otra propiedad del archivo antes de convertirlo. Por ejemplo, convierte solo los archivos modificados en las últimas 24 horas comparando file.getLastUpdated() con la fecha actual.
¿Cuánto tiempo tarda en convertirse una carpeta grande?
Cada conversión tarda unos segundos. Una carpeta de 50 documentos se procesa en unos minutos. Apps Script tiene un límite de ejecución de 6 minutos por ejecución, por lo que las carpetas muy grandes deben dividirse en varias ejecuciones de disparador.
Pruebalo ahora
Instala la extension gratuita de Chrome y empieza a convertir tus Google Docs a PDF con un solo clic.
Instalar Extensión Gratuita