r   e   k   l   a   m   a
r   e   k   l   a   m   a

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

Strona główna Aktualności

PDF stał się standardem w wymianie dokumentów – spotkamy się z nim tak w korespondencji z firmami, jak i urzędami. Zaletę ma jedną: zapisany w nim dokument da się otworzyć na praktycznie każdym urządzeniu, z zachowaniem oryginalnego formatowania czy rozmaitych dopisków. Gdy jednak przychodzi coś z treściami w tak przesłanym dokumencie zrobić, zaczyna się płacz – nawet banalne skopiowanie tekstu to kłopot (nie zgadza się np. kodowanie znaków), zaś porządne przeniesienie treści zawartych w tabelach graniczy z niemoż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.

Tabula to aplikacja automagiczna: użytkownik wgrywa dokument PDF przez webowy interfejs, a następnie zaznacza zakres tabelarycznych treści, jakie chciałby pobrać z dokumentu. Niemal natychmiast otrzymuje HTML-ową tabelkę z zaznaczonymi danymi oraz opcje ich eksportu do formatu CSV.

Za tą magią stoi niejeden algorytm – wykorzystywane są m.in. techniki maszynowego rozpoznawania obrazu. Tabula na początku musi poradzić sobie z problemem brakujących spacji (w PDF-ach słowa oddzielane są od siebie poprzez odsunięcie ich od siebie), by zrekonstruować oryginalny ciąg słów. Później tworzona jest mapa współ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 siebie liniami, wówczas linie te wykrywa się za pomocą biblioteki OpenCV i tzw. transformacji Hougha, metody pozwalającej na wykrywanie regularnych kształtów. Jeśli jednak rozdzielenia między wierszami nie ma, algorytm wyszukuje słowa, które które nachodzą na siebie w pionowej współrzędnej. Granice wiersza są wówczas wytyczane na podstawie krawędzi danego skupiska słów. Podobnie rozpoznawane (i w razie potrzeby wytyczane) są granice kolumn.

Głównym ograniczeniem Tabuli jest niemożność zastosowania jej do skanowanych PDF-ów – jak twierdzą autorzy, darmowe rozwiązania OCR 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 wiele komórek.

Największym kłopotem z zastosowaniem Tabuli jest na razie brak zasobów autorów do udostępnienia publicznie działającej aplikacji. Trzeba sobie przygotować serwerowe środowisko z Javą, Ruby i Pythonem, tak jak zostało to opisane w 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ępnione jest na wolnej licencji MIT).

r   e   k   l   a   m   a
© dobreprogramy

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.