- How to Compress PDF in Linux [GUI & Terminal]
- Method 1: Reduce PDF file size in Linux command line
- Method 2: Compress PDF files in Linux using GUI tool
- Уменьшить размер файла PDF в Linux
- Утилиты командной строки для уменьшения размера файла PDF в Linux
- 1. Использование GhostScript
- 2. Используйте ps2pdf
- Утилиты с графическим интерфейсом для уменьшения размера файла PDF в Linux
- Уплотнить
- Рекомендации
- Как сжать PDF в Linux [GUI & Терминал]
- Способ 1: уменьшить размер файла PDF с помощью командной строки в Linux
- Способ 2. Сжатие PDF-файлов в Linux с помощью инструмента с графическим интерфейсом
How to Compress PDF in Linux [GUI & Terminal]
I was filling some application form and it asked to upload the necessary documents in PDF format. Not a big issue. I gathered all the scanned images and combined them in one PDF using gscan2pdf tool.
The problem came when I tried to upload this PDF file. The upload failed because it exceeded the maximum file size limit. This only meant that I needed to somehow reduce the size of the PDF file.
Now, you may use an online PDF compressing website but I don’t trust them. A file with important documents uploading to an unknown server is not a good idea. You could never be sure that they don’t keep a copy your uploaded PDF document.
This is the reason why I prefer compressing PDF files on my system rather than uploading it to some random server.
In this quick tutorial, I’ll show you how to reduce the size of PDF files in Linux. I’ll show both command line and GUI methods.
Method 1: Reduce PDF file size in Linux command line
You can use Ghostscript command line tool for compressing a PDF file. Most Linux distributions include the open source version of Ghostscript already. However, you can still try to install it just to make sure.
On Debian/Ubuntu based distributions, use the following command to install Ghostscript:
sudo apt install ghostscript
Now that you have made sure that Ghostscript is installed, you can use the following command to reduce the size of your PDF file:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/prepress -dNOPAUSE -dQUIET -dBATCH -sOutputFile=compressed_PDF_file.pdf input_PDF_file.pdf
In the above command, you should add the correct path of the input and out PDF file.
The command looks scary and confusing. I advise copying and pasting most of it. What you need to know is the dPDFSETTINGS parameter. This is what determines the compression level and thus the quality of your compressed PDF file.
dPDFSETTINGS | Description |
/prepress (default) | Higher quality output (300 dpi) but bigger size |
/ebook | Medium quality output (150 dpi) with moderate output file size |
/screen | Lower quality output (72 dpi) but smallest possible output file size |
Do keep in mind that some PDF files may not be compressed a lot or at all. Applying compression on some PDF files may even produce a file bigger than the original. There is not much you can do in such cases.
Method 2: Compress PDF files in Linux using GUI tool
I understand that not everyone is comfortable with command line tool. The PDF editors in Linux doesn’t help much with compression. This is why we at It’s FOSS worked on creating a GUI version of the Ghostscript command that you saw above.
Panos from It’s FOSS team worked on creating a Python-Qt based GUI wrapper for the Ghostscript. The tool gives you a simple UI where you can select your input file, select a compression level and click on the compress button to compress the PDF file.
The compressed PDF file is saved in the same folder as the original PDF file. Your original PDF file remains untouched. The compressed file is renamed by appending -compressed to the original file name.
If you are not satisfied with the compression, you can choose another compression level and compress the file again.
You may find the source code of the PDF Compressor on our GitHub repository. To let you easily use the tool, we have packaged it in AppImage format. Please refer to this guide to know how to use AppImage.
Please keep in mind that the tool is in early stages of developments. You may experience some issues. If you do, please let us know in the comments or even better, file a bug here.
We’ll try to add more packages (Snap, Deb, PPAs etc) in the future releases. If you have experience with the development and packaging, please feel free to give us a hand.
Would you like It’s FOSS team to work on creating more such small desktop tools in future? Your feedback and suggestions are welcome.
Уменьшить размер файла 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 , чтобы вызвать графический интерфейс, или откройте его на панели инструментов.
Теперь вы можете сжимать столько файлов PDF, сколько вам нужно, используя графический интерфейс!
Рекомендации
Как сжать PDF в Linux [GUI & Терминал]
Добавить в избранное
Главное меню » Linux » Как сжать PDF в Linux [GUI & Терминал]
В этой статье вы узнаете, как уменьшить размер PDF-файла в Linux. Обсуждены два варианта: командная строка и методом GUI.
Возникнуть эта проблема может, когда вы попытаетесь загрузить большой PDF файл. Загрузить не получится, так как будет превышен максимальный размер файла. Это означает, что вам необходимо как-то уменьшить размер файла PDF.
Вы можете использовать онлайн-сайт для сжатия PDF, но мы им не доверяем. Файл с важными документами, загружаемыми на неизвестный сервер, не очень хорошая идея. Вы никогда не сможете быть уверены, что они не сохранят копию вашего загруженного PDF-документа.
По этой причине мы предпочитаем сжимать файлы PDF в своей системе, а не загружать их на какой-либо случайный сервер.
В этой статье мы покажем вам, как уменьшить размер файлов PDF в Linux.
Способ 1: уменьшить размер файла PDF с помощью командной строки в Linux
Вы можете использовать инструмент командной строки Ghostscript для сжатия файла PDF. Большинство дистрибутивов Linux уже содержат версию Ghostscript с открытым исходным кодом. Тем не менее, вы все равно можете попробовать установить ее, просто чтобы убедиться.
В дистрибутивах на основе Debian/Ubuntu используйте следующую команду для установки Ghostscript:
sudo apt install ghostscript
Теперь, когда вы убедились, что Ghostscript установлен, вы можете использовать следующую команду, чтобы уменьшить размер вашего PDF-файла:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/prepress -dNOPAUSE -dQUIET -dBATCH -sOutputFile=compressed_PDF_file.pdf input_PDF_file.pdf
В приведенной выше команде вы должны добавить правильный путь для входного и выходного файла PDF.
Команда выглядит страшно и запутанно. Мы советуем копировать и вставлять большую часть. Что вам нужно знать, так это параметр dPDFSETTINGS. Это то, что определяет уровень сжатия и, следовательно, качество вашего сжатого файла PDF.
dPDFSETTINGS | Описание |
/prepress (по умолчанию) | Более высокое качество изображения (300 точек на дюйм), но больший размер |
/ebook | Вывод среднего качества (150 точек на дюйм) с умеренным размером выходного файла |
/screen | Более низкое качество вывода (72 dpi), но минимально возможный размер выходного файла |
Имейте в виду, что некоторые файлы PDF могут быть сжаты не сильно или вообще не сжаты. Применение сжатия к некоторым файлам PDF может даже привести к созданию файла большего размера, чем оригинал. В таких случаях мало что можно сделать.
Способ 2. Сжатие PDF-файлов в Linux с помощью инструмента с графическим интерфейсом
Мы понимаем, что не всем удобно пользоваться инструментом командной строки. А PDF редакторы в Linux не очень помогают при сжатии.
Программа Panos в оболочки GUI на основе Python-Qt для Ghostscript. Инструмент предоставляет вам простой пользовательский интерфейс, в котором вы можете выбрать входной файл, выбрать уровень сжатия и нажать кнопку сжатия, чтобы сжать файл PDF.
Сжатый PDF-файл сохраняется в той же папке, что и исходный PDF-файл. Ваш оригинальный файл PDF остается нетронутым. Сжатый файл переименовывается путем добавления-сжатого к исходному имени файла.
Если вас не устраивает сжатие, вы можете выбрать другой уровень сжатия и снова сжать файл.
Вы можете найти исходный код PDF Compressor в репозитории GitHub. Чтобы вы могли легко использовать инструмент, его упаковали его в формате AppImage.
Пожалуйста, имейте в виду, что инструмент находится на ранних стадиях разработки. У вас могут возникнуть некоторые проблемы. Если вы это сделаете, пожалуйста, сообщите нам об этом в комментариях или, что еще лучше, сообщите об ошибке здесь.
Команда постарается добавить больше пакетов (Snap, Deb, PPA и т. д.) в будущих выпусках.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.