Skip to content
ReviewRamble

The weekly brief

AI, reviewed, in your inbox.

  • New reviews of tools, models, MCP servers and repos, with the verdict up front
  • Re-checked prices and ratings when something changes
  • New analysis pieces as they are published

Models, agents, MCP servers and the tools actually worth your time.

One email a week. Unsubscribe with the link in any brief. How we use your email

ocr-rs (formerly rust-paddle-ocr)

Biblioteca Rust que roda os modelos PaddleOCR v4, v5 e v6 da Baidu no runtime MNN, com backends de CPU e GPU e boa cobertura de CJK.

Análise de Sheela · Atualizado

Ver no GitHub Código aberto

Nossa nota

3.7/5

O ocr-rs é a forma prática de levar a cobertura de chinês e japonês do PaddleOCR para um binário Rust, desde que um único mantenedor e um runtime em C++ não preocupem você.

O que é ocr-rs (formerly rust-paddle-ocr)?

O ocr-rs é um crate Rust para rodar os modelos de detecção e reconhecimento do PaddleOCR fora do Python. Ele se chamava rust-paddle-ocr até 9 de setembro de 2026, quando o repositório foi renomeado; a URL antiga redireciona. Os modelos rodam no MNN, o runtime de inferência leve da Alibaba, que o crate vincula como código nativo, então é Rust por fora, e não Rust puro do começo ao fim.

Ele suporta PP-OCRv4, PP-OCRv5 e os três níveis do PP-OCRv6 (tiny, small, medium). Os modelos v6 small e medium cobrem 50 idiomas, incluindo chinês simplificado e tradicional, japonês e 46 idiomas de escrita latina; coreano, cirílico, árabe, devanágari, tailandês, grego, tâmil e télugo usam os modelos v5 específicos de cada escrita. Os extras incluem um modo robusto para texto misto horizontal e vertical e caixas delimitadoras por caractere para seleção em visualizadores de imagem. Os backends de GPU cobrem CUDA, Vulkan, Metal e OpenCL.

O crate está na versão 2.4.1 (5 de agosto de 2026), com cerca de 85.000 downloads no crates.io; o repositório tem 339 estrelas sob Apache-2.0. Um único desenvolvedor escreveu 100 dos seus 103 commits. Uma CLI e uma API C ficam em repositórios separados.

ocr-rs (formerly rust-paddle-ocr) vale a pena?

O ocr-rs se justifica pela cobertura de idiomas. Onde o Ocrs lê apenas escrita latina, este crate traz os modelos do PaddleOCR, que leem chinês, japonês e cerca de uma dúzia de outras escritas, para uma aplicação Rust com uma API de três linhas: carregue um detector, um reconhecedor e uma lista de caracteres, depois chame recognize.

O cuidado de engenharia é melhor do que suas 339 estrelas sugerem. O crate diferencia os níveis do PP-OCRv6 em vez de entregar um único modelo, se recusa a cair silenciosamente para a CPU quando falta um backend de GPU solicitado e roda uma verificação de desempenho no CI que falha quando o tempo mediano do pipeline atual fica mais de 15% acima do pipeline legado no mesmo runner. O modo opcional de texto rotacionado repete a detecção em cópias giradas em 90 e 270 graus, o que importa para o texto vertical em japonês e chinês.

As contrapartidas estão no empacotamento e nas pessoas. O MNN é C++, então a compilação cruzada exige binários pré-compilados do MNN ou uma compilação a partir do código-fonte, e builds Windows GNU precisam de um toolchain MinGW. Converter modelos Paddle para o formato MNN passa por um script Python, então uma etapa em Python volta no momento do build, mesmo que a produção nunca a veja. O serviço HTTP que o README menciona não é público, e quase todos os commits vêm de um único mantenedor.

Comparado a um modelo de visão e linguagem como o PaddleOCR-VL 1.6, este é um leitor de linhas: devolve caixas de texto com pontuações de confiança, não tabelas em Markdown nem ordem de leitura. Para recibos, placas, capturas de tela e formulários em escritas asiáticas em hardware modesto, essa costuma ser a troca certa; para documentos inteiros, não é.

