Firecrawl pdf-inspektör med öppen källkod: PDF till Markdown på millisekunder, ingen OCR
Firecrawl, Y Combinator-starten som är känd för sina webbskrapningsverktyg, har pdf-inspector med öppen källkod – ett Rust-bibliotek som på millisekunder tar reda på om en PDF är textbaserad eller en skanning, och förvandlar textbaserade dokument till ren Markdown utan någon OCR. Enligt teamets uppskattning är cirka 54 % av PDF-filerna i verkliga arbetsbelastningar textbaserade, så att köra dem genom långsam, dyr OCR är meningslöst.
Om du någonsin har matat en PDF till en modell - ett kontrakt, en rapport, en bok - vet du känslan: filen öppnas bra, men texten kopieras inte, eller så kopieras den som skräp. Klassiska tolkare kväver antingen bord eller trycker igenom varje sida genom OCR, vilket bränner sekunder och pengar. pdf-inspector träffar precis den smärtpunkten: den kontrollerar snabbt vad filen är, och når endast OCR när det är en genuin skanning.
Klassificera först, extrahera sedan
I ett enda pass sorterar biblioteket en PDF i en av fyra typer — TextBased, Scanned, ImageBased eller Mixed — och returnerar en konfidenspoäng från 0 till 1 plus en rutt per sida: vilka sidor som ska läsas som text, vilka som ska skickas till OCR. Klassificeringen tar 10–50 millisekunder. För textsidor extraheras den sedan med koordinater, typsnitt och läsordning och matar ut Markdown med rubriker, listor, tabeller och länkar.
Siffror som sticker ut
På opendataloader-bänkkorpusen med 200 PDF-filer bearbetade pdf-inspector hela uppsättningen på 0,47 sekunder. Som jämförelse: pymupdf4llm tog 17 sekunder, markitdown 16 sekunder. Och det fick fortfarande högsta poäng på kvalitet - 0,875 totalt jämfört med 0,735 för pymupdf4llm och 0,589 för markitdown. Tabellerna är där det verkligen drar framåt: 0,814 mot 0,401 och 0,273.
Vad gör den annars
Tidningslayouter med flera kolumner, text från höger till vänster, CID-teckensnitt, upptäckt av trasig kodning. Och selektiv OCR: om en PDF har några skannade sidor blandade kan du bara köra dem genom OCR lokalt via PP-OCRv6 Small, istället för hela dokumentet.
Där det kommer till korta
Ärligt talat: riktiga skanningar och foton av dokument behöver fortfarande OCR, och pdf-inspektören är inte magi där – den slösar bara inte bort OCR på filer som inte behöver det. Komplexa layouter där formler och typsättning blandas med text kan också snubbla upp det. Och det är ett bibliotek, inte en färdig tjänst: du måste skriva lite kod för att använda den.

Det finns bindningar för Python, Node.js och webbläsaren WebAssembly — samma Rust-parser körs direkt i webbläsaren utan server. GitHub-repo har redan passerat 17 000 stjärnor. Om du regelbundet matar PDF-filer till modeller är det värt en titt.