Как уменьшить размер файла PDF в Linux
Без категорий | Комментировать запись
Иногда, работая с большими файлами PDF в системе Linux, у нас возникает необходимость уменьшить их. В этом руководстве мы рассмотрим различные способы уменьшения или сжатия PDF-файлов в Linux, включая некоторые методы командной строки и графического интерфейса.
Читайте также: Сжатие изображений при помощи CLI и GUI
Утилиты для уменьшения размера файлов PDF в Linux
GhostScript
В Linux для сжатия PDF-файлов vj;yj использовать утилиту командной строки ghostscript.
Если команда недоступна на вашем компьютере, вы можете установить ее с помощью менеджера пакетов.
Например, в Ubuntu вы можете использовать apt:
sudo apt install ghostscript
Эта волшебная команда может сжимать PDF-файлы до читабельного качества:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
Вместо output.pdf и input.pdf укажите имена соответствующих файлов.
В таблице ниже представлены различные флаги параметра -dPDFSETTINGS. Используйте их в соответствии с вашими потребностями.
Опция |
Описание |
-dPDFSETTINGS=/screen | Более низкое качество и меньший размер. (72 т/д) |
-dPDFSETTINGS=/ebook | Лучшее качество, но чуть больший размер (150 dpi) |
-dPDFSETTINGS=/prepress | Вывод имеет более высокий размер и качество (300 dpi) |
-dPDFSETTINGS=/printer | Качество вывода подходит для принтерной печати (300 dpi) |
-dPDFSETTINGS=/default | Выбирает вывод, который подходит для нескольких целей, однако может создавать большие PDF-файлы. |
Мы использовали приведенную выше команду для сжатия файла объемом 73 МБ до 14 МБ.
Утилита ps2pdf
Команда ps2pdf преобразует файл PDF в PS, а затем обратно, в результате эффективно сжимая его.
Это не всегда срабатывает, но иногда дает очень хорошие результаты.
Синтаксис выглядит так:
ps2pdf input.pdf output.pdf
Чтобы получить наилучшую производительность, рекомендуем использовать параметр -dPDFSETTINGS=/ebooks, поскольку электронные книги имеют самый удобный для чтения размер, а также занимают достаточно мало места.
ps2pdf -dPDFSETTINGS=/ebook input.pdf output.pdf
Мы применили эту команду к PDF-файлу размером 73 МБ и получили те же результаты, что и с командой ghostscript: сжатый PDF-файл был размером всего 14 МБ!
Графические утилиты для уменьшения PDF-файлов в Linux
Если вам неудобно использовать инструменты командной строки, вы можете прибегнуть к альтернативным инструментам с графическим интерфейсом.
Densify
Densify — это графический интерфейс для ghostscript, который можно установить в любом дистрибутиве Linux, поскольку он использует Python3 и его модули GTK.
Этот пакет доступен здесь.
Мы создали простой bash-скрипт для выполнения всей необходимой работы. Запустите этот bash-скрипт от имени пользователя root, чтобы связать и загрузить необходимые файлы.
#!/bin/bash #- HELPER SCRIPT FOR DENSIFY #- original package https://github.com/hkdb/Densify #- script author Vijay Ramachandran #- site https://journaldev.com #- # Go to your home directory (preferred) cd $HOME # Download the package git clone https://github.com/hkdb/Densify cd Densify # Queue must be changed to queue in the file. # Will not work otherwise sed -i 's/Queue/queue/g' $PWD/densify # Create the symlink to /opt sudo ln -s $PWD /opt/Densify # Perform the install cd /opt/Densify sudo chmod 755 install.sh sudo ./install.sh # Export to PATH if [ $SHELL == "/bin/zsh" ]; then if test -f $HOME/.zshrc; then echo 'export PATH=/opt/Densify:$PATH' >> $HOME/.zshrc source $HOME/.zshrc else echo "No zshrc Found! Please create a zsh config file and try again" fi else if [ $SHELL == "/bin/bash" ]; then if test -f $HOME/.bashrc; then echo 'export PATH=/opt/Densify:$PATH' >> $HOME/.bashrc source $HOME/.bashrc else if test -f $HOME/.bash_profile; then echo 'export PATH=/opt/Densify:$PATH' >> $HOME/.bash_profile source $HOME/.bash_profile else echo "No bashrc Found! Please create a bash config file and try again" fi fi else echo "Default Shell is not zsh or bash. Please add /opt/Densify to your PATH" fi fi
Если при этом не возникает ошибок, просто введите приведенную ниже команду из opt/densify, чтобы запустить графический интерфейс, или откройте его через панель.
densify
С помощью данного графического интерфейса вы можете сжимать любое необходимое вам количество PDF-файлов.
Дополнительную полезную информацию о сжатии вы найдете здесь.