Assinatura de documentos PDF em lote via Bash
Parte 3: Script Final
#!/bin/bash
# source files
SOURCE="$HOME/bin/assinatura_automatica";
# collect current date, command expansion for date
data=$(LC_TIME=pt_BR.utf8 date "+%A, %d de %B de %Y (%T)");
# add date into signature file, svg files are in fact xml
sed "s/DATE/$data/"
"${SOURCE}/source assinatura.svg"
> "${SOURCE}/assinatura s.svg";
sed "s/DEPT/${1}/"
"${SOURCE}/assinatura s.svg"
> "${SOURCE}/assinatura.svg";
# create pdf signature file, using imagemagick library
convert -density 300
-transparent white
"${SOURCE}/assinatura.svg"
"${SOURCE}/assinatura.pdf";
# move the input forward
shift;
# add signature into file, pdftk library
for file in "${@}"; do
pdftk "${file}" stamp "${SOURCE}/assinatura.pdf" output "${file%pdf}assn.pdf";
done;
exit 0;
O script final é um pouco mais complicado pois coloquei os templates em um diretório separado na minha home de modo que eu possa utilizar o script de qualquer lugar em meu sistema.
A utilização final é:
assinar departamento *.pdf
Isso deve assinar todos os PDFs do diretório em um golpe só.