Po zeskanowaniu książki posiadamy masę plików, którą ciężko się przegląda. Korzystając z Basha oraz pakietu ImageMagick możemy w prosty sposób wygenerować książkę w formacie PDF. ImageMagick można korzystać z wiersza poleceń dlatego bardzo chętnie jest on wykorzystywany w językach skryptowych. Poprzez specjalne API dostępny jest również dla takich języków jak Perl, C, C++, Python oraz PHP.

Po zeskanowaniu kartek książki, warto będzie pliki wynikowe przekonwertować na format GIF. Format ten lepiej nadaje się do przechowywania tekstu oraz czarno-białej grafiki. Pliki ponad to będą posiadały mniejszy format.

Korzystając ze wcześniej poznanego polecenia convert, zmienimy pliki na bardziej przyjazne.

[bash]for plik in *.jpg
do
convert $plik -colors 2 -normalize -monochrome $plik.gif
done[/bash]

A na samym końcu wystarczy wydać polecenie convert *.gif ksiazka.pdf. Operacja w drugą stronę, czyli uzyskanie plików graficznych z pliku PDF jest również prosta. Posłuży nam do tego prosty skrypt:

[bash]for plik in *.pdf;
do
convert -quality 100 $plik `echo $plik | sed -e ‚s/\.pdf/-%d\.jpg/g’`
done[/bash]

W wyniku otrzymamy ponumerowane pliki JPG. Zawierać one będą w nazwie pliku numer strony.

11 Komentarze

  1. można też zapisać do tiff i przekonwertować tiff2pdf (z linii poleceń). Mam tak zrobiony "serwer skanów" generujący na żądanie pdf z zeskanowanych plików.

  2. Jest też bardzo wygodny okienkowy gscan2pdf. Można w nim skanować , a także wczytać pliki graficzne (w tym wielostronicowe tiff) i konwertować do pdf. Można też w drugą stronę, otworzyć pdf i przekonwertować do plików graficznych.

  3. Sane (okienkowe Xsane) posiada opcję zapisu do PDF, a pdftk wykorzystać można do połączenia pojedynczych plików. W przypadku książek o formacie większym niż A4 (wymiar standardowej "szyby" skanera) obrócić należy parzyste strony o 180 stopni przy pomocy pętli "for" i pdftk. Proste.

  4. Świetne, dziękuję!

    Zamiast gifa proponuję jednak użyć monochromatycznego PNG… tak po prostu, kwestia wolności. A teraz narzekanie: w Windowsie z automatu tworzone jest OCR, a co nie udaje się rozpoznać, serwowane jest jako grafika. Rzecz o wiele lepiej dzięki temu się skaluje i można kopiować mniejsze fragmenty do edytora tekstowego. Ciekawe jak ten problem można tutaj rozwiązać… ale z jakością linuksowego OCR jest słabo niestety.

Odpowiedz