Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Команды для ПКМ файлового менеджера Thunar для экстремального сжатия PDF  (Прочитано 1030 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн el guahiro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Команды для ПКМ файлового менеджера 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.
« Последнее редактирование: 19 Февраля 2019, 14:51:14 от el guahiro »

zse

  • Гость
             Спасибо, el guahiro, у меня не XFCE, но хотелось бы узнать, если Вы сравнивали, конечно, результаты вашей композиции как соотносятся со ставшей классокой https://launchpad.net/compress-pdf ?
             Я имею в виду лучше жмёт, хуже, качество и т.п. Если ваш вариант лучше, то есть смысл переделывать под другие DE… Вот я сжал для тестирования сравните пожалуйста.https://spaces.hightail.com/receive/8neZJ17Gyu Это вариант сжатия  по умолчанию скриптом, указанным выше.
             2019 Feb 15; 09:11 PM
« Последнее редактирование: 16 Февраля 2019, 05:10:56 от zse »

Оффлайн el guahiro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Запускаем первый скрипт, получили на выходе: test0._cmd1pdf,  444K, качество отличное,сжал сильнее классики (700K compress_test0.pdf)
Запускаем скрипт на выходе: test0._cmd2pdf, 1,1M, качество хуже, но терпимое. Сжал хуже классики.
итого:
$ ls -sh
итого 4,6M
700K compress_test0.pdf  444K test0._cmd1.pdf  1,1M test0_cmd2.pdf  2,4M test0.pdf
Результаты посмотреть: https://yadi.sk/d/nPYcNt36YFZPgA
Повторяю:
Второй скрипт не для картинок. Он для чертежей и многостраничных документов с простейшей линейной графикой. Их жмёт сурово.
Первый скрипт, как и второй. ничего общего с классикой не имеет, но жмет хорошо, в .т.ч. и картинки.
Примеры реального сжатия вторым скриптом можно посмотреть здесь https://yadi.sk/d/WuuRyaKQeUp_qw
$ ls -sh
итого 50M
2,7M АС Арзамас 15.02.19_сжат.pdf   47M АС Арзамас 15.02 исходный.pdf
Сжатие в 17,4 раза. Но обычно жмёт чертежи раза в три, максимум в пять.
Так как я строитель, то скрипты запилил исходя из суровой жизненной необходимости. Тестирую постоянно. Другие фишки (поворот, формат в размер, печать одним нажатием и т.п.) можно посмотреть на форуме xubuntu ru net, там мой ник тот же.

Искренне ваш, el guahiro.
« Последнее редактирование: 16 Февраля 2019, 09:53:50 от el guahiro »

zse

  • Гость
Так как я строитель
             Спасибо, el guahiro, хотя я уже и не строитель, а пенсионер-строитель😈 но переделаю на всякий случай под своё DE. Нужная штука! Но я ещё и djvu люблю, в последней компании, где я работал практиковалось…
             2019 Feb 16; 08:11 AM
             

Оффлайн el guahiro

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
pdf2djvu само по себе жмёт размер исходного PDF хорошо. У меня есть в коллекции ПКМ Thunar с переводом из PDF в DJVU. Утилита есть в репозиториях Xubuntu, остальных убунтоидов тоже.

 

Страница сгенерирована за 0.048 секунд. Запросов: 25.