Firecrawl inspecteur pdf ouvert : PDF en Markdown en millisecondes, sans OCR
Firecrawl, une startup de Y Combinator qui crée des outils pour extraire des données de sites Web, a ouvert les sources de pdf-inspector : une bibliothèque Rust qui détermine en quelques millisecondes si le texte devant vous est PDF ou un scan, et transforme les documents texte en pur Markdown sans OCR du tout. Selon les estimations de l'équipe, environ 54 % des problèmes réels PDF sont basés sur du texte, et il ne sert tout simplement à rien de les faire passer par le OCR, lent et coûteux.
Si vous avez déjà alimenté un réseau de neurones PDF - un contrat, un rapport, un livre - vous connaissez ce sentiment : le fichier semble s'ouvrir, mais le texte qui en provient n'est pas copié ou est copié en bouillie. Les analyseurs classiques s'étouffent avec les tables ou exécutent chaque page jusqu'à OCR, perdant ainsi des secondes et de l'argent. pdf-inspector répond exactement à cette difficulté : d'abord, il examine rapidement de quel type de fichier il s'agit et ne connecte OCR que s'il s'agit d'une véritable analyse.
D’abord classement, puis extraction
En un seul passage, la bibliothèque attribue PDF à l'un des quatre types - TextBased, Scanned, ImageBased ou Mixed - et donne une confiance de 0 à 1 plus un itinéraire de page : laquelle lire sous forme de texte, laquelle envoyer à OCR. La classification prend 10 à 50 millisecondes. Ensuite, pour les pages de texte, il y a une extraction avec les coordonnées, les polices et l'ordre de lecture, et le résultat est Markdown avec des titres, des listes, des tableaux et des liens.
Des chiffres impressionnants
Sur le banc opendataloader, sur 200 PDF, l'inspecteur pdf a démonté l'ensemble du boîtier en 0,47 seconde. A titre de comparaison : pymupdf4llm - 17 secondes, markitdown - 16 secondes. En même temps, il est de la plus haute qualité : le score global est de 0,875 contre 0,735 pour pymupdf4llm et 0,589 pour markitdown. Il reconnaît beaucoup mieux les tables - 0,814 contre 0,401 et 0,273.
Que peut-il faire d'autre ?
Mises en page de journaux multicolonnes, texte de droite à gauche, polices CID, détection d'encodage cassé. Séparément - OCR sélectif : si des pages numérisées individuelles sont bloquées dans PDF, vous ne pouvez les exécuter que via OCR, localement, via PP-OCRv6 Small, et non l'intégralité du document.
Où est le piège ?
Honnêtement : pour de vrais scans et photographies de documents, OCR est toujours nécessaire, et ici l'inspecteur pdf n'est pas magique - il ne dépense tout simplement pas OCR pour quelque chose qui n'en a pas besoin. Les mises en page complexes, dans lesquelles les formules et la mise en page sont mélangées au texte, peuvent également fonctionner. Et il s'agit d'une bibliothèque, pas d'un service tout fait : pour l'utiliser, il faut écrire un peu de code.

Il existe des liaisons pour Python, Node.js et WASM basé sur un navigateur - le même analyseur Rust fonctionne directement dans le navigateur sans serveur. Le référentiel sur GitHub a déjà gagné près de 17 000 étoiles. Si vous transportez souvent PDF dans un réseau neuronal, cela vaut le détour.