fix de la commande sed et améliorations mineures
This commit is contained in:
parent
9c6d2db6fb
commit
e4c482e33a
@ -5,7 +5,7 @@ trap unexpected_error SIGINT SIGTERM ERR
|
||||
|
||||
usage() {
|
||||
cat <<EOF
|
||||
Usage: ./$(basename "${BASH_SOURCE[0]}") [-h] [-v] [-n] [-r <valeur_DPI>] <fichier_PDF1> [<fichier_PDF2>...]
|
||||
Usage: ./$(basename "${BASH_SOURCE[0]}") [-h] [-d] [-n] [-r <valeur_DPI>] <fichier_PDF1> [<fichier_PDF2>...]
|
||||
|
||||
Ce script supprime les watermarks contenus dans certains fichiers PDF.
|
||||
|
||||
@ -15,7 +15,7 @@ Options disponibles:
|
||||
-d, --debug Active le mode debug (un fichier log est alors créé dans /tmp)
|
||||
-n, --no-color Désactive la coloration des messages dans le terminal
|
||||
-r, --resolution Résolution en DPI du nouveau document PDF (par défaut: 300 DPI)
|
||||
Seulement ces valeurs en sont supportées : '72', '150' ou '300'
|
||||
Seules ces valeurs sont supportées : '72', '150' ou '300'
|
||||
Exemple : ./$(basename "${BASH_SOURCE[0]}") -r 150 file.pdf
|
||||
EOF
|
||||
exit
|
||||
@ -25,9 +25,9 @@ unexpected_error() {
|
||||
trap - SIGINT SIGTERM ERR
|
||||
|
||||
if [[ -z ${NOFORMAT+x} ]]; then
|
||||
msg "[Fatal] Une erreur inattendue s'est produite."
|
||||
msg "[Critique] Une erreur inattendue s'est produite."
|
||||
else
|
||||
msg "${PURPLE}[Fatal] Une erreur inattendue s'est produite.${NOFORMAT}"
|
||||
msg "${PURPLE}[Critique] Une erreur inattendue s'est produite.${NOFORMAT}"
|
||||
fi
|
||||
|
||||
[[ -z ${tmp_dir+x} ]] || cleanup # si la variable 'tmp_dir' n'est pas déclarée, ça n'exécute pas le nettoyage
|
||||
@ -38,6 +38,12 @@ unexpected_error() {
|
||||
cleanup() {
|
||||
msg "Nettoyage des fichiers temporaires..."
|
||||
|
||||
if [[ -z $tmp_dir ]] && [[ -z ${NOFORMAT+x} ]]; then
|
||||
die "[Critique] La variable 'tmp_dir' est vide pour une raison anormale."
|
||||
elif [[ -z $tmp_dir ]]; then
|
||||
die "${PURPLE}[Critique] La variable 'tmp_dir' est vide pour une raison anormale.${NOFORMAT}"
|
||||
fi
|
||||
|
||||
rm -f $tmp_dir/*
|
||||
rmdir $tmp_dir
|
||||
|
||||
@ -159,7 +165,7 @@ for ifile in "${input_files[@]}"; do
|
||||
|
||||
msg "Suppression du watermark..."
|
||||
# source de cette commande `sed` : https://stackoverflow.com/a/37681075
|
||||
sed -i '/{^1 0 0 1 5 5 Tm$/{:a;N;/^ET$}/!ba};/^\(.*\)Tj$/d' "${tmpfiles_prefix}_2.pdf" &>>$log_file
|
||||
sed -ri '/^\(.+\\n.+\\r.+\)Tj$/d' "${tmpfiles_prefix}_2.pdf" &>>$log_file
|
||||
|
||||
msg "Recompression du document PDF..."
|
||||
pdftk "${tmpfiles_prefix}_2.pdf" output "${inputfile_wo_ext}_sansWatermark.pdf" compress verbose &>>$log_file
|
||||
@ -179,3 +185,5 @@ done
|
||||
|
||||
# À faire :
|
||||
# - option pour changer l'emplacement du fichier tmp et du fichier output
|
||||
# - vérifier si fonction unexpected_error est écrite correctement avec le exit 1 à la fin et pas un die
|
||||
# - vérifier si utilisation de ${VAR+x} est bien justifié
|
||||
|
Loading…
Reference in New Issue
Block a user