Creare un file pdf a partire da immagini jpeg 6 Novembre 2007
Posted by fripp in Bash, Informatica, Scripting.Tags: bash, immagini, open source, script
trackback
Ritorno dall’assenza forzata (un fulmine ha scassato tutto ciò che di elettronico ho in casa) con qualcosa che mi è servita molto in questi ultimi tempi.
Ecco uno scriptino bash che permette di creare un “libricino” pdf a partire dai file jpeg contenuti nella working directory. Nello script ho fatto uso dell’utility di conversione delle immagini “convert”, che fa parte della suite software ImageMagick.
Ecco il codice:
#!/bin/sh
if [ $# -ne 1 ]
then
name=`basename $0`
echo "usage: $name output_filename.pdf"
exit -1
fi
pdffile=$1
#verifica l'esistenza del file pdf
#se esiste esce
if [[ -f $pdffile ]]
then
echo "$pdffile esiste"
exit -1
fi
#crea una directory temporanea
temp_dir_nome=$(mktemp -d)
#con questo ciclo for converto ciscuna immagine della dir corrente in pdf mediante il comando convert
#specifico che le pagine pdf dovranno esser in formato A4
for i in $(ls *.j*pg)
do
var=${i//.j*pg/.pdf}
echo "Converting $i ——–> $var"
convert -page A4+0+0 -density 72 $i $temp_dir_nome/$var
if [[ -e $temp_dir_nome/$var ]]; then echo -e "$i converted\n\n";fi;
done
#Creo la string vuota input
input=""
#Con questo ciclo accodo alla stringa input i nomi dei file in pdf che formeranno il mio volumetto
for i in $(ls $temp_dir_nome/)
do
input="$input $temp_dir_nome/$i"
done
echo -e "Merging pdf"
#Uso il GhostScript per creare il mio file pdf
eval gs -q -dBATCH -dSAFER -dMaxBitmap=500000000 \
-dNOPAUSE -dAlignToPixels=0 -sDEVICE=pdfwrite \
-dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r72×72 \
-sOutputFile=$pdffile $input
rm -r $temp_dir_nome
Il file sorgente si trova qui.















Commenti»
No comments yet — be the first.