Kindle i komiks - jednak sympatii nie będzie [Ubuntu/Debian tips]
W ostatni weekend przyszedł do mnie podłamany znajomy, który jest wielkim fanem komiksów. Kilka dni wcześniej zakupił sobie czytnik e-booków Kindle, na którym planował czytać kreskowane opowiastki. Wszystko byłoby kolorowo gdyby Kindle od Amazona radził sobie z formatem CBR (Comic book archive), a nie tylko z PDF.
[join][img=3a]
Sam format CBR to nic innego jak archiwum RAR zawierające pliki obrazów w formacie PNG lub JPEG. Oprócz plików .cbr możemy także spotkać pliki .cbz (archiwum ZIP ), a także .cbt (TAR ).
No dobra - trochę teorii za nami ;)
Mając wiedzę, że to tylko archiwum możemy to z łatwością rozpakować i przekonwertować owe obrazki na pożądany portable document format. Do naszych zamiarów będziemy potrzebować kilku tooli.
- pdftk - narzędzie umożliwiające modyfikację plików pdf.
- sam2p - narzędzie umożliwiające konwertowanie rastrowych obrazów do formatu PDF
- unzip - dekompresor archiwum zip
- unrar - dekompresor archiwum rar
Aby je zainstalować w Ubuntu/Debianie musimy wykonać następujące polecenie:
sudo apt-get install pdftk sam2p unzip unrar
Gdy wszystkie narzędzia instalują się poprawnie możemy przystąpić do napisania skryptu, który przerobi nam nieszczęsnego .cbr'a.
#!/bin/bash FILE_IN=$1 #plik cbr(z)(t) przeznaczony do konwersji FILE_OUT="${1}.pdf" #stworzenie losowej nazwy katalogu w /tmp/ DIR=`mktemp`;rm -fr $DIR;mkdir $DIR; #rozpakowywujemy archwiwum echo "rozpakowywujemy archwiwum komiksu... " if file "$FILE_IN" | grep -iq rar; then unrar e -inul -y "$FILE_IN" $DIR elif file "$FILE_IN" | grep -iq zip; then unzip -qq "$FILE_IN" -d $DIR elif file "$FILE_IN" | grep -iq tar; then tar -xvf "$FILE_IN" $DIR fi #tworzymy pdfa echo "tworzymy pdfa... " #wyszukanie wszystkich plików z pożądanymi rozszerzeniami i posortowanie ich for i in `find $DIR | grep -i '\.jpg$\|\.bmp$\|\.png$\|\.tiff$' | sort`; do sam2p -j:quiet -c:dct $i $DIR/`basename ${i%.jpg}.pdf`; done #połączenie pojedyńczych plików pdf do jednego. echo "laczymy pdfy... " pdftk $DIR/*.pdf cat output "$FILE_OUT"
Po uruchomieniu skryptu czekamy ile trzeba... trwać to może dosyć długo - zależy na jakim sprzęcie uruchomiliśmy konwersje i z ilu "stron" składał się komiks.
Mniej więcej tak to się prezentuje na Kindlu. Zdjęcie pobrane z Googla, albowiem nie zdążyłem machnąć fotki jak kumpel wychodził.
Dla mnie jakość nie jest za fajna - zależy też od komiksu, czy w oryginale był kolorowy, czy też czarno-biały. Zawsze można poeksperymentować z kontrastem JPEGów, co może zwiększyć zarys na czytnikach e-ink.