Tabula od Mozilli rozwiąże problemy z tabelami w PDF-ach

Tabula od Mozilli rozwiąże problemy z tabelami w PDF‑ach

Tabula od Mozilli rozwiąże problemy z tabelami w PDF-ach
04.04.2013 15:46

PDF stał się standardem w wymianie dokumentów – spotkamy sięz nim tak w korespondencji z firmami, jak i urzędami. Zaletę majedną: zapisany w nim dokument da się otworzyć na praktyczniekażdym urządzeniu, z zachowaniem oryginalnego formatowania czyrozmaitych dopisków. Gdy jednak przychodzi coś z treściami w takprzesłanym dokumencie zrobić, zaczyna się płacz – nawet banalneskopiowanie tekstu to kłopot (nie zgadza się np. kodowanie znaków),zaś porządne przeniesienie treści zawartych w tabelach graniczy zniemożliwością. Wszyscy, którzy odczuli jakim kłopotem potrafiąbyć dokumenty w PDF, z przyjemnością powinni powitać software'owąperełkę od Mozilli o nazwie Tabula.[img=pdf]Tabula to aplikacja automagiczna: użytkownik wgrywa dokument PDFprzez webowy interfejs, a następnie zaznacza zakres tabelarycznychtreści, jakie chciałby pobrać z dokumentu. Niemal natychmiastotrzymuje HTML-ową tabelkę z zaznaczonymi danymi oraz opcje icheksportu do formatu CSV.Za tą magią stoi niejeden algorytm – wykorzystywane są m.in.techniki maszynowego rozpoznawania obrazu. Tabula na początku musiporadzić sobie z problemem brakujących spacji (w PDF-ach słowaoddzielane są od siebie poprzez odsunięcie ich od siebie), byzrekonstruować oryginalny ciąg słów. Później tworzona jest mapawspółrzędnych każdego znaku na stronie dokumentu: za pomocąbiblioteki Apache PDFBox powstaje XML-owy opis zaznaczonej treści.Następnie do akcji wchodzi system rozpoznawania ramek. Oczywiściełatwiej jest, gdy każdy wiersz tabeli jest oddzielony od siebieliniami, wówczas linie te wykrywa się za pomocą biblioteki OpenCVi tzw. transformacjiHougha, metody pozwalającej na wykrywanie regularnych kształtów.Jeśli jednak rozdzielenia między wierszami nie ma, algorytmwyszukuje słowa, które które nachodzą na siebie w pionowejwspółrzędnej. Granice wiersza są wówczas wytyczane na podstawiekrawędzi danego skupiska słów. Podobnie rozpoznawane (i w raziepotrzeby wytyczane) są granice kolumn. Głównym ograniczeniem Tabuli jest niemożność zastosowania jejdo skanowanych PDF-ów – jak twierdzą autorzy, darmowe rozwiązaniaOCR nie są jeszcze na tyle dobre, by można było za ich pomocązautomatyzować rozpoznawanie danych. Narzędzie nie radzi sobie teżwciąż z wierszami i kolumnami rozciągającymi się na wielekomórek.[img=tabula_export]Największym kłopotem z zastosowaniem Tabuli jest na razie brakzasobów autorów do udostępnienia publicznie działającejaplikacji. Trzeba sobie przygotować serweroweśrodowisko z Javą, Ruby i Pythonem, tak jak zostało to opisanew dokumentacji. Osoby, którym nie chce się tego robić, mogąobecnie wypróbowaćdemo, do którego niestety własnego dokumentu wgrać nie można.Pozostaje więc jedynie liczyć na to, że w przyszłości jakiświększy internetowy gracz, pokroju Google'a, zechce wbudować Tabulęw swój pakiet online'owych narzędzi (oprogramowanie udostępnionejest na wolnej licencji MIT).

Źródło artykułu:www.dobreprogramy.pl
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (9)