Saltar a contenido

Extraer texto de un PDF

Usa esta funcionalidad para obtener texto plano de un documento y guardarlo o procesarlo en Business Central. Empieza por leer su texto embebido; si necesitas reconocer imágenes o un escaneo, solicita OCR como paso opcional. No requiere tablet ni certificado.

Ambos endpoints usan el bearer de BC y reciben pdfBase64. El límite inicial es 5 MB de PDF decodificado.

Leer texto embebido

Envía:

POST /v1/pdf-text-extractions
Authorization: Bearer <token>
Content-Type: application/json
{"pdfBase64":"<PDF_REAL_EN_BASE64>"}

La respuesta llega en la misma llamada:

{"text":"Texto de la primera página.\n\nTexto de la segunda página.","requiresOcr":false}

La API recorre páginas en orden y separa bloques no vacíos con una línea en blanco. Devuelve texto plano, sin imágenes, estilos ni reconstrucción de columnas o tablas.

Si no hay texto útil, devuelve 200 con {"text":"","requiresOcr":true}. Este indicador no inicia OCR. En un PDF mixto puede ser false aunque algunas páginas sean imágenes: basta con que exista texto embebido útil.

OCR opcional: reconocer texto de un escaneo

Si necesitas leer imágenes, solicita OCR explícitamente:

POST /v1/pdf-ocr-extractions
Authorization: Bearer <token>
Content-Type: application/json

Usa el mismo formato de entrada. La API responde 202 Accepted con un trabajo y cabecera Location: /v1/pdf-ocr-extractions/{jobId}.

Consulta ese recurso con bearer:

GET /v1/pdf-ocr-extractions/{jobId}
Authorization: Bearer <token>
Estado Qué hacer
queued Esperar turno
running Esperar procesamiento
succeeded Leer text
failed Revisar errorCode y errorMessage

El procesamiento usa Poppler/Tesseract locales, un trabajo cada vez y una cola acotada. 429 OCR_QUEUE_FULL incluye Retry-After; espera antes de volver a enviarlo. No se garantiza exactitud de lectura.

Duración y recuperación

Los jobs y resultados viven en memoria. Un reinicio los pierde; los trabajos terminados se eliminan tras OCR_JOB_TTL_MINUTES (30 minutos inicialmente). Descarga/guarda el texto cuando esté disponible.

Un 404 puede indicar que el job se perdió o caducó. Si el proceso de negocio aún necesita el texto, vuelve a encolar el PDF; se genera otro job. El endpoint OCR no ofrece idempotencia ni una cola duradera.

Consulta Configuración OCR, Errores y Validaciones.