Firecrawl avoimen lähdekoodin pdf-tarkistaja: PDF merkintään millisekunneissa, ei OCR
Web-kaappaustyökaluistaan tunnetussa Y Combinator -käynnistysyrityksessä Firecrawlissa on avoimen lähdekoodin pdf-inspector - Rust-kirjasto, joka selvittää millisekunneissa, onko PDF tekstipohjainen vai skannattu, ja muuttaa tekstipohjaiset asiakirjat puhtaiksi merkintöiksi ilman tekstintunnistusta. Työryhmän arvion mukaan noin 54 % todellisissa työkuormissa olevista PDF-tiedostoista on tekstipohjaisia, joten niiden suorittaminen hitaalla ja kalliilla OCR:llä on turhaa.
Jos olet joskus syöttänyt PDF-tiedoston malliin – sopimukseen, raporttiin, kirjaan – tiedät tunteen: tiedosto avautuu hyvin, mutta teksti ei kopioidu tai se kopioituu roskana. Klassiset jäsentimet joko tukahduttavat taulukoita tai työntävät jokaisen sivun OCR:n läpi polttaen sekunteja ja rahaa. pdf-inspector osuu juuri tuohon kipupisteeseen: se tarkistaa nopeasti, mikä tiedosto on, ja tavoittaa tekstintunnistusta vasta, kun se on aito skannaus.
Luokittele ensin, poista toinen
Kirjasto lajittelee PDF-tiedoston yhdellä siirrolla yhteen neljästä tyypistä – tekstipohjainen, skannattu, kuvapohjainen tai sekalainen – ja palauttaa luottamuspisteet 0–1 sekä sivukohtaisen reitin: mitkä sivut luetaan tekstinä ja mitkä lähetetään tekstintunnistusohjelmaan. Luokittelu kestää 10–50 millisekuntia. Tekstisivuille se poimii sitten koordinaatit, fontit ja lukujärjestyksen ja tulostaa Markdownin otsikoineen, luetteloineen, taulukoineen ja linkkeineen.
Numerot, jotka erottuvat joukosta
200 PDF:n opendataloader-penkkikorpuksella pdf-inspector käsitteli koko joukon 0,47 sekunnissa. Vertailun vuoksi: pymupdf4llm kesti 17 sekuntia, markitdown 16 sekuntia. Ja se sai edelleen korkeimman pistemäärän laadusta - 0,875 kokonaisarvoa vastaan 0,735 pymupdf4llm:lle ja 0,589 markitdownille. Taulukot ovat siellä, missä se todella vetää eteenpäin: 0,814 vs. 0,401 ja 0,273.
Mitä muuta se tekee
Monisarakkeiset sanomalehtiasettelut, oikealta vasemmalle kulkeva teksti, CID-fontit, rikkinäisen koodauksen tunnistus. Ja valikoiva OCR: jos PDF-tiedostossa on muutama skannattu sivu, voit suorittaa vain ne tekstintunnistuksen läpi paikallisesti PP-OCRv6 Smallin kautta koko asiakirjan sijaan.
Missä se jää alle
Rehellisesti sanottuna: asiakirjojen oikeat skannaukset ja valokuvat vaativat edelleen tekstintunnistusta, eikä pdf-inspector ole mikään taika – se ei vain tuhlaa OCR:ää tiedostoihin, jotka eivät sitä tarvitse. Monimutkaiset asettelut, joissa kaavoja ja ladontaa sekoitetaan tekstiin, voivat myös kompastua. Ja se on kirjasto, ei valmis palvelu: sinun on kirjoitettava hieman koodia käyttääksesi sitä.

Pythonille, Node.js:lle ja WebAssemblylle on sidoksia – sama Rust-jäsennin toimii suoraan selaimessa ilman palvelinta. GitHub-repo on jo ylittänyt 17 000 tähteä. Jos syötät PDF-tiedostoja säännöllisesti malleille, se kannattaa katsoa.