Intermediário 11 minStack

Docling: converter PDFs para IA locale

Resposta direta

Docling é uma biblioteca livre (licença MIT, projeto da IBM Research hospedado pela LF AI & Data Foundation) que converte PDF, DOCX, PPTX, XLSX, HTML, EPUB, imagens e áudio em markdown ou JSON estruturado, reconstruindo o layout, a ordem de leitura e as tabelas. Ela roda inteiramente em ambiente local, com ou sem GPU, e se conecta diretamente a LangChain, LlamaIndex, Crew AI ou Haystack para alimentar um pipeline de RAG documental.

O PDF é a entrada mais difícil de qualquer cadeia local de processamento de documentos: duas colunas lidas transversalmente, um cabeçalho que corta uma frase ao meio, uma tabela de números reduzida a uma coluna de números sem seus respectivos rótulos. O Docling é uma biblioteca livre publicada pelo IBM Research, hoje hospedada pela LF AI & Data Foundation, que analisa o layout, reconstrói a ordem de leitura e recupera a estrutura das tabelas, depois exporta tudo em markdown, HTML ou JSON. Tudo na sua máquina, sem API — o que é exatamente a exigência quando os documentos são contratos ou prontuários médicos.

Por Mohamed Meguedmi·Atualização 2026-09-28·Testado no Windows, macOS e Linux

#A etapa que determina todo o resto

Quando um assistente documental responde mal, a culpa é atribuída ao modelo. A causa está quase sempre em uma etapa anterior. Um relatório exportado a partir de um modelo de documento corporativo e processado por um extrator de texto ingênuo vira um fluxo em que o cabeçalho da página interrompe um parágrafo, o conteúdo disposto em duas colunas é lido horizontalmente e uma tabela de resultados se transforma em uma sequência de números sem contexto. Esses trechos são então codificados, recuperados e apresentados ao modelo como fatos: ele lê um absurdo e o reproduz com confiança. Nenhum modelo de embedding, nenhum reranker e nenhum prompt consegue corrigir uma conversão malsucedida em uma etapa anterior da cadeia — esse é o ponto que a maioria dos tutoriais de RAG local deixa de mencionar ao se concentrar na escolha do modelo de linguagem.

O Docling aborda diretamente essa etapa negligenciada. O projeto foi publicado como código aberto pela IBM Research em julho de 2024 sob licença MIT, o que permite uso comercial sem royalties nem copyleft. Rapidamente ultrapassou 10.000 estrelas no GitHub e, no início de 2025, estava entre os repositórios mais seguidos do mundo; no final de setembro de 2026, o repositório oficial contava com mais de 68.000 estrelas e sua última versão estável, a v2.130.0, havia sido publicada em 22 de setembro de 2026.

#O que faz o Docling

O kit RAG Local

Seus documentos, sua IA: um RAG local confiável para seus PDFs, notas e e-mails — sem enviar nada para a nuvem.

  • Espaço online vitalício
  • PDF + arquivos
  • Atualizações vitalícias
Análise de layout
Identifica as áreas de uma página e seu tipo, para que uma legenda não fique colada a um parágrafo e um rodapé não apareça no meio de uma frase.
Ordem de leitura
Reconstitui a sequência que um ser humano seguiria, o que finalmente permite utilizar os documentos em colunas.
Estrutura das tabelas
Identifica linhas, colunas e células mescladas e as exporta como tabelas de verdade, em vez de linhas de texto.
Reconhecimento ótico quando necessário
As páginas digitalizadas sem camada de texto passam pelo OCR em vez de serem ingeridas sem conteúdo.
Compreensão de gráficos
Gráficos de pizza, histogramas e gráficos de linhas podem ser convertidos em tabelas de dados ou em uma descrição textual, em vez de serem simplesmente ignorados.
Um único modelo de documento
Uma representação interna comum, vários formatos de exportação (markdown, HTML, DocTags, JSON sem perda): o restante do processo ignora se a entrada era um PDF ou um arquivo de escritório.

Além do PDF, o Docling suporta DOCX, PPTX, XLSX, HTML, EPUB, imagens (PNG, TIFF, JPEG…), e-mails (EML, MSG) e até áudio (WAV, MP3) por meio de um pipeline de transcrição — o que importa, porque um corpus real nunca é homogêneo. No que diz respeito às integrações, a biblioteca se conecta com poucas linhas de código ao LangChain, LlamaIndex, Crew AI e Haystack, o que evita que você tenha de escrever por conta própria o código de conversão em um pipeline de agentes.

#As tabelas, o verdadeiro motivo para se dar ao trabalho

