О web-разработке
и даже немного больше...

Сжатие PDF-файлов в Linux

PDF-файлы довольно широко используются в сети для обмена документами, и другой текстовой и графической информацией. Иногда может возникать необходимость уменьшения размера файлов, для более быстрой передачи, к примеру, по почте. Известно, что существуют облачные сервисы, где вы отправляете свой файл, сервис выполняет оптимизацию, и вам возвращается результат. Однако данный метод не всегда может устраивать пользователей, в связи с неизвестностью куда может этот файл попасть далее, после загрузки его на этот сервис. Поэтому, сжимать файлы локально вполне обоснованное действие в вопросе безопасности. В данном посту мы рассмотрим пример сжатия файлов в Linux.

Мы рассмотрим два способа сжатия PDF-файла, посредством командной строки и через утилиты в GUI-оболочке. В качестве операционной системе в нашем примере используется Linux CentOS 7.

Сжатие PDF-файла через командную строку

Разумеется, для сжатия PDF-файла предварительно будет необходимо установить инструмент, который позволит выполнять эту операцию. Для командной строки существует такой инструмент как Ghostscript. Данная утилита доступна для большинства дистрибутивов Linux с открытым исходным кодом. В связи с этим вы можете свободно развернуть её у себя в системе.

sudo apt install ghostscript

После того как Ghostscript был установлен в системе, вы уже можете приступать к сжатию файла на диске. Чтобы выполнить сжатие файла вам следует выполнить следующую команду:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/prepress -dNOPAUSE -dQUIET -dBATCH -sOutputFile=compressed.pdf input.pdf

Как вы можете заметить команда довольно длинная, однако пугаться вам её не стоит. Удобно будет скопировать всю строку, затем немного подправить под свои нужды. Первое что следует исправить это название файлов. Исходный файл в строке это input.pdf, сжатый файл будет создан с именем compressed.pdf. Параметр dPDFSETTINGS определяет уровень сжатия, а значит и качество сжатого файла на выходе. Поэтому вы можете выставить одно из значений, которое вам более подходит:

  • /presses (по ум.) – Высокое качество изображения, 300 точек на дюйм, размер получиться большой;
  • /ebook – Среднее качество, 150 точек на дюйм, размер получится средний;
  • /screen – Низкое качество, 72 точек на дюйм, размер будет минимальный.

Стоит понимать, что разные файлы, в зависимости от его содержимого могут сжиматься по-разному. Поэтому иногда может возникнуть ситуация, что после сжатия размер файла не сильно изменился, либо стал даже больше исходного размера. Тут уже нужно будет искать другое решение.

Сжатие PDF-файла через графический интерфейс

Данный метод тоже может быть эффективным при необходимости сжатия файла в Linux-системе где есть поддержка графического интерфейса. Для этого вам помогут PDF-редакторы, которые так же умеют сживать файлы. Давайте рассмотрим один из популярных инструментов, которым вы можете воспользоваться.

Для GUI оболочки есть такая программа Panos которая основана на Python-Qt для Ghostdcript. Используя эту программу с пользовательским интерфейсом, вы можете выполнить сжатие файла. Уровень сжатия так же настраивается в интерфейсе, и вы можете выбрать более подходящий для вас. Сжатый файл будет размещён в той же директории что и исходный файл, с переименованием. Исходный файл при этом будет оставлен без изменений.

Новые решения появляются довольно часто, и если вы не нашли ничего подходящего, то вам стоит пробовать другие PDF-редакторы, которые в большинстве своём умеют оптимизировать файлы PDF.

Опубликован: 20.05.2020 г.

См. также:

Установка и использование FFmpeg в CentOS 7
Установка Node.js на Linux CentOS 7
Обновление пакетов в CentOS
Bash: mail: command not found
Выставляем временную зону в CentOS 7
Настройка SELinux, включение, отключение
Меняем пароль root в MySQL 5.7
Установка и настройка mSMTP на Linux

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта