Kindle i komiks - jednak sympatii nie będzie [Ubuntu/Debian tips]
08.04.2013 17:32
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.