PaddleOCR: o OCR que entende a page
PaddleOCR é um conjunto de ferramentas de OCR livre (licença Apache 2.0, mais de 90.000 estrelas no GitHub) que detecta texto em qualquer lugar de uma página e reconstrói tabelas. Com sua variante PaddleOCR-VL, um modelo de visão com cerca de 900 milhões de parâmetros atinge 96,33% no benchmark de referência OmniDocBench v1.6: desempenho suficiente para substituir um leitor linha por linha em documentos reais, ao custo de uma instalação mais pesada.
O PaddleOCR faz o que um mecanismo tradicional de reconhecimento óptico não consegue fazer: detectar texto em qualquer lugar de uma página, ler textos com escrita densa e reconstruir a estrutura de uma tabela. É mais pesado que o mecanismo tradicional, e é exatamente o que se precisa para documentos importantes — faturas, formulários, relatórios e documentos digitalizados em vários idiomas.
#Primeiro, a detecção: o que isso muda
PaddleOCR é um conjunto de ferramentas de reconhecimento óptico de caracteres (OCR) livre, sob licença Apache 2.0, que não lê uma página linha por linha: primeiro localiza o texto, depois lê cada região e, em seguida, pode reconstruir a estrutura da página e de suas tabelas. É isso que o torna robusto em faturas, formulários, digitalizações inclinadas e documentos multilíngues, situações em que um motor como o Tesseract produz absurdos com convicção. O projeto existe em duas famílias: um pipeline modular (PP-OCRv6 para a leitura, PP-StructureV3 para a estrutura) e PaddleOCR-VL, um modelo de visão com cerca de 0,9 bilhão de parâmetros que converte uma página em Markdown em uma única passagem e alcança 96,33% no OmniDocBench v1.6, segundo seu desenvolvedor. O preço a pagar é uma instalação mais pesada, com PaddlePaddle e pesos de modelos, além de pré-requisitos de GPU documentados para a variante VL. Para texto limpo em grande volume, um motor leve continua sendo mais simples.
Um mecanismo convencional supõe que uma página é composta por linhas de texto dispostas como em um livro. Os documentos reais não são assim: uma fatura tem quadros, um formulário tem campos, uma apresentação tem texto sobre imagens, uma digitalização chega torta e um desenho técnico tem rótulos inclinados.
PaddleOCR divide o problema. Um modelo de detecção encontra as regiões de texto onde quer que estejam e retorna suas posições; um modelo de reconhecimento lê cada região. Um texto inclinado, uma legenda na margem e um número em uma célula se tornam três regiões entre outras. Isso permite que ele funcione em documentos nos quais um leitor linha a linha comete erros sem que eles fiquem aparentes.
#As etapas do pipeline
Seu ChatGPT privado e gratuito na sua máquina em 1 hora — LM Studio, Ollama, Open WebUI, seus documentos, sem nuvem.
- Espaço online vitalício
- PDF + arquivos
- Atualizações vitalícias
| Etapa | O que ela produz | Por que isso importa |
|---|---|---|
| Detecção de texto | Caixas delimitadoras ao redor de cada região de texto | Nada passa despercebido por estar em uma posição incomum |
| Classificação de orientação | A orientação correta de cada zona | As digitalizações desalinhadas deixam de ser um caso especial |
| Reconhecimento | A string de cada frame | A etapa de leitura propriamente dita |
| Análise de layout | O tipo de cada região: título, parágrafo, figura, tabela | A segmentação pode seguir a estrutura em vez de um contador de caracteres |
| Reconhecimento de tabelas | Linhas, colunas, células | Os números mantêm o rótulo que lhes dá sentido |
Nem todas as etapas são obrigatórias. Ler algumas etiquetas exige apenas detecção e reconhecimento; ingerir relatórios financeiros para pesquisa documental justifica a cadeia completa. PP-OCRv6, a geração de modelos de reconhecimento publicada em 2026, cobre sozinha 50 idiomas em um modelo unificado (chinês, inglês, japonês e 46 idiomas com alfabeto latino), sem trocar de modelo de um idioma para outro.
#PaddleOCR-VL : o OCR que se torna um modelo de visão
Desde outubro de 2025, o projeto publica uma segunda família com o mesmo nome: PaddleOCR-VL, um modelo compacto de visão e linguagem que substitui todo o pipeline de cinco etapas por uma única passagem. A versão 1.6, lançada no final de maio de 2026, tem cerca de 0,9 bilhão de parâmetros e combina um codificador visual de resolução dinâmica com um pequeno modelo de linguagem. No OmniDocBench v1.6, o benchmark de referência para a conversão de documentos em Markdown ou JSON, ela atinge uma pontuação de 96,33 %, nível que o próprio projeto descreve como um novo estado da arte.
O que chama a atenção não é apenas a pontuação: é o tamanho do modelo que a alcança. Um guia publicado pelo InsiderLLM resume a situação em uma frase: um modelo com 900 milhões de parâmetros supera um modelo de 72 bilhões e o GPT-4o no reconhecimento de documentos. O mesmo artigo calcula o custo de memória do concorrente geralista — o Qwen2.5-VL-72B precisa de 48 GB de VRAM ou mais em quantização Q4 — enquanto o PaddleOCR-VL, convertido para o formato GGUF e quantizado em Q4_K_M, ocupa cerca de um a um gigabyte e meio, correspondendo ao peso total do modelo de linguagem e do projetor visual combinados. Essa abordagem GGUF é recente: a suporte ao PaddleOCR-VL foi integrado ao llama.cpp em fevereiro de 2026 (versão b8110), e os arquivos GGUF disponíveis são da comunidade, não dos desenvolvedores do PaddleOCR.
O componente que gera a pontuação OmniDocBench não é o único: ao lado do PaddleOCR-VL, o projeto mantém o PP-StructureV3, um pipeline dedicado à conversão de PDFs complexos em Markdown ou JSON, com as coordenadas precisas de cada célula de tabela e de cada bloco de texto. Os dois componentes visam o mesmo objetivo — um documento real convertido corretamente — por dois caminhos diferentes: um modelo único para o PaddleOCR-VL, uma cadeia de componentes especializados para o PP-StructureV3. Seja qual for o mecanismo, ele oferece suporte nativo à inferência com múltiplas GPUs e múltiplos processos, o que é importante quando é preciso processar um corpus de várias dezenas de milhares de páginas em um prazo razoável.
#PaddleOCR ou Tesseract
| PaddleOCR | Tesseract | |
|---|---|---|
| Instalação | Pilha Python e pesos dos modelos | Um pequeno binário |
| Digitalização nítida em uma única coluna | Excelente | Excelente, e mais rápido |
| Texto em qualquer lugar da página | Excelente | Fraco |
| Tabelas | Estrutura reconstruída | Aplatis |
| Escritas não latinas | Muito bom | Depende muito do pacote de idioma |
| Documento inclinado em alguns graus | Corrigido pela classificação de orientação | Pode reduzir a taxa de leitura |
| GPU | Opcional, grande ganho | Não utilizado |
Uma cadeia bem projetada utiliza os dois: as páginas simples ficam com o motor leve, e as complexas, com o motor mais caro. O encaminhamento não custa nada e economiza horas em um grande corpus. A observação sobre a inclinação não é um mero detalhe: a Koncile, uma empresa de software de extração de faturas, mediu em seus próprios testes uma queda na taxa de leitura do Tesseract de 100% em uma fatura sem inclinação para 31% assim que a digitalização apresenta uma inclinação de apenas 3 a 5 graus — exatamente o caso que a etapa de classificação de orientação do PaddleOCR foi projetada para tratar.
- Tesseract: o motor leve, e quando basta
- Docling: converter documentos estruturados
- Extrair os dados de uma fatura de ponta a ponta
- Analisar uma imagem com um modelo de visão local
#Caso de uso: quando mudar para PaddleOCR
- Faturamento e contabilidade
- Uma fatura digitalizada raramente fica perfeitamente alinhada; a estrutura da tabela (quantidade, preço unitário, IVA) deve permanecer legível para que os valores mantenham seu sentido, em vez de acabarem em uma linha de números isolados.
- Dossiês administrativos multilíngues
- Formulários, documentos de identidade, cartas em vários sistemas de escrita: a ampla cobertura de idiomas do PaddleOCR evita a necessidade de configurar um motor diferente por país ou por alfabeto.
- Relatórios longos para um RAG
- Um relatório de dezenas de páginas com títulos, subtítulos e tabelas ganha com a conversão mantendo sua estrutura: um corte que respeita as seções é melhor que um corte por número de caracteres.
- Arquivos digitalizados de forma desorganizada
- Caixas de documentos em papel digitalizados sem cuidado, com orientação aleatória: a etapa de classificação da orientação resolve a maior parte da desorganização antes mesmo da leitura.
- Volume elevado e texto limpo
- Por outro lado, um fluxo de cupons fiscais ou extratos já bem enquadrados, em grande volume, costuma ser mais bem atendido por um mecanismo mais leve — veja a comparação com o Tesseract acima.
#Instalar e iniciar a primeira extração
A instalação é feita via pip, com uma particularidade: desde a série 3.x, o pacote paddleocr não basta sozinho. A documentação pede que você instale primeiro o motor de inferência escolhido (por padrão, PaddlePaddle) e depois o pacote paddleocr. Os pesos dos modelos de detecção, reconhecimento e, quando aplicável, análise de layout são baixados na primeira execução de cada pipeline utilizado.
- 01Instalar a bibliotecaInstalar primeiro o PaddlePaddle seguindo a página oficial de instalação (a variante CPU ou GPU conforme a máquina), depois executar python -m pip install paddleocr. O pacote básico aceita Python 3.8 ou superior; os extras para análise de documentos (paddleocr[doc-parser]) exigem Python 3.9 ou superior.
- 02Iniciar a primeira extraçãoO comando paddleocr ocr recebe uma imagem como entrada (opção -i) e escreve os resultados no diretório indicado por --save_path. Para converter uma página em Markdown com PaddleOCR-VL, o comando é paddleocr doc_parser, com as mesmas opções -i e --save_path.
- 03Ativar etapas úteisAs opções use_doc_orientation_classify, use_doc_unwarping e use_textline_orientation ativam a correção de uma página ou linha desalinhada. Em digitalizações limpas, defini-las como False acelera o processamento; a documentação oficial, inclusive, recomenda desativar funções desnecessárias quando a inferência é muito lenta.
#O que consome
O projeto não publica uma taxa de processamento universal por página: ela depende da densidade do documento, das etapas ativadas e do hardware, e a documentação recomenda desativar funções desnecessárias ou escolher modelos mais leves quando a inferência for lenta. Meça em cerca de vinte de suas páginas antes de extrapolar para um corpus. Para o PaddleOCR-VL, a documentação oficial especifica os pré-requisitos de GPU NVIDIA (PaddlePaddle: capacidade computacional 7.0 ou superior e CUDA 11.8 ou superior; vLLM: 8.0 ou superior e CUDA 12.6 ou superior) e também prevê uma opção para processadores x64. Os pesos são baixados uma vez e depois tudo fica local: sem API, sem custo por página.
#O argumento decisivo: sem invenção
PaddleOCR lê pixels. Pode ler um caractere incorretamente, e uma substituição de dígito nem sempre é perceptível. Um modelo de visão generalista solicitado a transcrever um documento pode gerar um valor bem formado, plausível e ausente da página — e nada na saída indica isso. PaddleOCR-VL exige mais cuidado: como gera o texto em vez de lê-lo região por região, pertence à mesma família de riscos que os modelos de visão generalistas, mesmo sendo treinado para transcrição. Nenhum sistema está imune a um erro em um caractere ambíguo.
Para controle documental, contabilidade ou qualquer coisa que precise ser auditável, essa diferença deve orientar a escolha: um motor de OCR dedicado para os números em que você vai se basear, um modelo de visão generalista quando você quer que o documento seja explicado em vez de transcrito. Em documentos de grande importância, usar os dois e comparar continua sendo a terceira opção legítima.
Na prática, a verificação não exige ler tudo de novo. Uma amostra de algumas dezenas de documentos por lote, comparada manualmente com a saída do motor, é suficiente para detectar um desvio sistemático — um campo mal delimitado, um idioma mal reconhecido, uma tabela frequentemente mal dividida — antes que ele contamine milhares de páginas processadas automaticamente.
- Fonte: repositório oficial do PaddleOCR no GitHub
- Fonte: ficha do modelo PaddleOCR-VL-1.6
- Fonte: comparativo independente do PaddleOCR-VL executado localmente
#FAQ
O PaddleOCR é gratuito?+
É necessária uma GPU?+
PaddleOCR ou Tesseract?+
Ele consegue extrair tabelas?+
O que é exatamente o PaddleOCR-VL?+
Funciona offline?+
Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.