Saltar al contenido principal

Preparar la información de análisis para el documento

Qué abarca esta guía

Preparar información de análisis es la configuración del panel que convierte un archivo sin procesar PDF en automatizado PDF extracción de datos. Usted define las claves de captura, dibuja zonas en un documento de muestra y asigna a cada clave una regla de extracción utilizando cualquiera de las siguientes opciones: Expresión regular para patrones estables o JavaScript Expresión para lógica condicional. Una vez guardada, la misma plantilla se ejecuta desde el REST API, Make, Zapier, Power Automate, y n8n al referirse a su ID de plantilla.

Entradas de blog relacionadas
Aún no hay ninguna entrada de blog sobre esta función; estará disponible próximamente.
Mientras tanto, echa un vistazo al blog de PDF4me para encontrar tutoriales y flujos de trabajo para todas las plataformas.
Visita el blog

Autenticando su configuración

La creación de plantillas de análisis ocurre en el PDF4me Panel de desarrollador. Inicie sesión con su cuenta y luego cree o copie un API clave para el documento Analizar API llamadas que utilizan la plantilla que creas aquí.

Datos importantes que no debes perderte

Primero las expresiones regulares, JavaScript solo donde sea necesario
Usar Expresión regular para cualquier campo con una forma estable (número de factura, fecha, total, ID fiscal). Utilice JavaScript Expresión Solo cuando necesite lógica condicional, ramificación de múltiples reglas o clasificación de documentos. Combinar ambas en la misma plantilla es aceptable y recomendable.
Una plantilla por familia de diseños estables
Una sola plantilla permite gestionar pequeñas variaciones, como cambios de fuente o de posición. Para diseños realmente diferentes (dos proveedores con diseños de factura distintos), cree plantillas separadas y dirija los archivos a la plantilla correcta mediante el clasificador o el sistema de origen antes de ejecutar la función Analizar documento.
Salvar el TemplateId, no el nombre
Después de guardar los cambios, el panel genera un GUID. ID de plantilla para la plantilla. Siempre pasar ID de plantilla en producción API llamadas. Nombre de la plantilla También funciona, pero cambiar el nombre de la plantilla interrumpe cualquier automatización que la referencie por su nombre.

Paso 1: Crear la plantilla de análisis

  1. Abrir el Panel de control de Parse Document.
  2. Haga clic Agregar e introduzca un nombre de plantilla claro (por ejemplo, invoice o vendor-statement).
  3. Haga clic Ahorrar para crear la plantilla vacía.
  4. Abra la plantilla en Editar Modo para comenzar a configurar las claves de captura.
Lista de plantillas de PDF4me Parse Document en el panel de desarrolladores, con el botón Agregar para crear una nueva plantilla de análisis para la extracción automatizada de datos PDF.

Paso 2: Cargue una muestra y configure las claves de captura.

El panel de control muestra una imagen cargada. PDF a la derecha y muestra el Analizar información Formulario de la izquierda. Utilice muestras reales con formato de producción, no archivos de prueba sintéticos, para que las áreas de captura coincidan con lo que verá en el tráfico real.

  1. Haga clic Subir archivo de plantilla y seleccione una muestra representativa (factura, contrato, formulario).
  2. Bajo Llaves, haga clic + Para agregar una clave de captura, asígnele un nombre en formato camelCase: invoiceNumber, customerName, totalAmount.
  3. Elegir Seleccione el tipo de expresión para la llave: Javascript Expression o Regex Expression.
  4. Pegue el cuerpo de la expresión en el campo que aparece.
  5. Colocar Páginas a all escanear cada página o hasta un número de página específico (1, 2, etc.) para limitar el alcance.
  6. Alternar Buscar en toda la página Se activa cuando el valor no se encuentra en una posición fija. Cuando está desactivada, solo se busca en el área de captura dibujada.
