Advanced Comics Converter CBZ/CBR in PDF

 

Advanced Comics Converter CBZ/CBR in PDF

Introduzione

Advanced Comics Converter (ACC) è un potente strumento professionale multipiattaforma, progettato per automatizzare la conversione di archivi digitali di fumetti in formato PDF. Lo strumento integra elaborazione parallela, validazione avanzata dei file e un’interfaccia grafica per gestire efficientemente collezioni di qualsiasi dimensione. Questo programma è l’evoluzione di comics-converter presente su GitHub, ma nella versione advanced. Ottimo se utilizzato insieme ad RCU (Rename Comics Converter). Esiste anche la versione per gli utenti Windows.

Architettura e funzionalità principali

Elaborazione parallela intelligente

ACC sfrutta GNU Parallel per processare multipli file contemporaneamente, utilizzando fino all’80% dei core disponibili. Questo approccio riduce drasticamente i tempi di conversione su collezioni estese, mantenendo la stabilità del sistema.

Validazione basata su magic bytes

Lo script implementa un controllo rigoroso delle estensioni file attraverso l’analisi dei magic bytes, correggendo automaticamente archivi con estensioni errate. Supporta:

  • ZIP/CBZ: 50 4B 03 04, 50 4B 05 06, 50 4B 07 08
  • RAR4/CBR: 52 61 72 21
  • RAR5/CBR: 06 00 00 00 52 61 72 21 1A 07 01 00
Gestione multi-tool degli archivi RAR

Per massimizzare la compatibilità con formati RAR corrotti o varianti non standard, ACC implementa una strategia di fallback sequenziale:

  1. rar con riparazione automatica (rar r -y)
  2. unar per estrazione alternativa
  3. unrar come opzione di backup
  4. 7z come ultimo tentativo
Interfaccia grafica e logging selettivo

L’integrazione con Zenity fornisce feedback visivo attraverso finestre di selezione directory e barre di progresso in tempo reale. Il sistema di logging registra esclusivamente errori critici, facilitando il debugging senza generare output ridondante.

Pipeline di conversione

Il processo di conversione segue un workflow ottimizzato:

  1. Selezione directory tramite GUI Zenity
  2. Verifica automatica delle dipendenze di sistema
  3. Scansione ricorsiva dei file CBZ/CBR
  4. Validazione e correzione delle estensioni
  5. Filtro intelligente per escludere file già convertiti
  6. Estrazione parallela degli archivi
  7. Normalizzazione immagini in formato JPG
  8. Generazione PDF individuali per pagina
  9. Merge finale con PDFtk
  10. Pulizia automatica dei file temporanei
Dipendenze core su Linux
sudo apt install imagemagick img2pdf pdftk unzip zenity coreutils parallel
Strumenti opzionali per CBR

WinRAR per Linux (ma altamente consigliato per funzionalità di riparazione):

wget https://www.win-rar.com/fileadmin/winrar-versions/rarlinux-x64-712.tar.gz
tar -xvf rarlinux-x64-712.tar.gz
cd rar/ 
sudo cp rar unrar /usr/local/bin
Installare: unar, unrar-free, p7zip-full
sudo apt install unar unrar-free p7zip-full

DOWNLOAD

 

Utilizzo base

da script
chmod +x advanced-comics-converter.sh
./advanced-comics-converter.sh
oppure il pacchetto deb
sudo dpkg -i advanced-comics-converter_2.0.0_all.deb

Selezionare la directory contenente i file tramite la finestra di dialogo. I PDF vengono generati nella stessa posizione dei file sorgente, con log degli errori in comics_converter_errors.log.

Ottimizzazione e personalizzazione

Regolazione del parallelismo

Modificare il parametro -j alla linea 338 circa:

parallel -j 50% # riduce il carico su sistemi con RAM limitata
parallel -j 100% # massimizza le prestazioni su hardware potente
parallel -j 4 # numero fisso di job simultanei

Controllo qualità immagini

Aggiungere il parametro -quality nella conversione ImageMagick (linea 180):

convert "$img" -quality 85 "$TEMPNAME"

Valori consigliati: 75-95 (bilanciamento tra dimensione file e qualità visiva).

Gestione errori e troubleshooting

Il sistema di logging strutturato registra:

  • Timestamp di esecuzione
  • Path della directory elaborata
  • Errori di estrazione per singolo file
  • Fallimenti nella conversione immagini
  • Problemi nel merge PDF
  • Statistiche riepilogative (file convertiti, saltati, falliti)

Per archivi corrotti non riparabili automaticamente:

