jsignpdf-multi.sh
#! /bin/bash
#Autor: Cleiton Rodrigues <cleitonrdesouza@gmail.com> 2021-10-02
#instalar o jsignpdf
#no Manjaro: pikaur -S jsignpdf
#no debian:  buscar por jsignpdf no repositório
#ou baixar no site: http://jsignpdf.sourceforge.net/
#uso deste script:
#copie o script para a pasta que contem os PDFs, se necessario,
#de permissao de execucao ao script.
#Abra o terminal e execute: ./jsignpdf-multi.sh
#Dica: adicione o script ao /usr/bin/ e use como aplicativo!

#variaveis que podem ser configuradas
DIR_CERTIFICATE="/path/to/my/certificate.p12"
DIR_OUT_SIGNED="signed_docs"
#informações para assinatura
RAZAO="Estou assinando este documento."
LOCAL="Petrolina-PE"
CONTATO="cleiton@crs.eti.br"
ASSINATURA="Cleiton Rodrigues de Souza
Linha 2 assinatura
Linha 3 assinatura"
FONTE=8.0
#localização da assinatura no documento
#para ajsutar a localização utilize a versão gráfica do jsignpdf
LLX=612.01227
LLY=105.181046
URX=788.8987
URY=64.15299
PG=1
 
#Alertas
echo -e "Script ajustado para assinar certificado Cisco"
echo -e "Local atual: "$(pwd)
cd "$(pwd)"
mkdir $DIR_OUT_SIGNED
 
#solicitando senha do certificado
read -s -p "Certificate Password: " PASS_CERT
 
#listar PDFs existentes no arquivo "pdfs.txt":
ls -1 *.pdf > pdfs.txt
 
#ler linha por linha do arquivo "pdfs.txt" e assina-os:
while read line
do
 jsignpdf -kst PKCS12 \
 -ksf "$DIR_CERTIFICATE" \
 -ksp "$PASS_CERT" \
 -cl CERTIFIED_NO_CHANGES_ALLOWED \
 -ha SHA1 \
 -d ./"$DIR_OUT_SIGNED" \
 -fs $FONTE \
 -r "$RAZAO" \
 -l "$LOCAL" \
 -c "$CONTATO" \
 --l2-text "$ASSINATURA" \
 -llx $LLX \
 -lly $LLY \
 -urx $URX \
 -ury $URY \
 -pg $PG \
 -V \
 "$line"
 echo -e "Assinado: $line"
done < pdfs.txt
rm pdfs.txt