ForHosting KIT · Documentos y PDF

Extraer tablas de un PDF

Una página cuyos valores se alinean con tabuladores, como Cable, 25 y 1,20, se convierte en una tabla con tres columnas con nombre y tres filas de datos. Un párrafo sin columnas alineadas se rechaza en lugar de forzar una tabla falsa. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto

Es el paso determinista entre extraer el texto de un PDF y usar de verdad los números que contiene, sin OCR ni conjeturas de IA.

Del texto PDF en bruto a una tabla estructurada

Cuando un extractor de texto procesa una página PDF, las tablas vuelven como líneas de texto planas. Una persona aún distingue las columnas porque los valores se alinean —separados por tabulaciones o por huecos de dos o más espacios—, pero un programa no. Esta capacidad cierra esa brecha.

Usted envía las líneas en bruto de la página y el sistema encuentra las columnas alineadas: cada línea se divide por el separador detectado, el número de columnas que se repite entre líneas se toma como la forma de la tabla y cada línea se corta en celdas. La primera fila se convierte en la cabecera por defecto, de modo que la salida es un array columns con nombres y un array rows con los datos, listo para convertir en objetos o cargar en un dataframe.

Todo es determinista —el mismo texto produce siempre la misma tabla—, lo que la hace segura para una canalización automatizada donde un OCR o un modelo de visión introduciría variación silenciosa.

Cómo funciona realmente el análisis

Primero se descartan las líneas en blanco y cada línea restante se divide en celdas. En modo auto el analizador usa tabulaciones cuando alguna línea contiene una, y si no, recurre a secuencias de dos o más espacios; también puede forzar cualquiera de las dos estrategias con el parámetro delimiter. Solo las líneas que producen al menos dos celdas son candidatas a la tabla.

Entre ellas, el analizador busca el número de columnas que se repite: la moda de la distribución. Una tabla real son líneas que coinciden en cuántas columnas tienen, así que las líneas con un recuento distinto —un párrafo partido, un pie suelto— se apartan. Si ningún recuento se repite al menos dos veces, o hay menos de dos líneas candidatas, la entrada se rechaza: no hay tabla que encontrar.

Desactívelo para datos sin cabecera y los nombres sintéticos se aplican a todas las filas.

Dónde encaja y qué no es

Tenga claro qué no es. No lee el archivo PDF en sí —trabaja sobre texto que usted ya ha extraído. No procesa páginas escaneadas, porque no tienen capa de texto; para imágenes de tablas necesita una capacidad basada en OCR.

Y espera columnas alineadas, no prosa: el texto corrido se rechaza en lugar de deformarse en una tabla falsa.

Automatizar una canalización de ingesta de informes

Ejecute el analizador tras su extractor de texto en cada página y cargue solo las que contienen tablas: el resto se rechazan limpiamente y no se facturan.

¿Lee el archivo PDF directamente?

No. Analiza la capa de texto en bruto de una página que usted proporciona. Extraiga primero el texto con un extractor de texto PDF y luego envíe las líneas aquí.

¿Qué separadores de columnas admite?

Tabulaciones o secuencias de dos o más espacios. El modo automático detecta cuál usa la página; también puede forzar tabulaciones o espacios con el parámetro delimiter.

¿Qué ocurre cuando el texto no tiene tabla?

Las llamadas no válidas se rechazan antes de la facturación, así que no cuestan nada.

¿Funciona con PDF escaneados?

No. Un escaneo es una imagen y no tiene capa de texto que analizar. Use un extractor de tablas OCR para documentos escaneados; esta capacidad es para PDF digitales con texto seleccionable.

¿Se almacena mi documento?

No. El texto se procesa en memoria y se descarta; solo se devuelve la tabla analizada.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/pdf/extract-tables

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/pdf/extract-tables \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Item\tQty\tUnit price\nWidget\t12\t9.99\nGadget\t3\t24.50"}'
{
  "text": "Item\tQty\tUnit price\nWidget\t12\t9.99\nGadget\t3\t24.50"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "pdf.extract_tables",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_mb1
max_lines5000
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

La API para extraer tablas de texto PDF toma la capa de texto en bruto de una página PDF —las líneas que devuelve un extractor de texto, donde las columnas están alineadas con tabulaciones o con secuencias de espacios— y la convierte en una tabla estructurada y limpia: nombres de columna, filas de datos y recuentos, en JSON listo para una hoja de cálculo, una importación a base de datos o un script.

Del texto PDF en bruto a una tabla estructurada

Si la página no contiene columnas alineadas, la llamada falla con un error invalid_input claro en lugar de inventar una tabla, y las llamadas fallidas no se facturan.

Cómo funciona realmente el análisis

Con has_header activado, la primera fila de la tabla nombra las columnas; las celdas de cabecera vacías o duplicadas se sustituyen por col_1, col_2 y así sucesivamente, de modo que cada nombre de columna de salida sea utilizable.

Dónde encaja y qué no es

Úsela como segunda etapa de una canalización de datos PDF: extraiga la capa de texto con un extractor, llame a este endpoint en cada página que contenga una tabla y cargue las filas resultantes donde correspondan. Como el análisis es procesamiento de texto puro, se ejecuta en el borde en milisegundos, cuesta $0.002 por llamada, y el mismo código se ejecuta gratis en su navegador en esta página, de modo que puede probar el texto de una página pegándolo antes de automatizar nada. También sirve para trabajos puntuales: pegue el texto de la página de un informe, obtenga JSON y conviértalo a CSV en un paso más.

Recuperar una lista de precios de una página PDF

Extraiga el texto de la página, envíelo y obtenga las columnas de artículo, cantidad y precio como filas JSON listas para importar a una hoja de cálculo.

Convertir un volcado de datos sin cabecera

Desactive la detección de cabecera con has_header=false y obtenga nombres estables col_1..col_n para cada fila de un listado alineado con espacios.

¿Cuánto cuesta?

$0.002 por llamada. El mismo analizador también se ejecuta gratis en su navegador en esta página, así que solo paga cuando lo automatiza mediante la API.

Ver la documentación completa del KIT →