Firecrawl open-source pdf-inspecteur: PDF naar Markdown in milliseconden, geen OCR
Firecrawl, de Y Combinator-startup die bekend staat om zijn webscraping-tools, heeft een open-source pdf-inspector – een Rust-bibliotheek die in milliseconden uitzoekt of een PDF op tekst of een scan is gebaseerd, en op tekst gebaseerde documenten omzet in schone Markdown zonder enige OCR. Volgens de schatting van het team is ongeveer 54% van de PDF's in echte werklasten op tekst gebaseerd, dus het is zinloos om ze door een langzame, dure OCR te laten gaan.
Als je ooit een PDF aan een model hebt toegevoegd (een contract, een rapport, een boek) ken je het gevoel: het bestand wordt prima geopend, maar de tekst wil niet worden gekopieerd, of het wordt als afval gekopieerd. Klassieke parsers stikken in tabellen of pushen elke pagina via OCR, waardoor seconden en geld worden verbrand. pdf-inspector raakt precies dat pijnpunt: het controleert snel wat het bestand is, en zoekt alleen naar OCR als het echt een scan is.
Classificeer eerst, extraheer als tweede
In één keer sorteert de bibliotheek een PDF in een van de vier typen (TextBased, Scanned, ImageBased of Mixed) en retourneert een betrouwbaarheidsscore van 0 tot 1 plus een route per pagina: welke pagina's als tekst moeten worden gelezen en welke naar OCR moeten worden verzonden. Classificatie duurt 10-50 milliseconden. Voor tekstpagina's extraheert het vervolgens de coördinaten, lettertypen en leesvolgorde, en voert Markdown uit met koppen, lijsten, tabellen en links.
Cijfers die opvallen
Op het opendataloader-bench-corpus van 200 PDF's verwerkte pdf-inspector de hele set in 0,47 seconden. Ter vergelijking: pymupdf4llm duurde 17 seconden, markitdown 16 seconden. En het scoorde nog steeds het hoogst op kwaliteit: 0,875 in totaal versus 0,735 voor pymupdf4llm en 0,589 voor markitdown. In de tabellen gaat het echt vooruit: 0,814 versus 0,401 en 0,273.
Wat doet het nog meer
Krantenindelingen met meerdere kolommen, tekst van rechts naar links, CID-lettertypen, detectie van defecte codering. En selectieve OCR: als een PDF een paar gescande pagina's bevat, kunt u alleen die pagina's via OCR lokaal uitvoeren via PP-OCRv6 Small, in plaats van het hele document.
Waar het tekortschiet
Eerlijk gezegd: echte scans en foto's van documenten hebben nog steeds OCR nodig, en pdf-inspector is daar geen magie; het verspilt gewoon geen OCR aan bestanden die het niet nodig hebben. Complexe lay-outs waarbij formules en typografie worden gemengd met tekst kunnen ook problemen opleveren. En het is een bibliotheek, geen kant-en-klare service: je moet een stukje code schrijven om het te gebruiken.

Er zijn bindingen voor Python, Node.js en browser WebAssembly - dezelfde Rust-parser draait rechtstreeks in de browser, zonder server. De GitHub-repo heeft al 17.000 sterren gepasseerd. Als u regelmatig PDF's aan modellen toevoegt, is het de moeite van het bekijken waard.