Linux, informatique et électronique libre

PDF vers CBR ou CBZ sous Linux


Les formats CB Comics Book ont la particularité d’être bien adapté pour la lecture sur liseuse avec les logiciels dédiés au BD. Le format epub est pratique pour le texte pur, mais dès que vos pages contiennent des schémas ou des images, il faut passer en CB.

Les formats CBR ou CBZ sont en fait respectivement un fichier RAR et ZIP contenant les images de chaque page au format JPG. Pour passer d’un PDF à ces formats il faut donc extraire chaque page sous forme d’une image puis réduire sa résolution pour enfin compresser.

J’ai trouvé ces infos sur le blog de Benoit Vidis.

 

Ce script simple utilise pdftohtml puis convert un outil de imagemagick. Le seul soucis pour moi est la façon de renommer les pages, il manque un 0 pour les 9 premières pages et du coup elles sont mal classés sur ma tablette. Un petit coup de sed et j’ai rajouté quatre zéro, pour les Proustiens qui lisent des livres de plus de 1000 pages !

#!/bin/sh

mkdir "`basename \"$1\" .pdf`"
cp "$1" "`basename \"$1\" .pdf`/bd.pdf"
cd "`basename \"$1\" .pdf`"

convert -compress JPEG2000 -quality 75 $f Page.jpg

ls | sed -rn "s/^bd-([0-9]{1})_1\.jpg/mv '&' 'Page-000\1.jpg' /p" |sh
ls | sed -rn "s/^bd-([0-9]{2})_1\.jpg/mv '&' 'Page-00\1.jpg' /p" |sh
ls | sed -rn "s/^bd-([0-9]{3})_1\.jpg/mv '&' 'Page-0\1.jpg' /p" |sh

rar a "../`basename \"$1\" .pdf`.cbr" *; 
cd ..; 
rm -rf "`basename \"$1\" .pdf`"

Pour les nouveaux, il suffit de coller tout cela dans un fichier, de l’enregistrer, par exemple PDFtoCBR.sh puis de le rendre executable avec chmod +x PDFtoCBR.sh

Pour les amoureux des CBZ, j’imagine que l’usage de zip plutôt que rar doit leur convenir !



2 réflexions au sujet de « PDF vers CBR ou CBZ sous Linux »

  1. J’arrive trèèèèès longtemps après la bataille, mais je cherchais récemment un moyen de faire ca, alors merci à toi pour ton article.

    A noter, pour ton problème de page, que j’ai eu le même, mais je ne l’ai pas résolu de la même façon. Il s’avère que seq, appelé avec l’option -w générera des 0 de padding pour que le tout ait automatiquement la bonne taille

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *