Zdarza się, że w pliku PDF znajdują się zeskanowane strony, zapisane w formacie JPG. W dokumencie takim nie ma możliwości skorzystania z możliwości jego przeszukania lub indeksowania treści (tak to już bywa z grafiką). W znaczącym stopniu obniża to użyteczność takiego dokumentu. Istnieją jednak aplikacje, które potrafią rozpoznać tekst w takim dokumencie (wykorzystując OCR) oraz dodać przezroczystą warstwę w dokumencie, w której zostanie on umieszczony. Pozwoli to z jednej strony na przeszukanie dokumentu a z drugiej zostanie zachowana jego struktura. Jest to prostsze rozwiązanie niż rozpoznanie całej struktury dokumentu, łącznie z formatowaniem.
Jedną z takich aplikacji jest pdfocr
. Automatycznie rozpoznaje tekst znajdujący się w pliku PDF i dodaje go do tego pliku.
Czym jest pdfocr
Aplikacja pdfocr
jest skryptem napisanym w Ruby, który łączy kilka aplikacji w celu rozpoznania tekstu w dokumencie PDF.
W poszczególnych krokach aplikacja robi:
- przy użyciu
pdftk
dzieli plik PDF na pojedyncze strony - przy użyciu
pdfimages
wyodrębnia dane graficzne - rozpoznaje tekst za pomocą aplikacji
cuneiform
- rozpoznany tekst jest dodawany do pliku PDF przy użyciu
hocr2pdf
- łączy wszystkie pliki za pomocą
pdftk
Instalacja aplikacji pdfocr
W przypadku Ubuntu należy dodać odpowiednie repozytorium:
sudo aptitude update
sudo aptitude install pdfocr
Po tych krokach aplikacja powinna zostać zainstalowana wraz z koniecznymi zależnościami.
Rozpoznanie teksty w pliku PDF
Rozpoznanie tekstu jest proste:
Po zakończeniu działania, powinniśmy mieć plik PDF z załączonym rozpoznanym tekstem. Domyślnie używanym językiem użytym do rozpoznania tekstu jest język angielski. Można go zmienić używając przełącznika -l
, wartości jakie może on przyjąć są zależne od języków obsługiwanych przez aplikację cuneiform
:
Cuneiform for Linux 0.9.0
Supported languages: eng ger fra rus swe spa ita ruseng ukr srp hrv pol dan por dut cze rum hun bul slo lav lit est tur.
Niestety, przynajmniej w moim przypadku, jakość działania moduły OCR jest ledwie zadowalająca. W kilku dokumentach które sprawdzałem wiele słów nie zostało rozpoznanych poprawnie. Nawet pomimo tego, aplikacja może być przydatna, przynajmniej daje szansę na odszukanie jakieś informacji w tekście.