Uno script bash per convertire in CMYK il modello di colore di un PDF

Pubblicato da Nicola Rainiero il 09-06-2015

Capita di dover stampare per lavoro o per altre finalità uno o più poster in grande formato e come nel mio caso non si voglia rinunciare ai propri software di grafica pur cercando al tempo stesso di soddisfare quelle che sono le richieste minime della tipografia di fiducia: ovvero produrre file in CMYK. Ecco allora un mio piccolo script in bash che converte i PDF in questo modello di colore.

Per prima cosa mi preme sottolineare che non sono un professionista in questo campo e che la mia soluzione potrebbe quindi presentare diverse lacune o non essere la migliore esistente. Mi permette però di continuare ad usare programmi come Gimp e Inkscape che al momento non supportano completamente il CMYK

In secondo luogo su internet si trovano moltissime discussioni sull'opportunità o meno di convertire in CMYK soprattutto per lavori che richiedono stampe offset, ciononostante moltissime tipografie consigliano sempre di inviare i propri lavori in CMYK anche per poche stampe.

Tralasciando quindi questa querelle che non mi porta alcun vantaggio pratico, mi sono trovato nella situazione di dover produrre 7 forex di 100x70 cm e quindi mi sono dovuto porre il problema! Di solito uso l'accoppiata Gimp ed Inkscape alla quale aggiungo di tanto in tanto LaTeX con TikZ che coprono alla grande quelle che sono le mie esigenze amatoriali. In questo caso però avrei dovuto imparare ad usare altri software come Scribus. O avrei potuto seguire questa guida per portare il mio lavoro da Inkscape a Scribus e poi convertire il modello di colore. Funziona ma devo ogni volta esportare in PS e processarlo in Scribus, con l'inconveniente di perdere alle volte alcuni effetti sui testi. In poche parole troppo lavoro e troppo complicato.

A bash script to convert the color palette of a PDF into CMYK

La mia soluzione è uno scrpt in bash che lancio dopo aver realizzato il mio lavoro in PDF. Così posso continuare ad usare i miei software preferiti ed in un solo passaggio creo un altro file in CMYK e due piccoli jpeg che posso agevolmente mandare ai miei colleghi. A seguire ho messo due immagini di esempio (i PDF si trovano nella sezione Download più sotto):

  • RGB colorspace example
    RGB colorspace
  • CMYK colorspace example
    CMYK colorspace

Rimanendo nel campo delle immagini, Imagemagick offre dei pratici comandi per convertire i propri file in diversi modelli di colore, per approfondimenti consiglio questo link: Image Profiles. Se per esempio si deve convertire in uno specifico profilo come il fogra271 si può lanciare il seguente comando dal terminale:

convert yourFile.pdf -profile FOGRA27L.txt  yourFile_fogra27L.pdf

Invece con il mio script si può:

  • controllare se il file di input (yourFile.pdf) possiede già il modello di colore CMYK;
  • convertirlo in un nuovo PDF (yourFile_cmyk.pdf) in CMYK;
  • creare due jpeg:
    • yourFile.jpg con il modello di colore originale;
    • yourFile_cmyk.jpg con quello in CMYK;
  • ridurre le dimensioni dei jpeg attraverso:
    • reduction=70 #<-- la percentuale della dimensione (liberamente modificabile);
    • quality=85 #<-- da 1 a 100 (liberamente modificabile, 100 è la qualità migliore);
  • stampare i modelli di colore per tutti i file generati.

Requisiti

Per farlo funzionare bisogna avere installato:

  • Imagemagick
  • Ghostscript

Utilizzo

Semplicemente da terminale si digita il nome dello script più il nome del PDF che si vuole convertire, in questo modo:

bash pdf2cmyk yourFile.pdf

Oppure:

./pdf2cmyk yourFile.pdf

Download

Per scaricare lo zip o clonare il mio repository da GitHub clicca qui: github.com/rainnic/bash-scripts/tree/master/pdf2cmyk

Fonti

Seguono due interessanti discussioni che mi hanno aiutato a scrivere lo script:

  • 1. Imagemagick supporta i profili ICC e TXT. Ho scaricato il fogra27 da questo sito: FOGRA27



Potrebbero interessarti anche:

Nicola Rainiero

Ingegnere civile specializzato in geotecnica con l'ambizione di facilitare la propria attività lavorativa usando e creando software libero per un sapere condiviso e collettivo. Mi occupo anche di energie rinnovabili ed in particolare di geotermia a bassa entalpia. Sono da sempre appassionato di web design e modellazione 3D.