Firecrawl open-source pdf-inspector: PDF în Markdown în milisecunde, fără OCR
Firecrawl, startup-ul Y Combinator cunoscut pentru instrumentele sale de web-scraping, are pdf-inspector cu sursă deschisă - o bibliotecă Rust care dă seama în milisecunde dacă un PDF este bazat pe text sau o scanare și transformă documentele bazate pe text în Markdown curat, fără OCR. După estimarea echipei, aproximativ 54% dintre PDF-urile din încărcăturile de lucru reale sunt bazate pe text, așa că rularea lor prin OCR lent și costisitor este inutilă.
Dacă ați introdus vreodată un PDF unui model - un contract, un raport, o carte - știți sentimentul: fișierul se deschide bine, dar textul nu se va copia sau se copiază ca gunoi. Analizoarele clasice fie se sufocă pe tabele, fie împing fiecare pagină prin OCR, ardend secunde și bani. pdf-inspector atinge exact acel punct dureros: verifică rapid ce este fișierul și ajunge la OCR doar atunci când este cu adevărat o scanare.
Clasifică mai întâi, extrage pe al doilea
Într-o singură trecere, biblioteca sortează un PDF într-unul din cele patru tipuri — pe bază de text, scanat, pe bază de imagini sau mixt — și returnează un scor de încredere de la 0 la 1 plus un traseu pe pagină: ce pagini să citească ca text, pe care să le trimită la OCR. Clasificarea durează 10-50 de milisecunde. Pentru paginile de text, extrage apoi cu coordonate, fonturi și ordine de citire și scoate Markdown cu titluri, liste, tabele și link-uri.
Cifre care ies în evidență
Pe corpus opendataloader-bench de 200 de fișiere PDF, pdf-inspector a procesat întregul set în 0,47 secunde. Pentru comparație: pymupdf4llm a durat 17 secunde, marktdown 16 secunde. Și încă a obținut cel mai mare punctaj la calitate - 0,875 în general față de 0,735 pentru pymupdf4llm și 0,589 pentru markitdown. Mesele sunt acolo unde trage cu adevărat înainte: 0,814 față de 0,401 și 0,273.
Ce mai face
Aspecte de ziare cu mai multe coloane, text de la dreapta la stânga, fonturi CID, detectarea codării întrerupte. Și OCR selectiv: dacă un PDF are câteva pagini scanate amestecate, le puteți rula numai prin OCR local prin PP-OCRv6 Small, în loc de întregul document.
Acolo unde este scurt
Sincer: scanările reale și fotografiile documentelor încă au nevoie de OCR, iar pdf-inspector nu este magic acolo - pur și simplu nu irosește OCR pe fișiere care nu au nevoie de el. Aspectele complexe în care formulele și compozițiile sunt amestecate cu text pot, de asemenea, să se declanșeze. Și este o bibliotecă, nu un serviciu gata făcut: va trebui să scrieți un pic de cod pentru a-l folosi.

Există legături pentru Python, Node.js și browser WebAssembly - același parser Rust rulează chiar în browser fără server. Repo-ul GitHub a trecut deja de 17.000 de stele. Dacă alimentați în mod regulat PDF-uri modelelor, merită să vă uitați.