PDF-ist Markdowni teisendaja
PDF-i teksti ekstraktimine struktureeritud Markdown: tegelik pealkirja tuvastamine fondi suuruse järgi, loendi tuvastamine täppide ja taande järgi – mitte üks tasane tekstisein.
Tulemus
Lihtne „PDF-i tekstiks” tõmmis annab teile iga sõna, millel pole kujundit: lehe pealkiri loetakse täpselt nagu joonealune märkus ja täpploend muutub jooksvaks lauseks. See tööriist läheb sammu võrra kaugemale, lugedes PDF-ist iga tekstiüksuse tegeliku fondi suuruse ja asukoha – sama pdf.js-mootori kaudu, mida selle saidi muud PDF-tööriistad kasutavad – ning kasutades neid visuaalseid tõendeid struktuuri rekonstrueerimiseks: pealkirjad, loendiüksused ja lõigud, mis on välja kirjutatud Markdownina.
Tuvastamine põhineb tõeliselt mõõtmisel, mitte oletusel. Lehel olevad tekstiüksused on rühmitatud ridadeks nende vertikaalsete asukohtade lähedal, iga rea fondi suurus arvutatakse tema enda tekstirenderdusmaatriksi järgi ja seda suurust võrreldakse kogu dokumendi rea keskmise suurusega – suurusega, mida enamik ridu tegelikult kasutab, st tavaline põhitekst. Sellest mediaanist märgatavalt suurem rida muutub Markdowni päiks (suurimatest ridadest saab #, mõõdukalt suurematest ##); rida, mis algab täppmärgiga või jääb ümbritsevatest ridadest mööda, muutub loendiüksuseks `- `; kõike muud käsitletakse põhitekstina ja liidetakse lõikudeks.
See on ausalt öeldes heuristiline, mitte struktuurne parser: PDF-failid ei sisalda garanteeritud semantilist märgistust, vaid ainult visuaalseid juhiseid selle kohta, kuhu tint läheb, nii et disaineri ebatavalised fondivalikud võivad aeg-ajalt suuruste võrdlust petta ja tabelid on selgelt väljaspool rakendust – lahtripaigutus ei taandu mingilgi usaldusväärsel viisil pealkirjadeks, loenditeks või lõikudeks ja see tööriist ei pretendeeri muule. Iga leht on väljundis selgelt tähistatud jaoturiga "Page N", mis vastab selle saidi PDF-tekstiks tööriista kasutatavale kokkuleppele.
Skannitud lehti koheldakse sama ausalt kui mujal sellel saidil: lehel, mis on tegelikult vaid paberifoto, puudub üldse tekstikiht, nii et tühja jaotise vaikselt loomise asemel märgib tööriist täpselt, milliseid lehti see lugeda ei suutnud, ja osutab nende jaoks mõeldud pildi tekstiks (OCR) tööriistale. Kõik töötab teie brauseris lokaalselt – midagi ei laadita üles, leheküljepiiranguid pole ja tulemus jõuab tekstikasti, mille saate kopeerida või salvestada .md-failina, mis avaneb mis tahes Markdowni-teadlikus redaktoris.