Arriva il PDF con il contratto e mi chiedono di firmarlo.

Faccio presente che ho la firma digitale e che quindi posso creare un PDF con firma (PAdES) mi informano però che vogliono che dimostro di aver letto ogni pagina e, su questa, aver messo la firma.

Il PDF non è altro che una lunga tabella di oggetti che fanno parte dell'acquisto e che, giustamente, mi si chiede di verificare una alla volta.

Leggo, verifico e mi preparo la firma ma ... il fornitore vuole che ci sia l'immagine che dichiara che ho letto ogni pagina.

Decido quindi di fare l'operazione con uno script bash, pdftk e imagemagik seguendo questi passaggi

  • le pagine sono 15 e quindi con pdftk estraggo una pagina alla volta
  • convert non vuole farmi fare la conversione del pdf in jpg, quindi passo prima per il formato ppm prendendo una pagina alla volta
  • mi credo una directory dove inserire i file creati con la firma (signed)
  • attraverso imagemagik inserisco in basso a destra una immagine (in questo caso la mia firma in png con sfondo trasparente) su ogni singola pagina
  • unisco tutti i file in un solo file (documento_firmato.pdf) che andrò invece poi a firmare con firma digitale

Ecco qui lo script

for i in `seq 1 15`; 
do 
 pdftk documento.pdf cat "$i" output "$i.pdf"; 
done

for i in `seq 1 15`; 
do 
  pdftoppm $i.pdf > $i.ppm; 
done

mkdir signed

for i in `seq 1 15`; 
do 
  convert "$i.ppm" ~/Documents/me/firma.png -density 600 -quality 100  -gravity southeast -geometry +20+20 -composite signed/"$i"_signed.jpg; 
done

pdftk signed/*.pdf cat output documento_firmato.pdf