Uncategorized

A szívás neve: pdf

Magyarországon, de a régió más országaiban is előszeretettel szolgáltatnak közérdekű adatokat .pdf formátumban a kormányzati szervek. A .pdf formátumnak a számos előnye mellett egy – az adatokkal való munka szempontjából óriási – hátránya van: az adatokat nem lehet szerkeszteni.

A közérdekű adatigénylésekre, például a KiMitTud oldalon,  a válaszok nagy része .pdf-ben érkezik, ezt a formátumot használja letölthető dokumentumai számára gyakorlatilag mindenki. Egy-egy ilyen dokumentumból nehéz, sokszor szinte lehetetlen az adatokat olyan adatcsere (machine-readable) formátumra hozni, amit már könnyen lehet szerkeszteni, megtisztítani és különféle szempontok szerint rendezni.

A jó hír az, hogy számos módszer és alkalmazás létezik az adatok .pdf dokumentumból való kinyerésére – jelen poszt ezek közül röviden bemutat néhányat, lazán követve a School of Data leírásait. A rossz hír viszont, hogy nem létezik egyetlen, minden .pdf dokumentum esetén könnyen alkalmazható, hatékony módszer.

Aki ilyesmire adja a fejét, az készüljön fel arra, hogy kísérleteznie és fórumoznia kell, sok türelem és némi minimális programozási tudás sem árt.

 

Könnyebb eleve használható adatokat kérni

A .pdf-problémát a legkönnyebben úgy meg lehet kerülni, hogy adatigénylés benyújtásakor megkérjük az adatgazdát, hogy az adatokat a .pdf dokumentum mellett adatcsere formátumban (.xls, JSON, CSV, XML) is mellékelje. Ezt az adatgazda elvben könnyen teljesítheti, hiszen ők is valamilyen szerkeszthető formátumból exportálják .pdf-be az adatokat.

Ideális esetben, ha teljesítik a kérésünket, akkor lesz egy, szépen formázott, nyomtatóbarát .pdf formátumú dokumentumunk, és egy másik dokumentumunk, mellyel dolgozni lehet.

 

A vízválasztó: kép vagy szöveg alapú?

A .pdf dokumentumok alapvetően kétfélék: kép vagy szöveges alapúak. Előbbiek rendszerint a kinyomtatott, majd beszkennelt és képként .pdf-be exportált dokumentumok – ezeket úgy lehet felismerni, hogy sem a keresés (Ctrl+F) funkció, sem pedig a kijelölés (Ctrl+C) nem működik.

A szöveges alapú dokumentumokban működik a keresés és kijelölés funkció, éppen ezért a másolás, adatcsere formátumra hozás is könnyebb.

 

Ha kép alapú a dokumentum, az OCR megoldás

Valamilyen, Optical Character Recognition (OCR) szoftver a megoldás a kép alapú dokumentumok számára. Jelenleg az ABBYY Finereader a legelterjedtebb program, előnye, hogy a magyar nyelvet is felismeri. Hátránya, hogy csak korlátozott alkalommal futtatható ingyenesen – a korlátozás nélküli használathoz meg kell vásárolni. Több ingyenes alkalmazás is létezik – ezek nagyrészt a Google tulajdonában levő Tesseract-ra épülnek.

Ha a szkennelt dokumentum rossz minőségű, gyűrött, vagy foltos, esetleg a szöveg és a fehér felület közötti kontrasztot kell kiemelni, akkor az unpaper vagy a Scan Tailor lehet megoldás.

Fontos tudni, hogy kép alapú dokumentumok esetén a munkát sosem lehet teljesen automatizálni – ha nagy számú dokumentumot készül feldolgozni, akkor jó ötlet önkénteseket bevonni.

 

Szöveg alapú dokumentum: nyert ügy?

A szöveg alapú dokumentumokból adatokat kinyerni valamivel egyszerűbb. Egy-két oldal esetén akár egy egyszerű kijelölés-másolás-beillesztés is megoldás lehet, valamivel nagyobb fájlok esetén PDF to Excel vagy az Adobe saját programja elegendő lehet – számos hasonló alkalmazás van, elég neten rákeresni.

Nagyobb volumenű munka esetén a Tabula lehet a nyerő – a program Windows és Linux alatt is fut, és ingyenes. A programozáshoz konyító felhasználók ugyanakkor scraping-gel is próbálkozhatnak – a scraperwiki pdf-tagje itt elérhető.

 

Sipos Zoltán

Megosztás