Firecrawl pdf-inspector otvorenog koda: PDF u Markdown u milisekundi, bez OCR-a
Firecrawl, Y Combinator startup poznat po svojim alatima za skrapiranje weba, ima pdf-inspector otvorenog koda — Rust biblioteku koja u milisekundi utvrđuje je li PDF tekstualni ili skenirani i pretvara tekstualne dokumente u čisti Markdown bez OCR-a. Prema procjeni tima, oko 54% PDF-ova u stvarnim radnim opterećenjima temelji se na tekstu, tako da je njihovo provođenje kroz spor, skup OCR besmisleno.
Ako ste ikada ubacili PDF u model — ugovor, izvješće, knjigu — znate osjećaj: datoteka se dobro otvara, ali tekst se ne kopira ili se kopira kao smeće. Klasični parseri se guše u tablicama ili guraju svaku stranicu kroz OCR, trošeći sekunde i novac. pdf-inspector pogađa upravo tu bolnu točku: brzo provjerava što je datoteka i poseže za OCR-om samo kada se radi o stvarnom skeniranju.
Prvo klasificirajte, drugo izdvojite
U jednom prolazu biblioteka razvrstava PDF u jednu od četiri vrste — na temelju teksta, skeniranog, na temelju slike ili mješovitog — i vraća ocjenu pouzdanosti od 0 do 1 plus rutu po stranici: koje stranice čitati kao tekst, koje poslati u OCR. Klasifikacija traje 10–50 milisekundi. Za tekstualne stranice zatim ekstrahira s koordinatama, fontovima i redoslijedom čitanja te ispisuje Markdown s naslovima, popisima, tablicama i vezama.
Brojke koje se ističu
Na opendataloader-bench korpusu od 200 PDF-ova, pdf-inspector obradio je cijeli skup za 0,47 sekundi. Za usporedbu: pymupdf4llm je trajao 17 sekundi, markitdown 16 sekundi. I dalje je postigao najvišu ocjenu kvalitete — 0,875 ukupno naspram 0,735 za pymupdf4llm i 0,589 za markitdown. Tablice su gdje stvarno vuče naprijed: 0,814 naspram 0,401 i 0,273.
Što još radi
Izgledi novina s više stupaca, tekst zdesna nalijevo, CID fontovi, otkrivanje pokvarenog kodiranja. I selektivni OCR: ako PDF ima nekoliko skeniranih stranica pomiješanih, možete pokrenuti samo one kroz OCR lokalno putem PP-OCRv6 Small, umjesto cijelog dokumenta.
Gdje ne uspijeva
Iskreno: pravim skeniranjima i fotografijama dokumenata i dalje je potreban OCR, a pdf-inspector tu nije magija — samo ne troši OCR na datoteke koje ga ne trebaju. Složeni izgledi u kojima su formule i slaganje teksta pomiješani s tekstom također mogu izazvati probleme. I to je biblioteka, a ne gotova usluga: morat ćete napisati malo koda da biste je koristili.

Postoje vezanja za Python, Node.js i preglednik WebAssembly — isti Rust parser radi izravno u pregledniku bez poslužitelja. GitHub repo već je prešao 17.000 zvjezdica. Ako redovito šaljete PDF-ove modelima, vrijedi pogledati.