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.