Colocar um PDF no índice de busca não garante que a resposta de uma IA consiga apontar para a tabela, o título ou a página certa. Antes da busca vem uma decisão menos vistosa: como transformar o arquivo em uma representação que ainda faça sentido. Docling e Unstructured são bibliotecas abertas usadas nessa preparação, mas partem de unidades de trabalho diferentes. O Docling constrói um documento estruturado que pode ser exportado; o Unstructured particiona a entrada em elementos tipados, sobre os quais se pode fazer chunking. A escolha depende do que sua aplicação precisa preservar e auditar, não de um suposto vencedor universal.
Veredito rápido
Escolha Docling como primeiro teste se o problema central é conservar hierarquia, ordem de leitura, tabelas e proveniência em uma representação de documento antes de exportar Markdown, JSON ou chunks. Teste Unstructured se sua pipeline já se organiza em elementos como título, narrativa e tabela, com particionadores por formato e chunking posterior. Em ambos os casos, a qualidade depende do arquivo, da configuração e da inspeção humana. Esta é uma análise dos contratos documentados, não um benchmark: o Bastidores não mediu velocidade, acurácia nem custo operacional dos dois projetos em um conjunto de arquivos.
Comparação direta, com o mesmo escopo
| Critério | Docling, biblioteca local | Unstructured, biblioteca aberta local |
|---|---|---|
| Unidade principal | DoclingDocument, com conteúdo e árvore do documento |
Lista de Element com tipo e metadados após particionar |
| Primeiro passo típico | Converter a fonte e inspecionar o documento resultante | Escolher particionador ou partition() e inspecionar elementos |
| Saída para RAG | Exportação Markdown/JSON ou chunkers sobre o documento | Chunking basic ou by_title sobre elementos |
| PDF digitalizado | Pipeline com OCR e modelos configuráveis | Estratégias auto, ocr_only ou hi_res, conforme dependências |
| Instalação | Pacote docling, com extras para recursos adicionais |
Pacote unstructured, com extras por formato, como pdf |
| Serviço gerenciado | Não faz parte desta comparação da biblioteca | Não confundir a biblioteca com a API comercial da empresa |
Os pontos da tabela vêm da representação DoclingDocument, do escopo da biblioteca aberta Unstructured e das páginas oficiais de instalação e chunking. A tabela descreve capacidades, não resultados de testes equivalentes.
O que Docling preserva antes de dividir
O DoclingDocument separa itens de texto, tabelas, imagens e pares chave-valor. A estrutura do corpo guarda relações entre itens, grupos e seções; cabeçalhos e rodapés podem ficar em uma árvore distinta. O projeto também descreve informações de layout e proveniência quando estão disponíveis. Isso é útil quando uma resposta precisa voltar ao trecho original e quando uma tabela não pode ser reduzida a linhas soltas. A documentação do modelo mostra essa organização e explica que a ordem de leitura é expressa pela árvore do corpo.
A entrada rápida oficial usa DocumentConverter para converter uma fonte e exportar Markdown. A lista de formatos inclui PDF, documentos Office, HTML, imagens e outras entradas, com dependências específicas para algumas delas. A variedade anunciada não significa que todos os arquivos complexos saiam perfeitos. Uma planilha com células mescladas ou um PDF em colunas exige verificação do resultado, mesmo quando a conversão termina sem erro.
O que Unstructured entrega como elementos
Na biblioteca aberta Unstructured, o fluxo começa pelo particionamento. A saída é uma lista de elementos de documento com tipos e metadados; funções específicas tratam formatos como PDF, DOCX, HTML e e-mail. Isso facilita separar, filtrar ou transformar partes de fontes heterogêneas antes da indexação. Um elemento rotulado como título, entretanto, continua sendo uma classificação produzida pela ferramenta: não se deve transformá-lo automaticamente em fronteira sem conferir o arquivo.
A própria documentação de chunking explica a diferença entre basic e by_title. O primeiro agrupa elementos sequenciais dentro de limites de tamanho; o segundo tenta preservar limites de seção ao encontrar um elemento Title. Se um parágrafo curto for classificado indevidamente como título, a divisão pode criar chunks ruins. A documentação prevê ajustes, mas o acerto depende de uma amostra real e de perguntas de recuperação, não de uma configuração padrão.
PDFs, OCR e tabelas não cabem em um botão único
Para PDF, o Unstructured documenta estratégias auto, fast, ocr_only e hi_res. A escolha automática depende de texto extraível e dos parâmetros; fast trabalha com texto extraível, ocr_only usa OCR e hi_res analisa layout. A página oficial avisa que determinadas dependências precisam estar presentes e que PDFs em múltiplas colunas podem trazer dificuldades de ordem. A extração de tabelas e blocos de imagem demanda atenção especial à estratégia. Esses caminhos não são quatro níveis de qualidade em ordem crescente, mas métodos com custos e falhas diferentes.
O Docling também permite OCR e opções de pipeline. Seu guia de instalação relaciona mecanismos de OCR e dependências adicionais. Para ambos, um PDF digitalizado deve ser testado quanto a números, idioma, colunas e cabeçalhos. Se a fonte é uma imagem de baixa resolução, nenhum conversor pode garantir a leitura correta de um valor crítico. Para entender a etapa anterior, o Bastidores já publicou um guia de validação de OCR. Aqui a pergunta é como usar o texto e sua estrutura depois da extração.
Chunking para RAG: onde o contexto se perde
O Docling oferece chunkers que operam no documento estruturado. O guia oficial de chunking descreve uma opção hierárquica e outra híbrida que considera um tokenizer para dividir trechos grandes e combinar trechos pequenos de seções compatíveis. A vantagem potencial é carregar títulos e legendas junto do trecho recuperado. Potencial não é garantia: se a hierarquia foi detectada de forma errada, o chunk só preservará esse erro de maneira organizada.
No Unstructured, o chunking pode ocorrer junto do particionamento ou depois. Separar as etapas facilita testar tamanhos e fronteiras sem reprocessar OCR ou inferência a cada tentativa. O by_title pode impedir que texto de seções diferentes caia no mesmo chunk, mas uma classificação imperfeita de Title exige revisão. Em qualquer ferramenta, o teste útil não é contar apenas quantos chunks surgiram. Pergunte onde ficou uma tabela, se o título acompanha o conteúdo, se a página de origem está disponível e se uma busca recupera o trecho certo para uma pergunta concreta.
Instalação e recursos sob seu controle
O Docling documenta pip install docling e suporte a Windows, macOS e Linux, mas recursos como certos motores OCR, áudio e modelos visuais têm extras ou dependências próprios. Seus modelos podem ser baixados no primeiro uso; o guia de pré-download explica como preparar artefatos para operar sem acesso posterior à rede. Uma instalação concluída não prova que todas as modalidades estarão disponíveis no computador. Planeje armazenamento, licenças de dependências e política de download de modelos antes de levar documentos sensíveis ao ambiente.
No Unstructured, a instalação oficial distingue o pacote base dos extras por formato. O pacote base cobre um conjunto menor de entradas; PDF, Office e imagens podem exigir extras e programas de sistema como Poppler, Tesseract e LibreOffice. Escolher apenas os formatos necessários reduz dependências, mas também aumenta a obrigação de documentar o que foi instalado. Em ambos os projetos, pin de versão e ambiente isolado tornam o teste repetível; não copie comandos de uma versão futura sem validar a documentação correspondente.
Local não significa automaticamente sem rede
O Docling permite conversão local, mas a documentação informa que modelos podem ser baixados automaticamente no primeiro uso. Isso pede preparação explícita em redes fechadas. O README do Unstructured declara telemetria leve por padrão para um endpoint do projeto e documenta opt-out por DO_NOT_TRACK ou SCARF_NO_ANALYTICS antes da importação. Segundo o mantenedor, esses eventos não incluem conteúdo nem nomes dos documentos. Ainda assim, em um ambiente que proíbe qualquer saída de rede, essa configuração precisa entrar no teste e na revisão de segurança.
Não misture processamento local com chamadas deliberadas a um serviço remoto. O Unstructured também oferece funções e produtos de API, separados da biblioteca aberta. A página oficial de escopo distingue a biblioteca de suas ofertas gerenciadas e lista limitações da edição aberta. O Docling também apresenta opções de servidor em sua documentação. A escolha de implantação altera fluxo de dados, autenticação e operação; não é um detalhe invisível de uma tabela comparativa.
Disponibilidade, licenças e preço
Os repositórios das bibliotecas são públicos. O Docling declara licença MIT e o Unstructured declara Apache-2.0. Essas licenças não dispensam a verificação de modelos, dependências e obrigações de qualquer serviço contratado. Não atribuímos um preço ao uso de serviços gerenciados porque planos, limites e contratos variam e não são necessários para a escolha entre as duas bibliotecas locais. Mesmo sem uma fatura de API, máquina, armazenamento, revisão e manutenção continuam sendo custo operacional.
Em 11 de outubro de 2026, a documentação consultada descrevia ambos os caminhos locais. A disponibilidade de um formato específico depende de pacote, extra, sistema e versão. Antes de fechar uma arquitetura, registre essas quatro condições no projeto. Não presuma que “suporta PDF” inclua, no mesmo nível, PDF digital, escaneado, protegido e com múltiplas colunas.
Como fazer um teste justo com seus arquivos
Separe uma pequena amostra autorizada com PDF digital, PDF escaneado, tabela, documento Office e o idioma realmente usado pela equipe. Guarde os originais e anote a versão instalada, opções de OCR e dependências. Para cada arquivo, marque manualmente alguns pontos de verificação: título correto, ordem de leitura, célula de uma tabela, página da evidência e trecho que uma pergunta deveria recuperar. Use o mesmo conjunto para as duas ferramentas, mas respeite que cada uma entrega um modelo de saída diferente. Compare o resultado útil, não apenas a quantidade de texto extraído.
Conte falhas de conversão, elementos sem conteúdo, seções misturadas e campos que não podem ser rastreados à fonte. Depois teste a etapa de chunks e a busca com perguntas que tenham resposta conhecida. Se uma ferramenta exige muito pós-processamento para o seu caso, registre esse trabalho; se outra perde uma tabela crítica, registre a perda. Não publique um percentual de acerto sem amostra, definição de acerto e protocolo. O teste acima é um roteiro para o leitor, não um teste realizado pelo Bastidores.
Quando escolher cada uma, e quando não trocar
Minha leitura editorial é que o Docling merece o primeiro piloto quando a unidade natural do trabalho é o documento completo, com hierarquia, tabelas, proveniência e exportações derivadas. O Unstructured merece o primeiro piloto quando a aplicação já trata documentos como listas de elementos tipados e precisa ajustar particionamento e chunking por formato. Essas são inferências sobre os modelos documentados, não uma classificação geral de qualidade. Os dois projetos conseguem alimentar um RAG; nenhum substitui estratégia de índice, autorização, avaliação de recuperação ou citação de fonte.
Se a pipeline atual já oferece resultados auditáveis, não migre apenas porque uma ferramenta tem um recurso atraente. O custo real da troca inclui reprocessar arquivos, manter IDs de origem, revisar chunks, atualizar testes e comparar respostas antigas e novas. Uma terceira opção também existe: manter a extração atual e corrigir só o passo que falha, como OCR, tabelas ou chunking. O comparativo anterior de Tesseract e PaddleOCR trata especificamente da camada de OCR, que não é a mesma decisão desta matéria.
Fontes, método e limites
As afirmações factuais foram confrontadas com os guias oficiais de uso, representação, chunking e particionamento, além de instalação, escopo e README dos mantenedores. A análise foi escrita em 11/10/2026. Não usamos preços, ranking, velocidade nem precisão sem teste controlado. A capa é uma ilustração editorial exclusiva, não captura real dos produtos nem resultado de uma conversão executada.
