Firecrawl abriu o pdf-inspector: PDF em Markdown em milissegundos, sem OCR
Firecrawl, uma startup da Y Combinator que fabrica ferramentas para extrair dados de sites, abriu as fontes do pdf-inspector: uma biblioteca Rust que em milissegundos determina se o texto à sua frente é PDF ou uma digitalização, e transforma documentos de texto em Markdown puro sem OCR. De acordo com as estimativas da equipe, cerca de 54% dos PDF em problemas reais são baseados em texto, e simplesmente não faz sentido executá-los no lento e caro OCR.
Se você já alimentou uma rede neural PDF - um contrato, um relatório, um livro - você conhece esta sensação: o arquivo parece abrir, mas o texto dele não é copiado ou é copiado em mingau. Os analisadores clássicos engasgam com as tabelas ou percorrem cada página OCR, desperdiçando segundos e dinheiro. O pdf-inspector atinge exatamente esse problema: primeiro, ele verifica rapidamente que tipo de arquivo é e conecta OCR somente se for uma varredura real.
Primeira classificação, depois extração
De uma só vez, a biblioteca atribui PDF a um dos quatro tipos - TextBased, Scanned, ImageBased ou Mixed - e fornece uma confiança de 0 a 1 mais uma rota de página: qual ler como texto, qual enviar para OCR. A classificação leva de 10 a 50 milissegundos. A seguir, para páginas de texto, há extração com coordenadas, fontes e ordem de leitura, e a saída é Markdown com títulos, listas, tabelas e links.
Números que impressionam
No banco opendataloader de 200 PDF o pdf-inspector desmontou o caso inteiro em 0,47 segundos. Para comparação: pymupdf4llm - 17 segundos, markitdown - 16 segundos. Ao mesmo tempo, é o mais alto em qualidade: a pontuação geral é 0,875 contra 0,735 para pymupdf4llm e 0,589 para markitdown. Ele reconhece tabelas muito melhor - 0,814 versus 0,401 e 0,273.
O que mais ele pode fazer?
Layouts de jornais com várias colunas, texto da direita para a esquerda, fontes CID, detecção de codificação quebrada. Separadamente - OCR seletivo: se páginas digitalizadas individuais estiverem presas em PDF, você poderá executá-las apenas em OCR, localmente, em PP-OCRv6 Small, e não no documento inteiro.
Onde está o problema?
Honestamente: para digitalizações e fotografias reais de documentos, OCR ainda é necessário, e aqui o inspetor de PDF não é mágico - ele simplesmente não gasta OCR em algo que não precisa dele. Layouts complexos, onde fórmulas e layout são misturados com texto, também podem funcionar. E isso é uma biblioteca, não um serviço pronto: para usá-lo é preciso escrever um pouco de código.

Existem ligações para Python, Node.js e WASM baseado em navegador - o mesmo analisador Rust funciona diretamente no navegador sem um servidor. O repositório no GitHub já ganhou quase 17 mil estrelas. Se você costuma carregar PDF em uma rede neural, vale a pena dar uma olhada.