Interfaz de configuración de PDF4me Parse Document. El panel izquierdo muestra la información de análisis con el nombre de la plantilla "invoice", el ID de análisis y una clave "KeyName" con las opciones "Elegir tipo de expresión: Expresión JavaScript", "Cuerpo de la expresión JavaScript", "Todas las páginas" y "Buscar en toda la página". El panel derecho muestra el PDF de la factura cargada, con los botones de acción "Cargar archivo de plantilla", "Probar análisis" y "Guardar cambios" en la parte superior, en orden de ejecución de izquierda a derecha.

Pantalla de configuración de Parse Document. Izquierda: Formulario de información de Parse con claves y tipo de expresión. Derecha: Ejemplo cargado. PDFLos botones de acción se ejecutan de izquierda a derecha: Cargar archivo de plantilla, Analizar prueba, Guardar cambios.

Paso 3: Seleccione el tipo de expresión por clave.

Tipo de expresiónLo mejor paraUso típicoComplejidad
Regex ExpressionFixed text patternsInvoice number, dates, totals, tax IDs, postal codesLow
JavaScript ExpressionConditional and multi-rule extractionDocument classification, fallback logic, rule orchestrationMedium to High

Patrones de expresiones regulares (conceptos básicos del analizador de PDF con expresiones regulares)

Usar Expresión regular cuando el campo tiene una forma estable y predecible. El área capturada se escanea para el primer partido.

INV-\d{6,10}
\d{2}/\d{2}/\d{4}
\$?\d{1,3}(?:,\d{3})*(?:\.\d{2})?

Asignaciones de teclas comunes para una factura:

  • invoiceNumberINV-\d{6,10}
  • invoiceDate\d{2}/\d{2}/\d{4}
  • totalAmount\$?\d{1,3}(?:,\d{3})*(?:\.\d{2})?

Estos mismos patrones también funcionan para los mismos campos en los extractos de proveedores, las órdenes de compra y los documentos de envío, ya que los números de factura, las fechas y los importes comparten el mismo formato en la mayoría de los documentos comerciales.

JavaScript Expresión para lógica condicional

Usar JavaScript Expresión cuando el resultado depende de la presencia o combinación de múltiples marcadores en el documento. PDF4me pasa el texto extraído a tu función como variable. textTu función evalúa el texto y devuelve una cadena que se convierte en el valor de la clave.

Ejemplo 1: clasificar por marcadores de contenido

Permite distinguir un documento de Términos y Condiciones de un documento de Pedido comprobando qué frases indicadoras aparecen:

function functionFormatTextDate1(text) {
console.log("Hello");
var term = [...text.matchAll(/General Terms and Conditions/gi)];
var order = [...text.matchAll(/your ordernumber/gi)];

if (term.length) {
if (order.length) {
return "Order document";
} else {
return "Terms and Conditions";
}
} else {
return "Not Terms and Conditions";
}
}

return functionFormatTextDate1(text);

Ejemplo 2: detección de facturas frente a pedidos

Un clasificador breve que decide si el documento es una factura o un pedido en función de la presencia de las palabras invoice y ordernumber:

function functionGetInvoiceOrder(text) {
// You get all PDF text in `text`
var invoice = [...text.matchAll(/invoice/gi)];
var order = [...text.matchAll(/ordernumber/gi)];

if (invoice.length) {
if (order.length) {
return "Order document";
} else {
return "invoice";
}
} else {
return "";
}
}

return functionGetInvoiceOrder(text);

Consejo de implementación: Envuelve tu lógica en una función con nombre y llámala con devolver functionName(texto); en la parte inferior. El panel ejecuta el cuerpo de la expresión como una función cuyo valor final devuelto rellena la clave.

Paso 4: Probar el análisis y guardar los cambios.

Los botones de acción en la parte superior del editor se ejecutan de izquierda a derecha en el orden en que se utilizan:

  1. Subir archivo de plantilla carga la muestra PDF Se utiliza para dibujar áreas de captura.
  2. Análisis de prueba Ejecuta todas las claves contra la muestra cargada y muestra los valores extraídos en línea. Utilice esto para validar cada Regex o JavaScript expresión antes de guardar.
  3. Guardar cambios persiste la plantilla y asigna una estable TemplateId (GUID). Copie ese GUID para usarlo en API llamadas y plataformas de automatización.