rar r -y file_corrotto.cbr # tentativo manuale di riparazione
rar t file_corrotto.cbr # test di integrità

Considerazioni sulle prestazioni

Requisiti di sistema

  • RAM: proporzionale al parallelismo (consigliati 2GB per job)
  • Spazio disco: buffer temporaneo pari a 2x il file più grande
  • CPU: beneficio lineare fino a 8 core, miglioramenti marginali oltre

Limitazioni tecniche

  • Formati supportati limitati a CBZ (ZIP) e CBR (RAR/RAR5)
  • Conversione forzata a JPG per compatibilità PDF universale
  • Impossibilità di processare archivi protetti da password
  • Dipendenza da X11 per l’interfaccia Zenity

Conclusioni

Advanced Comics Converter rappresenta una soluzione completa per la gestione automatizzata di collezioni digitali di fumetti. La combinazione di elaborazione parallela, validazione rigorosa e riparazione automatica degli archivi lo rende uno strumento affidabile per conversioni batch su larga scala.

Il progetto è rilasciato come software libero, utilizzabile e modificabile secondo le esigenze specifiche dell’utente.

Risorse

 

DOWNLOAD

 

Advanced Comics Converter CBZ/CBR in PDF

 

Advanced Comics Converter CBZ/CBR in PDF

enjoy 😉

Convertire cbr cbz pdf con Comics Converter

 

Convertire cbr cbz pdf con Comics Converter

Convertire cbr cbz pdf con Comics Converter

Questo mio script Bash, denominato Comics Converter, è progettato per convertire file di fumetti digitali nei formati PDF. Files CBZ (ZIP) e CBR (RAR) in file PDF unificati, con le immagini interne convertite in formato JPEG. Utilizza strumenti da riga di comando comuni e la GUI Zenity per l’interazione con l’utente e la segnalazione di errori/avvisi. Questo programma è l’evoluzione di AllCbrztoPdf, creato da me qualche tempo fa, ma aveva dei limiti. Infatti a volte il programma falliva, per una serie di motivi voluti e non voluti dal creatore del file stesso, di seguito alcuni esempi:

  1. Il nome del file estratto era troppo lungo, quindi lo script falliva.
  2. Le immagini erano in jpeg, ma un paio o più erano con estensioni diverse.
  3. Alcuni files cbr erano stati rinominati (intenzionalmente a mio parere) da cbr a cbz e viceversa.
  4. Nei nomi oltre la lunghezza c’era il problema di alcuni caratteri.
  5. La sequenza nome/numero file jpg/png generava problemi di impaginazione durante la conversione.

Comics Converter risolve i problemi sopra, partendo proprio dalla base, e cioè dalla numerazione progressiva partendo da 001, ed eliminando quella iniziale. Risolve il problema della fake estensione andando a verificarla e nel caso servisse a rinominarla correttamente. Mantiene solo il nome del file originale. Comics Converter lo sto utilizzando e testando da almeno sei mesi e non ha mai fallito una conversione. Pronto a condividerlo con gli amanti dei comics 🙂

Prerequisiti

Prima di eseguire lo script, devi assicurarti di avere installato i seguenti strumenti di sistema, poiché sono richiesti dallo script:

  • pdfimages: Parte del pacchetto Poppler, utilizzato per estrarre immagini dai PDF.
  • convert: Parte di ImageMagick, utilizzato per convertire formati di immagine in JPEG.
  • img2pdf: Utilizzato per convertire le singole immagini in PDF.
  • pdftk (o equivalente se non disponibile): Utilizzato per unire i PDF delle singole pagine.
  • unzip: Utilizzato per estrarre archivi CBZ (ZIP).
  • zenity: Utilizzato per finestre di dialogo grafiche (selezione directory, errori, avvisi, info).
  • head: Utilizzato per leggere l’inizio dei file per i magic bytes.
  • xxd: Utilizzato per visualizzare i magic bytes in esadecimale.
  • unrar O 7z (p7zip): Necessari per estrarre archivi CBR (RAR).

Lo script ad ogni modo controllerà la presenza dei requisiti sopra e se mancano, avviserà l’utente tramite Zenity e uscirà.

Download
git clone https://github.com/fconidi/comics-converter.git
cd comics-converter/
chmod +x comics_converter.sh
./comics_converter.sh

SCREENCAST

enjoy 😉

 

Watermark Drag and Drop di una foto usando mogrify

 

 

 

 

