Documents
Quais são as melhores opções de OCR para extração de tabelas financeiras complexas em PDFs usando Docling, incluindo alternativas externas e integração com plugins?
Quais são as melhores opções de OCR para extração de tabelas financeiras complexas em PDFs usando Docling, incluindo alternativas externas e integração com plugins?
Type
Answer
Status
Published
Created
Feb 21, 2026
Updated
Mar 29, 2026
Created by
Dosu Bot
Updated by
Dosu Bot

Para extração de tabelas financeiras complexas em PDFs usando Docling, as melhores opções de OCR são:

1. EasyOCR (Interno ao Docling)#

  • EasyOCR é significativamente mais preciso que RapidOCR para documentos financeiros com tabelas numéricas, especialmente em português.
  • Configuração recomendada:
    from docling.datamodel.base_models import InputFormat
    from docling.datamodel.pipeline_options import PdfPipelineOptions, EasyOcrOptions
    from docling.document_converter import DocumentConverter, PdfFormatOption
    
    pipeline_options = PdfPipelineOptions()
    pipeline_options.do_ocr = True
    pipeline_options.ocr_options = EasyOcrOptions(
        lang=["pt", "en"],
        use_gpu=True,
        confidence_threshold=0.6,
        download_enabled=True
    )
    
    doc_converter = DocumentConverter(
        format_options={InputFormat.PDF: PdfFormatOption(pipeline_options=pipeline_options)}
    )
    
  • EasyOCR é mais lento (~9s/página) que RapidOCR (~6s/página), mas entrega precisão superior em tabelas numéricas.
  • Referência: Discussão na comunidade Docling.

2. OCR Externo via Plugins#

  • Docling suporta integração de OCR externo via sistema de plugins, permitindo uso de serviços como Azure Document Intelligence ou AWS Textract.
  • Exemplo de plugin customizado para Azure:
    class AzureOcrOptions(OcrOptions):
        kind: ClassVar[str] = "azure_ocr"
        endpoint: str = ""
        api_key: str = ""
    # Implementação do modelo conforme documentação Docling
    
  • Para usar, configure allow_external_plugins=True e registre o plugin.
  • Alternativamente, pode-se aplicar OCR externo em pós-processamento, extraindo as regiões das tabelas e processando-as com o serviço desejado.

3. Vision Language Models (VLMs)#

  • Para tabelas financeiras complexas (com merged cells e hierarquias), VLMs superam OCR tradicional.
  • Docling suporta nativamente modelos como SMOLDOCLING_VLLM, GRANITE_VISION_VLLM, GOT2_TRANSFORMERS e LightOnOCR-2-1B (preset ID: "lightonocr").
  • LightOnOCR-2-1B é um modelo de 1B parâmetros especificamente projetado para OCR e conversão para markdown. Processa imagens com max_size=1540 (dimensão mais longa 1540px) conforme recomendação do modelo. Adequado para tarefas de OCR, incluindo extração de tabelas complexas.
  • VLMs extraem estrutura de tabela diretamente da imagem, sendo mais robustos para DFs brasileiras.

4. Plugin Existente: SuryaOCR#

  • O plugin docling-surya é um exemplo funcional de OCR externo:
    from docling.datamodel.base_models import InputFormat
    from docling.datamodel.pipeline_options import PdfPipelineOptions
    from docling.document_converter import DocumentConverter, PdfFormatOption
    from docling_surya import SuryaOcrOptions
    
    pipeline_options = PdfPipelineOptions(
        do_ocr=True,
        allow_external_plugins=True,
        ocr_options=SuryaOcrOptions(lang=["pt", "en"])
    )
    
    doc_converter = DocumentConverter(
        format_options={InputFormat.PDF: PdfFormatOption(pipeline_options=pipeline_options)}
    )
    

Resumo: Para máxima precisão em tabelas financeiras, utilize EasyOCR (interno), plugins externos (como Azure Document Intelligence), ou VLMs suportados pelo Docling. Para integração de OCR externo, utilize o sistema de plugins do Docling ou pós-processamento das regiões de tabela.

Quais são as melhores opções de OCR para extração de tabelas financeiras complexas em PDFs usando Docling, incluindo alternativas externas e integração com plugins? | Dosu