Em um documento profissional, os números estão quase sempre em tabelas, e é nelas que a extração ingênua falha mais gravemente. Uma linha que se torna «Paris 12 480 3,2» perdeu os títulos das colunas que lhe davam sentido. A busca retorna então um trecho com aparência correta, o modelo inventa a relação entre os valores e a resposta está errada de uma forma difícil de perceber.

O Docling confia essa tarefa a um modelo dedicado, TableFormer, que codifica a estrutura da tabela com um vocabulário especializado chamado OTSL (Optimized Table Structure Language) e lida corretamente com células mescladas e cabeçalhos de múltiplos níveis. De acordo com o artigo de pesquisa que originou esse formato, o OTSL reduz a poucos tokens o que uma representação HTML equivalente expressa com mais de 28 tokens, o que reduz aproximadamente pela metade o comprimento médio da sequência a prever e divide por dois o tempo de inferência em comparação com um modelo que geraria HTML — um detalhe de arquitetura invisível para o usuário final, mas que explica por que o reconhecimento de tabelas do Docling continua utilizável em grandes volumes sem uma GPU dedicada exclusivamente a esse uso. Dois modos estão disponíveis nas opções do pipeline: FAST, mais rápido, mas menos preciso em tabelas complexas, e ACCURATE, recomendado sempre que as tabelas contêm células mescladas ou múltiplos níveis de cabeçalho. Manter a estrutura, mesmo em markdown, preserva o vínculo entre cada valor e seu rótulo. Em um corpus em que as respostas esperadas são números, isso, por si só, justifica um conversor mais pesado do que um simples extrator de texto.

!
Verifique cinco documentos manualmente
Antes de ingerir um corpus inteiro, converta cinco documentos representativos e leia o Markdown gerado, examinando cuidadosamente as tabelas e as quebras de página. Dez minutos aqui evitam uma semana culpando o modelo.

#Motores OCR disponíveis

Docling não inclui um motor OCR único: ele coordena vários motores intercambiáveis de acordo com o tipo de documento. EasyOCR e Tesseract (via tesserocr ou linha de comando) cobrem a maioria dos casos; RapidOCR aceita modelos personalizados; OcrMac usa o reconhecimento nativo do macOS quando disponível. A escolha é feita nas opções do pipeline, não no código da sua aplicação, o que permite trocar o motor sem alterar a lógica de ingestão.

Na prática, um pipeline de ingestão em produção quase sempre começa testando o Tesseract em uma amostra: se ele produz um texto limpo, não há motivo para arcar com o custo do EasyOCR. A mudança para o EasyOCR se justifica principalmente em digitalizações degradadas, formulários parcialmente manuscritos ou idiomas em que o Tesseract falha. O RapidOCR e o OcrMac continuam sendo opções de nicho, reservadas, respectivamente, a um modelo de OCR próprio já treinado e a um computador Mac isolado, sem dependências externas a instalar.

Escolher um motor OCR de acordo com o documento
MotorPonto forteCaso de uso típico
TesseractRápido com texto nítidoDocumentos digitais já escaneados de forma adequada
EasyOCRMais robusto em scans degradados e escrita não padrão, opção de GPU via use_gpuArquivos, formulários, corpus heterogêneos
RapidOCRAceita modelos personalizadosNecessidades específicas (língua rara, domínio especializado)
OcrMacUtiliza o motor nativo do macOS, sem dependência adicionalWorkstation Mac, volumes pequenos

#A divisão em trechos que segue a estrutura

Um ponto que a maioria dos guias de RAG local não explica: o Docling não se limita a converter, ele também propõe uma divisão em trechos adaptada ao que acabou de reconstruir. Seu HybridChunker parte da hierarquia do documento (títulos, seções) e depois ajusta o tamanho de cada trecho com base no tokenizer real do modelo de embedding escolhido: blocos muito longos são divididos nos limites dos elementos, e não no meio de uma frase, e blocos muito curtos que compartilham o mesmo título são fundidos. O tokenizer fornecido deve estar alinhado ao do modelo de embedding usado nas etapas seguintes; caso contrário, o tamanho real dos trechos (em tokens) deixa de corresponder ao que o índice vetorial espera. Trata-se de uma divisão baseada na estrutura, que pode ser comparada à divisão em blocos de caracteres, que ignora os limites das frases: consultar nosso guia sobre estratégias de chunking para entender as vantagens e desvantagens das duas abordagens.

#O custo em recursos computacionais

Ordem de grandeza conforme a configuração
ConfiguraçãoTaxa de processamentoQuando basta
Apenas processador, sem OCRO mais lento: alguns segundos por página complexaPequenos corpus, conversões pontuais
Apenas CPU, com OCRMais lento ainda, o OCR dominaAlguns documentos escaneados
Com GPUMuito mais rápido na análise de página, em tabelas e no OCR EasyOCRMilhares de páginas, ingestão repetida

