← Tous les articles

Inspecteur PDF open source Firecrawl : PDF vers Markdown en millisecondes, pas d'OCR

Inspecteur PDF open source Firecrawl : PDF vers Markdown en millisecondes, pas d'OCR

Firecrawl, la startup Y Combinator connue pour ses outils de web-scraping, dispose d'un inspecteur pdf open source - une bibliothèque Rust qui détermine en quelques millisecondes si un PDF est basé sur du texte ou une numérisation, et transforme les documents basés sur du texte en Markdown propre sans aucune OCR. Selon l'estimation de l'équipe, environ 54 % des PDF dans les charges de travail réelles sont basés sur du texte, il est donc inutile de les exécuter via une OCR lente et coûteuse.

Si vous avez déjà inséré un PDF dans un modèle (un contrat, un rapport, un livre), vous connaissez le sentiment : le fichier s'ouvre correctement, mais le texte ne sera pas copié, ou il sera copié comme un déchet. Les analyseurs classiques s'étouffent avec les tables ou poussent chaque page via l'OCR, brûlant ainsi des secondes et de l'argent. pdf-inspector atteint exactement ce point problématique : il vérifie rapidement ce qu'est le fichier et n'atteint l'OCR que lorsqu'il s'agit véritablement d'une analyse.

Classer d'abord, extraire ensuite

En un seul passage, la bibliothèque trie un PDF selon l'un des quatre types suivants : à base de texte, numérisé, à base d'image ou mixte - et renvoie un score de confiance de 0 à 1 plus un itinéraire par page : quelles pages lire sous forme de texte, lesquelles envoyer à l'OCR. La classification prend 10 à 50 millisecondes. Pour les pages de texte, il extrait ensuite les coordonnées, les polices et l'ordre de lecture, et génère Markdown avec des titres, des listes, des tableaux et des liens.

Des chiffres qui se démarquent

Sur le corpus opendataloader-bench de 200 PDF, pdf-inspector a traité l'ensemble en 0,47 seconde. A titre de comparaison : pymupdf4llm a pris 17 secondes, markitdown 16 secondes. Et il a toujours obtenu le score le plus élevé en termes de qualité : 0,875 au total contre 0,735 pour pymupdf4llm et 0,589 pour markitdown. C'est dans les tableaux qu'il avance réellement : 0,814 contre 0,401 et 0,273.

Que fait-il d'autre

Mises en page de journaux multicolonnes, texte de droite à gauche, polices CID, détection de codage cassé. Et OCR sélectif : si un PDF contient quelques pages numérisées mélangées, vous pouvez exécuter uniquement celles-ci via OCR localement via PP-OCRv6 Small, au lieu du document entier.

Là où ça échoue

Honnêtement : les véritables numérisations et photos de documents ont toujours besoin d'OCR, et PDF-Inspector n'est pas magique ici : il ne gaspille tout simplement pas l'OCR sur des fichiers qui n'en ont pas besoin. Les mises en page complexes où les formules et la composition sont mélangées au texte peuvent également le faire trébucher. Et c'est une bibliothèque, pas un service prêt à l'emploi : vous aurez besoin d'écrire un peu de code pour l'utiliser.

Светящиеся строки и таблица, складывающиеся из бумажного документа в голограмму

Il existe des liaisons pour Python, Node.js et le navigateur WebAssembly : le même analyseur Rust s'exécute directement dans le navigateur sans serveur. Le dépôt GitHub a déjà dépassé les 17 000 étoiles. Si vous envoyez régulièrement des PDF aux modèles, cela vaut le détour.