Уменьшить размер файла PDF в Linux
В нашей системе Linux, если у нас есть большой файл PDF, мы можем уменьшить его размер. В этом руководстве мы рассмотрим различные способы уменьшения размера PDF или сжатия PDF-файлов в Linux.
Давайте узнаем некоторые методы командной строки и графического интерфейса для решения этой проблемы.
Утилиты командной строки для уменьшения размера файла PDF в Linux
1. Использование GhostScript
Мы можем использовать утилиту командной строки ghostscript
в Linux для сжатия PDF-файлов.
Если команда недоступна на вашем компьютере, вы можете установить ее с помощью менеджера пакетов.
Например, в 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 Option | Description |
-dPDFSETTINGS=/screen |
Has a lower quality and smaller size. (72 dpi) |
-dPDFSETTINGS=/ebook |
Has a better quality, but has a slightly larger size (150 dpi) |
-dPDFSETTINGS=/prepress |
Output is of a higher size and quality (300 dpi) |
-dPDFSETTINGS=/printer |
Output is of a printer type quality (300 dpi) |
-dPDFSETTINGS=/default |
Selects the output which is useful for multiple purposes. Can cause large PDFS. |
Я использовал приведенную выше команду для сжатия с 73 МБ до 14 МБ!
2. Используйте ps2pdf
Эта команда ps2pdf
преобразует PDF в PS, а затем обратно, в результате эффективно сжимая его.
Это может не всегда работать, но может дать очень хорошие результаты.
Формат:
ps2pdf input.pdf output.pdf
Рекомендуется использовать параметр -dPDFSETTINGS=/ebooks
, чтобы получить наилучшую производительность, поскольку электронные книги имеют наилучший размер для удобства чтения, а также достаточно малы по размеру.
ps2pdf -dPDFSETTINGS=/ebook input.pdf output.pdf
Я попробовал это на 73-мегабайтном PDF-файле, и у него были те же результаты, что и у команды ghostscript
, сжатый PDF-файл имел всего 14 МБ!
Утилиты с графическим интерфейсом для уменьшения размера файла PDF в Linux
Если вам неудобно использовать инструменты командной строки, есть альтернатива с графическим интерфейсом.
Уплотнить
Это интерфейс с графическим интерфейсом для ghostscript
, который можно установить в любом дистрибутиве Linux, поскольку он использует Python3
и его модули GTK
.
Этот пакет называется Densify и доступен здесь (ссылка на github).
Я создал простой скрипт 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, сколько вам нужно, используя графический интерфейс!
Рекомендации
- Вопрос StackOverflow об уменьшении размера PDF