LinuxPdf

Come convertire Immagini in PDF con Linux


Uno dei motivi per cui mi piace Linux è che con la riga di comando ci si può veramente fare di tutto. Oggi vediamo come convertire immagini in PDF con un comando semplice e come inserire questo comando all’interno di uno script bash per poterlo richiamare quando serve. Il comando che useremo per convertire immagini in PDF è “convert”

Iniziamo… per convertire immagini in PDF il comando che useremo è convert e fa parte del pacchetto imagemagick che si installa su Ubuntu con il comando:

giuseppe@server:˜$ sudo apt-get install imagemagik

al termine dell’installazione è possibile convertire un file singolo inPDF con:

giuseppe@server:˜$ convert MiaImmagine.jpg MioFile.pdf

è possibile usare i caratteri jolly per poter convertire più immagini nello stesso file PDF:

giuseppe@server:˜$ convert Immagine*.jpg MioFile.pdf

e tramite il parametro -quality che accetta valori da 1 a 100 posso ridurre la qualità dell’immagine originale al 90%

giuseppe@server:˜$ convert Immagine.jpg -quality 90 MioFile.pdf

bene, ora che abbiamo visto come convertire immagini in PDF  con il comando convert, possiamo inserirlo all’interno di uno script un po’ più complesso che chiameremo Converti.sh la cui sintassi sarà

giuseppe@server:˜$ ./Converti_in_pdf.sh /cartella_contenente_immagini/ [qualita]

e che useremo così:

giuseppe@server:˜$ ./Converti_in_pdf.sh /cartella_immagini 90

ecco il contenuto dello script:

#!/bin/bash
TARGET_LOCATION="$1"
QUALITY="$2"
if [ "$1" = "" ] ; then
 echo "$0 /cartella_contenente_immagini/ [qualita] "
 echo "converte le immagini di una specifica cartella in pdf con qualità diverse"
 echo "[quality] - compreso tra 1 e 100, default è 100"
 exit
fi
if [ "$2" = "" ]; then
 QUALITY="100"
fi
find $TARGET_LOCATION -maxdepth 1 -type f > /tmp/tmpImgToPdf
cat /tmp/tmpImgToPdf | \
while read FILENAME; do
# echo "Convert_in_pdf '$FILENAME' -quality $QUALITY '$FILENAME.pdf'"
 BARENAME=$(echo "$FILENAME" | cut -d'.' -f1)
 EXTENSIONNAME=$(echo ${FILENAME: -4} | tr '[A-Z]' '[a-z]')
 if [[ $EXTENSIONNAME =~ jpg|png|pdf|tif ]]; then
 convert "$FILENAME" -quality $QUALITY "$BARENAME.pdf"
 fi
done
rm -f /tmp/tmpfile
exit 0

Ciao, 👋
piacere di conoscerti.

Iscriviti alla newsletter settimanale gratuita.
Certificata NO-SPAM!

Non inviamo spam! Leggi la nostra Informativa sulla privacy per avere maggiori informazioni.


Articoli correlati

Pulsante per tornare all'inizio

Adblock rilevato

per supportare il sito ti chiedo di disattivare l'Adblock