Команды для ПКМ файлового менеджера Thunar (рабочее окружение XFCE) для экстремального сжатия PDF:
Первая команда:
ps2pdf -dUseFlateCompression=true -dOptimize=true -dProcessColorModel=/DeviceRGB -dUseCIEColor=true -r72 -dDownsampleGrayImages=true -dAutoFilterColorImages=false -dDownsampleColorImages=true -dDownsampleMonoImages=true -dGrayImageDownsampleType=/Bicubic %n %n2; mv -v %n2 %n | zenity --progress --width=400 --height=100 --title="Сжимаем PDF" --text "работаю" --auto-close --pulsate;exiftool -r -overwrite_original -P -all= %N;notify-send 'Сжали PDF в три раза!'
Чтоб команда работала, требуется установка Imagemagick (обычно уже установлено) и ps2pdf, zenity и exiftool.
Условия появления команды: "Другие файлы", маска *.PDF;*.pdf
Название действия ПКМ: "Экстремальное сжатие PDF"
Иконка любая
Если сделать команду попроще:
ps2pdf -dUseFlateCompression=true -dOptimize=true -dProcessColorModel=/DeviceRGB -dUseCIEColor=true -r72 -dDownsampleGrayImages=true -dAutoFilterColorImages=false -dDownsampleColorImages=true -dDownsampleMonoImages=true -dGrayImageDownsampleType=/Bicubic %n %n2; mv -v %n2 %n
Эта команда сжимает быстро, без видимой потери качества. Легко обрабатывает большие файлы. Не удаляет текстовый слой.
Вторая команда (не годится для фотографий, т.к. режет битность картинки-подложки PDF):
Создадим скрипт compress-pdf-experimental.sh такого содержания:
#! /bin/bash
#! /bin/bash
IFS=$'\#'
for i in "$@" ; do pdftoppm -jpeg "$i" .1
for z in .1*.jpg; do convert -depth 2 "$z" "$z".png;done
convert .1*.png 2."$i"
mv 2."$i" "$i"
pdfjam --outfile "$i" --angle 0 --fitpaper true --rotateoversize true "$i"
rm .1*.jpg
rm .1*.png
done
Закрываем файл с сохранением. Потом даем ему право на выполнение, например с помощью ПКМ > разрешить выполнение в качестве программы.
ПРИМЕЧАНИЕ: В связи с некоторыми особенностями работы Imagemagick в скрипте присутствует поворот файла на 0 градусов:
pdfjam --outfile "$i" --angle 0 --fitpaper true --rotateoversize true "$i"
иначе Thunar не делает картинок предпросмотра файла PDF.
Далее, копируем скрипт в папку ~/.bash-scripts/ и создаем действия ПКМ Thunar под названием "Экстремальное сжатие PDF" на команду:
bash ~/.bash-scripts/compress-pdf-experimental.sh %n
Условия появления команды: "Другие файлы", маска *.PDF;*.pdf
Иконка любая
А если добавить красоты, то бишь свистоперделок, то выглядеть в конечном итоге команда будет так:
bash ~/.bash-scripts/compress-pdf-experimental.sh %N | zenity --progress --width=400 --height=100 --title="Сжимаем PDF" --text "работаю" --auto-close --pulsate ;exiftool -r -overwrite_original -P -all= %N;notify-send 'Сжали PDF!'
Чтоб команда работала, требуется установка Imagemagick (обычно уже установлено) и ps2pdf, pdfjam, zenity и exiftool.
Скрипт работает очень быстро и сжимает сильно, раза в три-пять, даже уже сжатые файлы. Особо разухабистые pdf файлы сжимает и в 15 раз. Команда удаляет текстовый слой.
Очень редко, но бывает, что-то идет не так, поэтому желательно сделать бэкап файла.
искренне ваш. el guahiro.