ForHosting KIT · OCR y extracción de datos

Extraer tablas a CSV

La API Extraer Tablas mira una imagen o un PDF, encuentra las tablas en la página y devuelve su contenido como CSV con filas y columnas conservadas, en lugar de un bloque de texto sin estructura. Existe para la frustración específica de datos tabulares atrapados en un documento, donde el OCR normal aplana una tabla en una mezcla de palabras en el orden equivocado.

● EstablePor solicitud + por página$0.010
Úselo desde WebAPIEmailApp prontoTelegram pronto

Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.

Por qué las tablas necesitan un enfoque propio

El OCR de texto plano lee de izquierda a derecha y de arriba abajo, lo cual funciona bien para prosa pero rompe una tabla: los valores de una fila quedan separados por todo lo que hay arriba y abajo, las columnas se mezclan entre sí, y lo que era una cuadrícula limpia en papel se convierte en un revoltijo de números sin forma de saber a qué fila o columna pertenecían. Estados financieros, listas de precios, resultados de laboratorio y manifiestos de embarque están construidos enteramente alrededor de esa estructura de cuadrícula, así que perderla anula el propósito mismo de extraer los datos — exactamente el problema que la api extraer tablas está construida para evitar.

Cómo funciona la extracción

Envía una imagen o un PDF con una o varias tablas, y el servicio detecta la estructura de la tabla — dónde empieza y termina cada fila, cuántas columnas hay, qué celdas corresponden a qué encabezado — antes de extraer el contenido y devolverlo como CSV, listo para abrir en una hoja de cálculo o cargar directo en una base de datos. Como identifica primero la estructura, celdas combinadas, entradas de varias líneas dentro de una celda y tablas con columnas de ancho desigual se interpretan como lo haría una persona leyendo la página, no solo como posiciones de texto en bruto.

El flujo asíncrono

Llamar a POST /ocr/table devuelve un task_id de inmediato, y la extracción corre en nuestra red global sin mantener una conexión abierta mientras se procesa el documento. Al terminar, los resultados llegan por webhook firmado — lo indicado para un flujo de datos que ingiere tablas de forma continua — o mediante un enlace firmado válido 24 horas, cuando alguien solo necesita un CSV de un documento.

Dónde la extracción estructurada demuestra su valor

Esto es para el momento en que un proceso de negocio depende de números que hoy solo viven dentro de un PDF o una página escaneada: un equipo financiero sacando cifras de la lista de precios en PDF de un proveedor, un analista convirtiendo la tabla de resultados de un informe de laboratorio escaneado en una hoja de cálculo, una operación logística extrayendo partidas de un manifiesto de embarque. Como cada llamada es una solicitud asíncrona que devuelve CSV, incorporar la salida a herramientas de hoja de cálculo existentes o a un script de importación de base de datos no requiere un paso extra de análisis.

Precio y qué pasa si falla la extracción

El costo es de $0.010 por solicitud más $0.0575 por página, una tarifa publicada que escala con la extensión en lugar de un cargo fijo que castiga a los documentos cortos o uno oculto que sorprende en los largos. Una página donde la estructura de la tabla no puede detectarse de forma confiable se reintenta tres veces antes de devolver un error claro, y las tareas fallidas nunca se cobran, así que solo paga por tablas realmente extraídas. El acceso requiere saldo prepago, sin plan gratuito ni prueba, lo que mantiene el servicio rápido y libre de abuso; las solicitudes sin saldo devuelven 402. Los archivos de origen y el CSV extraído se eliminan tras la ventana de retención y nunca se usan para entrenamiento.

Ingesta de listas de precios de proveedores

Un equipo de compras convierte la lista de precios en PDF de un proveedor a CSV y la importa directo a su base de datos de precios en lugar de volver a teclear cada fila.

Digitalización de resultados de laboratorio

Un analista clínico extrae la tabla de resultados de un informe de laboratorio escaneado a una hoja de cálculo, conservando qué valor pertenece a qué prueba.

Procesamiento de manifiestos de embarque

Una operación logística extrae las partidas de manifiestos de embarque fotografiados a CSV, alimentando los sistemas de bodega y aduana sin volver a capturar los datos a mano.

Análisis de estados financieros

Un analista extrae una tabla de cifras de un estado financiero escaneado y la carga directo en una hoja de cálculo para compararla con periodos anteriores.

¿Cómo extraigo una tabla de un PDF o imagen a CSV?

Envía el archivo a POST /ocr/table y recibe un task_id de inmediato. La api extraer tablas detecta filas y columnas de forma asíncrona y entrega el CSV por webhook firmado o por un enlace firmado válido 24 horas.

¿La API de extracción de tablas es gratis?

No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.

¿En qué formato se devuelve la tabla extraída?

En CSV, con las filas y columnas conservadas tal como aparecen en la tabla de origen, listo para abrir en una hoja de cálculo o importar a una base de datos.

¿Funciona con imágenes escaneadas además de PDF?

Sí, admite tanto archivos de imagen como páginas PDF, porque el servicio detecta la estructura de la tabla de forma visual en lugar de depender de una capa de texto existente.

¿Puede manejar celdas combinadas o entradas de varias líneas en una tabla?

Sí, el servicio detecta la estructura de la tabla antes de extraer el contenido, así que las celdas combinadas y las celdas con texto en varias líneas se interpretan como lo haría un lector.

¿En qué se diferencia esto de aplicar OCR normal a una tabla?

El OCR normal lee el texto en orden de lectura y puede desordenar las filas y columnas de una tabla; este endpoint detecta primero la cuadrícula, así que la salida conserva a qué fila y columna pertenece cada valor.

¿Puedo extraer tablas de varios documentos en masa?

Sí. Cada solicitud es una llamada asíncrona independiente con su propio task_id, así que puede enviar juntas varias listas de precios o informes y recoger los resultados como CSV a medida que terminan.

¿Qué pasa si una tabla no se puede detectar de forma confiable?

El sistema reintenta tres veces antes de devolver un error claro, y una tarea fallida nunca se cobra, así que el costo solo refleja tablas realmente extraídas.

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/ocr/table

¿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, y pronto desde nuestra app, el email y Telegram.

curl -X POST https://api.kit.forhosting.com/ocr/table \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":"…"}'
{
  "input": "…"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "ocr.table",
  "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.010
Por página$0.0575

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

max_mb25
max_pages10
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.
413input_too_largeEl archivo supera el límite de tamaño.
422task_failedLa tarea falló tras 3 reintentos. No se cobra.

Ver la documentación completa del KIT →