Per firmare le proprie immagini si può anche usare mogrify (imagemagick), il problema è, che a secondo della personalizzazione della firma, il comando può diventare lungo, quindi per ovviare a questo, si può creare un lanciatore, dopo di chè non bisogna fare altro che appoggiare sopra le immagini. Il comando usato è il seguente:

 

 $ mogrify -font /usr/share/fonts/truetype/freefont/FreeSerif.ttf -pointsize 28 -verbose -draw "gravity SouthEast fill blue text 0,33 'edmond' fill white text 1,32 'edmond' " *.jpg

 

enjoy 😉

Trasformare un comando in una immagine

 

 

 

Ultimamente ho scritto qualcosa su imagemagick e nell'utilizzo di convert. Aggiungo anche, la possibilità di trasformare velocemente l'output di un comando in un'immagine:

 

sfondo bianco:

 

$ df -h | convert -resize 400 label:@- immagine.jpg

 

sfondo nero:

 

$ df -h | convert -resize 400 -background black -fill white label:@- immagine.jpg

 

 

enjoy 😉

 


Concatenare immagini differenti con Convert

 

 

 

 

Per concatenare immagini con risoluzione diverse, si può usare convert. Quello a cui bisogna stare attenti, sono l'altezza e la larghezza, questo a secondo se l'immagine si vuole unire in maniera orizzontale o in maniera verticale.Quindi i passi saranno due:

 

  1. dare all'immagine la stessa altezza o larghezza
  2. unire i file

 

ipotizzando di avere 3 file in una cartella:

 

Concatenare orizzontalmente:

 

$ convert *.jpg -resize x400 image.jpg && convert +append *.jpg finale.jpg

 


Concatenare verticalmente:

 

 

$ convert *.jpg -resize 400 image.jpg && convert -append *.jpg finale.jpg

 

 

 

 

chiaramente il risultato finale avrà come risoluzione la somma dei tre file, quindi conviene scalarlo:

 

 

$ convert -scale 50% finale.jpg scalato.jpg

 

 

 

enjoy 😉

Trasformare tutte le foto in bianco/nero velocemente

 

 

Un modo veloce per trasformare una cartella piena di foto in Bianco/Nero è quello di usare mogrify, avendo cura di lasciare le originali inalterate, quindi:

 

$ mkdir bianco_nero && mogrify -colorspace GRAY -path bianco_nero/ *.jpg

 

 

enjoy 😉

Avconverter nautilus-script per audio/video/immagini/text/iso

 

 

 

 

 

 

 

Avconverter a mio modesto parere è uno script eccezzionale, perchè ti mette in condizione di avere a portata di clik tutti i formati di conversione. Uno dei tanti motivi per cui anni fa scelsi di passare a Gnu/Linux fu proprio la grande libertà di personalizzazione della propria box, e questo script è proprio la dimostrazione pratica di customizzazione e potenza di un sistema unix 🙂  Avconverter si appoggia inoltre ad ffmpeg ed imagemagick, quindi è in grado di fare qualunque conversione sia audio/video che di immagini, poi addirittura sfruttando espeak converte da text a sound (come si può sentire nell'audio sopra). Credo che qualche problema ci sia invece per quanto riguarda le iso. Tutte le opzioni sono facilmente configurabili  grazie a zenity che ci mostra delle finestre di dialogo.  Comunque consiglio di provarlo.

Requisiti obbligatori e non:
 

# apt-get install xterm zenity ffmpeg imagemagick mencoder links espeak

# apt-get install gawk antiword odt2txt odt2txt nrg2iso daa2iso uif2iso acetoneiso
 

Installazione avconverter:
 

$ wget https://gnomefiles.org/CONTENT/content-files/92533-avconvert.tar.gz

$ tar -zxvf 92533-avconvert.tar.gz

$ cp avconvert ~/.gnome2/nautilus-scripts
 

a questo punto non ci resta che posizionarci su un file audio/video/immagine/testo e fare click destro ed avviare Script/avconverter.

enjoi 😉
 

Converseen-convertire 100+ formati

 

 

Ho scoperto da poco Converseen, e devo dire che è un ottimo programma, anche se, come dice lo stesso autore italiano, c'è ancora qualche bug da sistemare. Comunque può risultare molto utile nell'ottimizzazione, conversione ( oltre 100 formati) e ridimensione di un gruppo di immagini. Io l'ho installato su Debian Squeeze/Sid con:

# apt-get install qt4-qmake imagemagick libmagick++3 libmagick++-dev

$ wget https://sourceforge.net/projects/converseen/files/Converseen/Converseen%200.3/converseen_0.3.tar.bz2/download

$ tar -xvf converseen_0.3.tar.bz2

$ cd converseen_0.3

$ qmake && make

# make install