Iterar sobre cada clave hasta Análisis de prueba Devuelve el valor esperado para cada campo. Reduzca el área de captura si ve texto adyacente o refine la expresión si las coincidencias de patrones son demasiado amplias.

Utilice la plantilla en API o llamadas de automatización

Una vez Guardar cambios asigna un TemplateIdLa misma plantilla de análisis se ejecuta en cualquier lugar por referencia. No es necesario recrear la configuración en cada plataforma.

CampoFuenteObjetivo
TemplateIdGUID que se muestra en el panel de detalles de la plantilla después de guardar.Identificador estable para la automatización de la producción. Siempre prefiero esto a TemplateName.
TemplateNameEl nombre que escribiste en el Paso 1Alternativa para la búsqueda. Cambiar el nombre de la plantilla interrumpe las llamadas que la referencian por su nombre.
ParseIdUn GUID que usted genera en el lado del cliente (uno por llamada).Relaciona tu solicitud con la salida del análisis, lo cual resulta útil para el registro y la auditoría.
docNameFuente PDF Nombre del archivoSe utiliza para el seguimiento y los mensajes de error.
docContentFuente PDF codificado como Base64El archivo a analizar.
asyncfalse para síncrono, true para encuestasControla la entrega de respuestas.

Ejemplo REST Cuerpo de la solicitud:

{
"docName": "invoice.pdf",
"docContent": "BASE64_ENCODED_PDF_CONTENT",
"TemplateId": "12345678-1234-1234-1234-123456789abc",
"ParseId": "87654321-4321-4321-4321-cba987654321",
"async": false
}

La respuesta contiene un campo por cada clave que definiste en la plantilla. Enruta eso JSON en cualquier nodo descendente: Google Sheets, Airtableuna base de datos, Excel o un webhook.

Flujos de trabajo comunes

Patrones típicos de plantillas de análisis sintácticoHow a saved parse template moves from dashboard to production.
Bandeja de entrada de facturas a hoja de cálculo contable
  1. Una factura de proveedor PDF Llega a una carpeta de correo electrónico o en la nube que estés monitorizando.
  2. Make, Zapier, Power Automate, o n8n llama a Parse Document con su TemplateId.
  3. La estructurada JSON La salida (número de factura, importe total, fecha de factura) se agrega como una fila en Google Sheets o Excel.
  4. El departamento de contabilidad revisa y aprueba directamente desde la hoja de cálculo.
Formulario de admisión para registro en la base de datos
  1. Un cliente sube un formulario completado. PDF formulario a través de su portal.
  2. Tu backend llama a Parse Document con TemplateId y el Base64 PDF.
  3. El analizado JSON se asigna a una instrucción INSERT de base de datos, con una columna por clave de plantilla.
  4. Se envía un correo electrónico de confirmación al cliente utilizando el nombre y el número de referencia analizados.
Clasificador y extractor de documentos
  1. Una única carpeta monitorizada recibe documentos mixtos (facturas, pedidos, contratos).
  2. A JavaScript La clave de expresión en la plantilla devuelve el tipo de documento (véase el Ejemplo 2 anterior).
  3. Su flujo de trabajo dirige cada archivo al sistema posterior correcto en función del tipo devuelto.
  4. Los archivos identificados como facturas continúan con la extracción de campos basada en expresiones regulares en la misma llamada a la plantilla.

Mejores prácticas para la configuración de plantillas

  • Dibuja áreas de captura ligeramente mayores que el valor esperado para que la variación de la fuente o la posición no haga que el valor se salga del marco.
  • Mantén la coherencia en los nombres de las claves utilizando la notación camelCase en todas las plantillas para que la asignación posterior en hojas de cálculo, bases de datos y webhooks siga siendo predecible.
  • Pruebe cada clave con al menos tres muestras reales, incluidos casos límite como campos opcionales faltantes, facturas de segunda página y OCR-texto derivado de un escaneo PDFs.
  • Usar JavaScript Solo se permite la expresión regular cuando no se puede expresar la regla. Mantener la lógica simple facilita la depuración de la plantilla.
  • Versiona tus plantillas por nombre (invoice-v1, invoice-v2) al realizar cambios incompatibles, para que la automatización de la producción pueda migrar a su propio ritmo.
  • Ejecutar escaneo PDFs a través de OCR primero (el PDF4me OCR punto final) antes del análisis. Las plantillas se extraen de la capa de texto, que se escaneó PDFs no lo tengo hasta OCR se aplica.

