Automatización de la Extracción de Datos de PDFs en Google Sheets

Introducción

En el entorno actual de trabajo acelerado, la automatización de tareas repetitivas como la extracción de datos de documentos PDF puede ahorrar tiempo valioso y reducir errores. Esta guía práctica se centra en cómo puedes utilizar Google Script para automatizar la extracción de datos de múltiples PDFs directamente en Google Sheets.

Video

Preparación de la Configuración

Antes de escribir cualquier código, es necesario organizar los PDFs en una sola carpeta dentro de Google Drive. Esto facilitará su acceso y procesamiento. Es crucial que todos los PDFs compartan una estructura uniforme para garantizar que el script funcione correctamente.

Creación del Script

Para comenzar, abre Google Apps Script desde Google Drive o visitando script.google.com. Crea un nuevo proyecto y da un nombre descriptivo que refleje su funcionalidad, por ejemplo, “Extracción de Datos de PDF”.

Codificación del Script

1. Definición de la Carpeta de PDFs:

Define el ID de la carpeta donde están almacenados tus PDFs. Este ID se encuentra en la URL de la carpeta en Google Drive.

const ID_CARPETA = "1O86F7DUNDF4Schp94545gjkgjkg";

2. Función Principal:

Establece la conexión con la carpeta y obtiene todos los archivos PDF.

function extraerInformacionPDF() {
let carpeta = DriveApp.getFolderById(ID_CARPETA);
let pdfs = carpeta.getFilesByType('application/pdf');
}

3. Procesamiento de Cada PDF:

Itera sobre cada PDF, extrayendo su contenido como un objeto Blob.

while (pdfs.hasNext()) {
let pdf = pdfs.next();
let pdfBlob = pdf.getBlob();
}

4. OCR y Conversión de Texto:

Utiliza OCR para convertir el contenido del PDF a texto editable.

let archivoTxt = Drive.Files.insert({title: pdfBlob.getName(), mimeType: 'application/pdf'}, pdfBlob, {ocr: true, ocrLanguage: "es"});
let idArchivoTxt = archivoTxt.getId();
let texto = DocumentApp.openById(idArchivoTxt).getBody().getText();

5. Extracción de Datos Específicos:

Aplica expresiones regulares para encontrar y extraer la información deseada, como el nombre del cliente y el valor total.

let cliente = texto.match(/Customer \n(.+)/)[1].trim();
let valor = texto.match(/\$([\d,]+)/)[1];
valor = valor.replace(",", "").replace(".", ",");

6. Guardar en Google Sheets:

Envía los datos extraídos a una hoja de cálculo específica en Google Sheets.

let hoja = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Facturas");
hoja.appendRow([cliente, valor]);

Pruebas y Depuración

Una vez el script esté completo, ejecútalo para verificar su funcionamiento. Si encuentras errores, revisa las expresiones regulares y asegúrate de que los permisos necesarios estén configurados correctamente en Google Apps Script.

Integración con Google Sheets

El script añade automáticamente los datos extraídos a la hoja de cálculo “Facturas” en Google Sheets, lo que facilita la visualización y manipulación posterior de los datos.

Código Completo

Con lo que te expliqué, vas a poder crear tu archivo sin problema.

Sin embargo, podrás tener acceso a la plantilla de este y más de 350 proyectos, así como más de 80 cursos, y soporte personalizado como miembro de JuanSGuzman.com

Tienes acceso al código completo, así como a la plantilla de Google Sheets, al suscribirte a JuanSGuzman

Consejos y Mejoras Potenciales

Mientras que el script básico es bastante funcional, puede requerir ajustes específicos basados en el formato y contenido de tus PDFs. Además, se pueden explorar integraciones más avanzadas, como procesar archivos adjuntos directamente desde Gmail, lo cual abre aún más posibilidades para la automatización.

Conclusión

Automatizar la extracción de datos de documentos PDF no solo ahorra tiempo, sino que también aumenta la precisión de la gestión de datos. Con las herramientas adecuadas y un poco de scripting, puedes transformar la forma en que tu negocio o proyecto maneja la información.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Pin It on Pinterest

Share This