1
0
Fork 0

optimisation mineure de la commande GS et corrections mineures

This commit is contained in:
mregg-9182 2021-08-07 00:19:18 +02:00
parent 86227c46ba
commit 9c6d2db6fb
1 changed files with 6 additions and 8 deletions

View File

@ -93,16 +93,14 @@ parse_params() {
# vérifie les logiciels prérequis # vérifie les logiciels prérequis
check_deb_pkg() { check_deb_pkg() {
dpkg --version &>/dev/null \ dpkg --version &>/dev/null || die "${RED}Erreur : Le gestionnaire de paquet 'dpkg' n'est pas présent sur ce système (utilisez Ubuntu, Linux Mint ou Debian).${NOFORMAT}"
|| die "${RED}Erreur : Le gestionnaire de paquet 'dpkg' n'est pas présent sur ce système (utilisez Ubuntu, Linux Mint ou Debian).${NOFORMAT}"
required_pkg='' required_pkg=''
for pkg in "$@"; do for pkg in "$@"; do
dpkg -s $pkg &>/dev/null || required_pkg="$required_pkg $pkg" dpkg -s $pkg &>/dev/null || required_pkg="$required_pkg $pkg"
done done
[[ -z $required_pkg ]] || die "${RED}Erreur : Ce script requiert certains logiciels pour fonctionner. \ [[ -z $required_pkg ]] || die "${RED}Erreur : Ce script requiert certains logiciels pour fonctionner. Exécutez la commande suivante pour le/les installer :
Exécutez la commande suivante pour le/les installer :
sudo apt-get update && sudo apt-get install$required_pkg${NOFORMAT}" sudo apt-get update && sudo apt-get install$required_pkg${NOFORMAT}"
} }
@ -146,15 +144,15 @@ msg "Résolution sélectionnée : $resolution DPI"
# création du nouveau fichier sans watermark # création du nouveau fichier sans watermark
ofile_index=0 ofile_index=0
for ifile in "${input_files[@]}"; do for ifile in "${input_files[@]}"; do
msg "${GREEN}Traitement du fichier '$ifile'.${NOFORMAT}" msg "${GREEN}Début du traitement du fichier '$ifile'.${NOFORMAT}"
inputfile_dir=$(dirname "$ifile") inputfile_dir=$(dirname "$ifile")
tmp_dir=$(mktemp --directory --tmpdir="$inputfile_dir" .watermark_remover_XXXXXXXXXX) tmp_dir=$(mktemp --directory --tmpdir="$inputfile_dir" .watermark_remover_XXXXXXXXXX)
inputfile_wo_ext=$(echo "$ifile" | rev | cut -d_ -f2- | rev) inputfile_wo_ext=$(echo "$ifile" | rev | cut -d. -f2- | rev)
tmpfiles_prefix=$tmp_dir/$(basename "$inputfile_wo_ext") tmpfiles_prefix=$tmp_dir/$(basename "$inputfile_wo_ext")
msg "Réécriture du document PDF dans un nouveau fichier (ça peut prendre beaucoup de temps)..." msg "Réécriture du document PDF dans un nouveau fichier (ça peut prendre beaucoup de temps)..."
gs -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -dPDFSETTINGS=/$pdf_quality -dCompatibilityLevel=1.7 -sOutputFile="${tmpfiles_prefix}_1.pdf" "$ifile" &>>$log_file gs -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -dPDFSETTINGS=/$pdf_quality -dAutoRotatePages=/None -dCompatibilityLevel=1.7 -sOutputFile="${tmpfiles_prefix}_1.pdf" "$ifile" &>>$log_file
msg "Décompression du document PDF..." msg "Décompression du document PDF..."
pdftk "${tmpfiles_prefix}_1.pdf" output "${tmpfiles_prefix}_2.pdf" uncompress verbose &>>$log_file pdftk "${tmpfiles_prefix}_1.pdf" output "${tmpfiles_prefix}_2.pdf" uncompress verbose &>>$log_file
@ -180,4 +178,4 @@ for ofile in "${output_files[@]}"; do
done done
# À faire : # À faire :
# - option pour changer l'emplacement du fichier tmp et du fichier output # - option pour changer l'emplacement du fichier tmp et du fichier output