Onde ele se destaca

  • Um desenvolvedor de um app leitor de mangá japonês e capturas de tela

    Permitir que os usuários selecionem e copiem texto de imagens, incluindo linhas verticais

    Carregue o PP-OCRv6 small, ative RotatedTextMode::Robust e use a API de alinhamento de caracteres para mapear cada glifo à sua posição para seleção. Gratuito; o modo robusto adiciona passadas extras de detecção em cópias rotacionadas, então custa latência por imagem.

  • Um engenheiro em uma empresa de e-commerce internacional que processa envios de vendedores

    Ler texto em chinês e inglês em fotos de produtos e notas fiscais em volume

    Rode o crate dentro de um serviço Rust existente em workers de CPU, ou o backend CUDA em um nó com GPU para mais vazão. Sem taxas por página; o trabalho é compilar o MNN para o alvo e fixar um nível de modelo.

Antes de decidir

Configuração
cargo add ocr-rs, coloque os arquivos de modelo MNN em models/ (converta modelos de inferência Paddle com o script Python incluído) e depois cargo build --release; binários pré-compilados do MNN são escolhidos automaticamente quando disponíveis.
Integrações
Crate Rust; API C em paddle-ocr-capi e uma CLI em newbee-ocr-cli (repositórios separados); GPU pelas features cuda, vulkan, metal e opencl.
Dados e privacidade
Roda totalmente local, sem chamadas de rede na inferência. Código Apache-2.0; os modelos PaddleOCR são Apache-2.0.
Custo em escala
Modelos de classe mobile na CPU mantêm o processamento barato; os backends de GPU são opcionais. Sem edição paga nem serviço hospedado.
Limites
Cerca de 6 issues abertas; partidas a frio na GPU exigem ajuste ou um cache de kernels; o japonês não é suportado pelo nível tiny do PP-OCRv6; CUDA compilado a partir do código-fonte no Windows exige MSVC.

O que é bom

  • PP-OCRv4, v5 e os três níveis do v6
  • Cobre escritas CJK, árabe, cirílica, índicas e tailandesa
  • Backends CUDA, Vulkan, Metal e OpenCL com erros explícitos
  • Modo de texto vertical e caixas por caractere

O que não é

  • Vincula o MNN em C++; não é Rust puro
  • A conversão de modelos exige um script Python
  • Na prática, um único mantenedor
  • Só texto de linha e caixas, sem estrutura de documento

Ideal para

Desenvolvedores Rust que precisam de OCR para escritas não latinas, especialmente chinês e japonês, dentro de uma aplicação nativa.

Alternativas ao ocr-rs (formerly rust-paddle-ocr)

ocr-rs (formerly rust-paddle-ocr): perguntas frequentes

ocr-rs (formerly rust-paddle-ocr) vale a pena?
O ocr-rs é a forma prática de levar a cobertura de chinês e japonês do PaddleOCR para um binário Rust, desde que um único mantenedor e um runtime em C++ não preocupem você. Damos nota 3.7 de 5.
Quanto custa ocr-rs (formerly rust-paddle-ocr)?
Gratuito sob Apache-2.0; os modelos PaddleOCR são Apache-2.0, da Baidu.
Quais são as desvantagens de ocr-rs (formerly rust-paddle-ocr)?
Vincula o MNN em C++; não é Rust puro; a conversão de modelos exige um script Python; na prática, um único mantenedor; só texto de linha e caixas, sem estrutura de documento.
Para quem ocr-rs (formerly rust-paddle-ocr) é indicado?
Desenvolvedores Rust que precisam de OCR para escritas não latinas, especialmente chinês e japonês, dentro de uma aplicação nativa.
Quanto custa ocr-rs (formerly rust-paddle-ocr) para uma equipe ou em produção?
Modelos de classe mobile na CPU mantêm o processamento barato; os backends de GPU são opcionais. Sem edição paga nem serviço hospedado.
ocr-rs (formerly rust-paddle-ocr) é seguro para dados da empresa?
Roda totalmente local, sem chamadas de rede na inferência. Código Apache-2.0; os modelos PaddleOCR são Apache-2.0.
Quais são as melhores alternativas ao ocr-rs (formerly rust-paddle-ocr)?
As alternativas mais próximas que analisamos são Ocrs, Xberg (formerly Kreuzberg), deepseek-ocr.rs e Docling.

Respostas verificadas em 26 de out. de 2026.