Biblioteca Rust acelera triagem e extração de PDFs sem OCR
Projeto da Firecrawl identifica o tipo de PDF, extrai texto estruturado e gera Markdown localmente para reduzir o uso desnecessário de OCR.
Projeto da Firecrawl identifica o tipo de PDF, extrai texto estruturado e gera Markdown localmente para reduzir o uso desnecessário de OCR.
O pdf-inspector é uma biblioteca em Rust criada pela Firecrawl para inspecionar, classificar e extrair conteúdo de arquivos PDF. O projeto identifica se o documento é baseado em texto, digitalizado, composto por imagens ou misto, encaminhando cada caso para o tratamento adequado. Ele está em alta no Trendshift, com a primeira posição no ranking mensal e a nona no semanal, enquanto acumulava 13.597 estrelas na consulta de 9 de agosto de 2026.
PDFs podem conter texto selecionável, páginas digitalizadas ou imagens incorporadas. Essa diferença é importante porque documentos sem camada textual exigem OCR, tecnologia que reconhece caracteres em imagens e costuma acrescentar custo, tempo e infraestrutura ao processamento.
O pdf-inspector foi projetado para separar esses cenários antes da extração. Segundo o README, a classificação pode identificar documentos TextBased, Scanned, ImageBased ou Mixed, fornecendo também um nível de confiança entre 0,0 e 1,0 e uma indicação de encaminhamento para OCR por página.
A proposta é evitar OCR quando ele não é necessário. O projeto informa que consegue lidar localmente com PDFs baseados em texto em menos de 200 milissegundos e estima que cerca de 54% dos PDFs não precisam desse recurso. O repositório não informa como essa proporção foi calculada fora da descrição apresentada.
O fluxo começa com o carregamento do documento, que é analisado uma única vez e compartilhado entre a classificação e a extração. A detecção examina amostras dos fluxos de conteúdo do PDF e, conforme o tipo encontrado, permite que a aplicação escolha entre extrair texto diretamente ou encaminhar o arquivo para OCR.
Na extração, a biblioteca preserva informações de posição, fontes e coordenadas X e Y. Também tenta reconstruir a ordem de leitura em documentos com múltiplas colunas, reconhece textos da direita para a esquerda e identifica problemas de codificação que podem indicar a necessidade de uma etapa posterior de OCR.
O resultado pode ser convertido em Markdown. O suporte descrito inclui títulos de H1 a H4, listas, blocos de código, negrito, itálico, links, quebras de página e tabelas detectadas por operações gráficas ou pelo alinhamento do texto.
A instalação varia conforme o ambiente. Em Python, o README indica pip install maturin e maturin develop --release. Para Node.js, o comando é npm install @firecrawl/pdf-inspector. Em Rust, cargo add pdf-inspector adiciona a dependência, enquanto a versão para navegador pode ser instalada com npm install @firecrawl/pdf-inspector-wasm.
No benchmark opendataloader-bench, com 200 PDFs e OCR desativado, o pdf-inspector registrou pontuação geral de 0,875, índice de ordem de leitura de 0,915 e pontuação de tabelas de 0,814. O tempo informado foi de 0,470 segundo para os 200 documentos, em avaliação realizada em um Apple M4 Pro.
Na mesma comparação, o LiteParse teve pontuação geral de 0,873, ordem de leitura de 0,913, tabelas de 0,693 e tempo de 0,750 segundo. PyMuPDF4LLM marcou 0,735 no resultado geral e levou 17,117 segundos, enquanto o MarkItDown registrou 0,589 e 16,165 segundos. Os resultados foram atualizados em 31 de julho de 2026, e o repositório recomenda interpretar o projeto como opção para PDFs com texto nativo.
A implementação é descrita como Rust puro, sem modelos de aprendizado de máquina e sem serviços externos. O parser tem uma dependência indicada no README: lopdf.
A principal limitação é o foco em PDFs com texto nativo. O pdf-inspector classifica documentos digitalizados e pode sinalizar problemas de codificação, mas não realiza OCR. Nesses casos, a aplicação precisará integrar outro mecanismo.
A biblioteca também está em fase inicial de distribuição: não foi encontrada nenhuma release no repositório. A data de criação informada é 6 de fevereiro de 2026, e o último commit ocorreu em 9 de agosto de 2026. Não há, no material consultado, informações sobre política de segurança, suporte formal, compatibilidade detalhada entre versões ou auditorias independentes.
A licença MIT permite uso, modificação e distribuição conforme seus termos. Ainda assim, equipes que processam documentos sensíveis devem avaliar o próprio ambiente de execução e as integrações escolhidas; detalhes específicos de proteção de dados não são informados no repositório.