(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa
Azure AI & Machine Learning
Azure AI & Machine Learning 2 min

Azure AI Document Intelligence: extracción automática de datos de documentos

João Barros 01 de August de 2025 2 min de lectura

Azure AI Document Intelligence (anteriormente Form Recognizer) usa modelos de IA para extraer texto, tablas y campos clave de documentos — facturas, recibos, contratos, formularios — con alta precisión y sin plantilla fija.

Modelos preentrenados disponibles

prebuilt-invoice        → facturas (campos: VendorName, InvoiceDate, TotalTax, ...)
prebuilt-receipt        → recibos (MerchantName, TransactionDate, Total, ...)
prebuilt-idDocument     → DNI/pasaporte (FirstName, LastName, DocumentNumber, ...)
prebuilt-businessCard   → tarjetas de visita (ContactNames, Emails, ...)
prebuilt-read           → extracción de texto genérico con estructura
prebuilt-layout         → texto + tablas + selection marks

Analizar una factura

from azure.ai.formrecognizer import DocumentAnalysisClient
from azure.core.credentials import AzureKeyCredential

client = DocumentAnalysisClient(
    endpoint=os.environ["DOC_INTEL_ENDPOINT"],
    credential=AzureKeyCredential(os.environ["DOC_INTEL_KEY"])
)

with open("factura.pdf", "rb") as f:
    poller = client.begin_analyze_document("prebuilt-invoice", f)

result = poller.result()

for invoice in result.documents:
    fields = invoice.fields
    print(f"Proveedor:  {fields.get('VendorName').value}")
    print(f"Fecha:      {fields.get('InvoiceDate').value}")
    print(f"Total:      {fields.get('InvoiceTotal').value.amount} {fields.get('InvoiceTotal').value.currency_symbol}")
    print(f"Confianza:  {fields.get('InvoiceTotal').confidence:.0%}")

Modelo personalizado — entrenar con sus documentos

# 1. Subir 5+ documentos de ejemplo + labels en Document Intelligence Studio
# 2. Entrenar el modelo personalizado (3-5 minutos)
# 3. Usar el model_id generado:

poller = client.begin_analyze_document(
    model_id="modelo-contratos-bconcepts",
    document=f
)
result = poller.result()
# Campos definidos en los labels: NumContrato, FechaInicio, ValorAnual, etc.

Integrar en un pipeline de procesamiento

# Power Automate: HTTP POST a la API de Document Intelligence
# → Parse del JSON de respuesta → Guardar campos en SharePoint / Dataverse / SQL
# O: una Azure Function activada por Blob Storage → procesa cada PDF al llegar

Conclusión

Document Intelligence elimina el trabajo manual de extracción de datos de documentos. Con modelos preentrenados, no hay código de OCR que escribir — basta llamar a la API y procesar el JSON estructurado. Para documentos específicos de la organización, los modelos personalizados alcanzan un 95%+ de precisión con solo 5 ejemplos de entrenamiento.

Compartir: