Inspektor plików PDF Firecrawl typu open source: PDF do Markdown w milisekundach, bez OCR
Firecrawl, start-up Y Combinator znany z narzędzi do przeglądania stron internetowych, ma inspektora pdf o otwartym kodzie źródłowym — bibliotekę Rust, która w ciągu milisekund sprawdza, czy plik PDF jest tekstowy, czy skanowany, i zamienia dokumenty tekstowe w czysty Markdown bez żadnego OCR. Według szacunków zespołu około 54% plików PDF w rzeczywistych obciążeniach to pliki tekstowe, więc poddawanie ich powolnemu i kosztownemu OCR nie ma sensu.
Jeśli kiedykolwiek przesyłałeś modelowi plik PDF — umowę, raport, książkę — znasz to uczucie: plik otwiera się poprawnie, ale tekstu nie można skopiować lub kopiuje się jako śmieci. Klasyczne parsery albo dławią się tabelami, albo przepuszczają każdą stronę przez OCR, tracąc sekundy i pieniądze. pdf-inspector trafia dokładnie w ten bolesny punkt: szybko sprawdza, jaki jest plik i sięga po OCR tylko wtedy, gdy rzeczywiście jest to skan.
Najpierw klasyfikuj, wyodrębnij jako drugie
W jednym przebiegu biblioteka sortuje plik PDF na jeden z czterech typów — oparty na tekście, zeskanowany, oparty na obrazie lub mieszany — i zwraca współczynnik pewności od 0 do 1 plus trasę na stronę: które strony przeczytać jako tekst, a które wysłać do OCR. Klasyfikacja trwa 10–50 milisekund. W przypadku stron tekstowych wyodrębnia następnie współrzędne, czcionki i kolejność czytania, a następnie generuje Markdown z nagłówkami, listami, tabelami i łączami.
Liczby, które się wyróżniają
Na korpusie opendataloader-bench składającym się z 200 plików PDF, pdf-inspector przetworzył cały zestaw w 0,47 sekundy. Dla porównania: pymupdf4llm zajęło 17 sekund, markitdown 16 sekund. Nadal uzyskał najwyższy wynik pod względem jakości — ogólnie 0,875 w porównaniu do 0,735 w przypadku pymupdf4llm i 0,589 w przypadku markitdown. Stoły są tam, gdzie naprawdę można uzyskać przewagę: 0,814 w porównaniu z 0,401 i 0,273.
Co jeszcze robi
Wielokolumnowe układy gazet, tekst pisany od prawej do lewej, czcionki CID, wykrywanie uszkodzonego kodowania. I selektywny OCR: jeśli plik PDF zawiera kilka zeskanowanych stron, możesz uruchomić lokalnie OCR tylko te strony za pośrednictwem PP-OCRv6 Small, zamiast całego dokumentu.
Gdzie brakuje
Szczerze mówiąc: prawdziwe skany i zdjęcia dokumentów nadal wymagają OCR, a inspektor pdf nie jest tam magią — po prostu nie marnuje OCR na pliki, które go nie potrzebują. Złożone układy, w których formuły i skład są wymieszane z tekstem, również mogą powodować problemy. I jest to biblioteka, a nie gotowa usługa: aby z niej skorzystać, musisz napisać trochę kodu.

Istnieją powiązania dla Pythona, Node.js i WebAssembly przeglądarki — ten sam parser Rusta działa bezpośrednio w przeglądarce, bez serwera. Repozytorium GitHub przekroczyło już 17 000 gwiazdek. Jeśli regularnie przesyłasz modelom pliki PDF, warto się temu przyjrzeć.