A consequência prática: convertemos em lotes, uma única vez, e mantemos o resultado. Reindexar só faz sentido se a fonte mudar. E, em uma máquina que também executa um modelo de linguagem, os dois disputam a mesma GPU por meio das opções de aceleração do pipeline: ingerir um corpus enquanto usuários fazem perguntas torna ambos mais lentos.

#Sua posição na cadeia

  1. 01
    Converter
    Docling transforma seus arquivos em markdown ou JSON estruturado, mantendo as tabelas intocadas.
  2. 02
    Dividir
    Com o HybridChunker, seguindo a estrutura identificada e o tokenizer do modelo de embedding, em vez de dividir a cada mil caracteres. É aqui que o conversor compensa uma segunda vez.
  3. 03
    Codificar e armazenar
    Um modelo de embedding local transforma trechos em vetores, armazenados em uma base vetorial como Qdrant.
  4. 04
    Responder
    Um modelo local redige a partir dos trechos encontrados, via Ollama ou um servidor de inferência local.

#Onde ainda dá problema

Escaneamentos de baixa qualidade
A precisão do OCR em uma fotocópia inclinada é uma limitação física, não de software.
Layouts com muitos elementos gráficos
Revistas, texto que envolve uma figura, formulários: difíceis para todos os conversores.
Escrita à mão
Fora do escopo dessa categoria de ferramentas.
Gráficos complexos
A compreensão de gráficos cobre os casos comuns (pizza, barras, linhas); um gráfico muito específico — mapa, diagrama técnico, esquema de arquitetura — ainda pode ser representado apenas por sua legenda, sem os valores subjacentes.
Custo de entrada
Instalar os modelos de layout, tabelas e OCR representa vários gigabytes de download na primeira execução; em uma máquina isolada sem acesso à rede, é necessário baixá-los previamente.

#FAQ

Docling é gratuito?+
Sim: é um projeto open source publicado pela IBM Research em julho de 2024 sob licença MIT, hoje hospedado pela LF AI & Data Foundation. A licença permite uso comercial sem royalties nem obrigação de republicar seu próprio código, e a ferramenta é executada localmente, sem chave de API nem cobrança por página ou documento convertido.
É necessária uma GPU?+
Não, o Docling funciona no processador. Mas sua análise de layout, o reconhecimento de tabelas e o mecanismo EasyOCR se baseiam em modelos que podem ser ativados na GPU via accelerator_options: uma GPU reduz significativamente o tempo de conversão de um grande corpus. Para algumas dezenas de documentos, o processador é mais do que suficiente.
Ele consegue ler PDFs escaneados?+
Sim, por meio de um de seus motores OCR (EasyOCR, Tesseract, RapidOCR ou OcrMac, dependendo da plataforma), que deve ser ativado para documentos sem camada de texto. A qualidade depende então da digitalização: um documento nítido a 300 pontos por polegada é lido bem; uma fotocópia torta, muito menos.
Qual a diferença entre os modos FAST e ACCURATE do TableFormer?+
FAST prioriza a velocidade e é adequado para tabelas simples com uma única linha de cabeçalho. ACCURATE é mais lento, mas recomendado sempre que o documento contém células mescladas ou cabeçalhos em múltiplos níveis, o que é comum em relatórios financeiros ou fichas técnicas.
Docling ou um simples extrator de texto?+
Um extrator simples é mais rápido e adequado para texto limpo em uma única coluna. O Docling se justifica em layouts complexos, tabelas e corpus heterogêneos que misturam PDF, Office e documentos digitalizados — ou seja, na maioria dos documentos reais das empresas.
O Docling se integra com LangChain ou LlamaIndex?+
Sim, o projeto fornece integrações prontas para uso com LangChain, LlamaIndex, Crew AI e Haystack. Na prática, isso evita que você tenha que escrever o conector entre a conversão de documentos e o restante do pipeline de RAG: o documento convertido pelo Docling chega diretamente no formato esperado pelo carregador de documentos desses frameworks, pronto para a divisão em trechos e, depois, a indexação.
Os dados saem da minha máquina?+
Não, a conversão é totalmente local depois que os modelos de layout, reconhecimento de tabelas e OCR são baixados: nenhuma chamada de rede é necessária durante o processamento de um documento. Esse é precisamente o argumento para usar o processo com documentos confidenciais — contratos, prontuários médicos ou documentos contábeis — que devem permanecer no seu computador ou em um servidor que você controla, sem passar por uma API de terceiros.
Este guia ajudou você?

Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.