Acciones relacionadas

Analizar documento API
REST punto final que ejecuta su plantilla guardada contra cualquier PDF usando TemplateId y devoluciones estructuradas JSON.
Configurar documento clasificado
Guía complementaria para resultados que solo contienen categorías, sin extracción de campos. Útil como preenrutador antes de Parse Document.
Analizar documento en Make
Aplique su plantilla en flujos de trabajo visuales con módulos posteriores de enrutamiento, almacenamiento y notificación.
Analizar documento en Zapier
Ejecutar el análisis de plantillas desde un disparador basado en SaaS Automatizaciones en más de 6000 aplicaciones.
Analizar documento en Power Automate
Integrar la salida del análisis con Microsoft 365 flujos de aprobación, SharePoint registros y Dynamics oleoductos.
Analizar documento en n8n
Flujo de trabajo autoalojado con expresiones regulares o JavaScript expresión basada PDF Extracción de datos, además de control total sobre los nodos posteriores.

Preguntas frecuentes

Should I use Regex Expression or JavaScript Expression first?+
Start with Regex Expression for fixed-shape fields like invoice numbers, dates, totals, and tax IDs. Move to JavaScript Expression when extraction depends on multiple conditions, fallback rules, or document classification. Most production templates use Regex for around 80% of keys and JavaScript for the rest.
Where does the text variable in JavaScript Expression come from?+
PDF4me passes the extracted text of the captured region (or the full PDF when Search Whole Page is enabled) into the expression context as the variable named text. Your function evaluates that string and returns a string for the configured key.
Does parse template extraction work on scanned PDFs?+
Yes, when the PDF has been OCR-processed first. Scanned PDFs are images until OCR is applied. Run the source file through the PDF4me OCR endpoint or upload an already-OCR'd PDF to the dashboard before drawing capture areas. The template then extracts from the OCR text layer.
Can one template handle multiple invoice layouts?+
It can absorb small differences in font, position, or page count. For genuinely different layouts (two vendors with different invoice designs) create separate templates and route files to the right one by classifier or source system before calling Parse Document.
What do I need to call the parse template from the API?+
Send docName, docContent (the PDF as Base64), TemplateId (the GUID copied from the dashboard after Save Changes), ParseId (a client-generated GUID), and async (false for immediate response, true for polling). TemplateName works instead of TemplateId but TemplateId is recommended for stable automation.
How do I move extracted data into Excel, Google Sheets, or a database?+
The parse output is structured JSON, with one field per key you defined in the template. Route that JSON to any destination from your automation platform: Add Row in Google Sheets, Insert Row in Airtable or a database, or write to Excel via the Excel module in Make, Power Automate, n8n, or Zapier. The same TemplateId works on every platform.
How does this compare with Python PDF data extraction libraries?+
Tools like pdfplumber, PyMuPDF, and pdfminer give you raw extraction primitives in Python, but you write and maintain the matching logic yourself. PDF4me parse templates give you a saved, named template you configure once in a dashboard and call from any language or platform. Use Python libraries when you need full programmatic control inside a single codebase; use PDF4me parse templates when you want the same extraction running across the REST API, Make, Zapier, Power Automate, and n8n without copying logic between systems.
How should I test a parse template before production?+
Validate each key against at least three real samples, including edge cases such as missing optional fields, alternate fonts, multi-page documents, and second-page positions. Use Test Parse in the dashboard for each sample, confirm the output matches expectations, then run a small automation against live files in monitor mode before enabling end-to-end automation.
How do I connect this setup to no-code platforms?+
Use the platform-specific guides under Related actions. Each platform exposes the same TemplateId and ParseId fields so the parsing logic stays identical to what you tested in the dashboard. The output structure also matches across platforms.

Obtén ayuda