Conversion de PDF en CBZ

Ceci est une mise à jour de mon script de Compression.

Les cbz, cbr, zip et rar ne sont pas les seuls formats que l’on peut trouver pour la bandes dessinées. De nombreuses personnes utilises malheureusement le pdf. Certes il est pratique car c’est un format portable mais peu de logiciel sont complètement optimisé pour ce format. Mais le plus pénible est le fait que l’on ne peut pas modifier le fichier.
C’est pour cela que j’ai écrit un add-on pour mon script. Celui-ci utilise pdftocairo pour extraire les pages pdf pour les enregistrer en jpg puis la compression du dossier et ensuite effectuée pour donner un fichier cbz.

Le bout de code que j’ai rajouté a été écrit à partir du coude trouvé ici.

Rendez vous dans votre dossier des scripts nautilus :

 cd ~/.gnome2/nautilus-scripts

depuis Ubuntu 13.04 le répertoire Nautilus-Script ce situe dans le dossier .local, il faut donc taper cette commande :

 cd ~/.local/share/nautilus/scripts
 sudo gedit compression
    • Ensuite copiez-coller le script :

 

#!/bin/bash

#Création du menu de sélection
Selection=$(zenity --list \
	--title=Compression \
	--text "Choisissez votre format de compression" \
	--radiolist \
	--column=Choix --column="Choississez le format" --column=Description \
	--height=225 \
	--width=580 \
TRUE "Créer archive(s)’cbz’" "Format utile pour la lecture de Comics/Manga" \
FALSE "Convertir les archives cbr en cbz" "Format utile pour la lecture de Comics/Manga" \
FALSE "Créer archive(s)’cbz’ à partir d'un ’pdf’" "Format utile pour la lecture de Comics/Manga" \
FALSE "Créer archive(s)’zip’" "Format trés répandu" \
FALSE "Créer archive(s)’tar.bz2′" "Format de compresion du monde libre");

# Compresser les dossiers en cbz
if [ "$Selection" == "Créer archive(s)’cbz’" ]
then
ls -A | sed 's/\(.*\).*$/zip -r "\1.cbz" "&" /' | sh | zenity --progress --pulsate --title " Compression " --text " Création des archives en cbz "
fi

# Convertir les archives cbr en cbz
if [ "$Selection" == "Convertir les archives cbr en cbz" ]
then
echo "# Coucou"
compte=0
(for i in *.cbr
do
echo "# Traitement du fichier $i"
compte=$(($compte+1))
mkdir "`basename \"$i\" .cbr`"
echo "# Extraction de $i"
unrar x "$i" "`basename \"$i\" .cbr`"
echo "# Compression vers `basename \"$i\" .cbr`.cbz"
zip -r "`basename \"$i\" .cbr`.cbz" "`basename \"$i\" .cbr`";
rm -rf "`basename \"$i\" .cbr`"
rm -rf "`basename \"$i\" .cbr`.cbr"
done
echo "# Compression de $compte fichier(s) effectuée" )| zenity --progress --pulsate \

	--title "Conversion cbr vers cbz " \
	--text " Conversion  en cours "
fi

# Convertir des pdf en cbz
if [ "$Selection" == "Créer archive(s)’cbz’ à partir d'un ’pdf’" ]
then
mkdir "PDF_sav"
compte=0
(for i in *.pdf
do
compte=$(($compte+1))
echo "# Traitement du fichier $i"
mkdir "`basename \"$i\" .pdf`"
cp "$i" "`basename \"$i\" .pdf`/Page.pdf"
cd "`basename \"$i\" .pdf`"
echo "# Extraction de $i"
pdftocairo -jpeg Page.pdf Page
echo "# Compression vers `basename \"$i\" .pdf`.cbz"
zip -r "../`basename \"$i\" .pdf`.cbz" *.jpg;
cd ..;
rm -rf "`basename \"$i\" .pdf`"
mv "$i" PDF_sav/
done
echo "# Compression de $compte fichier(s) effectuée" )| zenity --progress --pulsate \

	--title "Conversion Pdf vers cbz " \
	--text " Conversion  en cours "
fi

# Compresser les dossiers en zip
if [ "$Selection" == "Créer archive(s)’zip’" ]
then
ls -A | sed 's/\(.*\).*$/zip -r " \1.zip " " & " /' | sh | zenity --progress --pulsate --title " Compression " --text " Création des archives en zip "
fi

# Crompresser les dossiers en tar.bz2
if [ "$Selection" == "Créer archive(s)’tar.bz2′" ]
then
ls -A | sed 's/\(.*\).*$/tar cvf " \1.tar.bz2 " & " /' | sh | zenity --progress --pulsate --title " Compression " --text " Création des archives en tar.bz2 "
fi
      • Enregistrez puis fermez.
      • Accordez les permissions d’exécution au fichier :
 sudo chmod +x compression

Il ne vous reste plus qu’à effectuer un clic droit dans un répertoire et de choisir compression dans le menu « Script ».

Edit 13/02/2016 : Rajout de la conversion cbr vers cbz.

compression

Vous aimerez aussi...

Laisser un commentaire

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

*