Как уменьшить размер PDF

Что делать, если размеры файла в формате PDF превосходят ограничения на объем пересылаемых писем? Как тогда отправить такой файл? Пользователи Linux могут решить проблему всего одной строчкой в терминале.

Дело в том, что многие PDF-файлы имеют огромные объемы из-за изначальной ориентированности на бумажную печать. Но далеко не все файлы требуется печатать. Поэтому простое уменьшение такого показателя, как DPI (количество точек на дюйм) позволяет сократить объем в разы.

Возьмем для примера файл input.pdf, занимающий на диске 50 Мб. С помощью одной простой команды нам удастся сократить его объем до 15 Мб:

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

При этом никакого видимого ухудшения качества картинки при просмотре на мониторе не произошло.

Используемая программа gs является частью пакета ghostscript, предустановленного во множестве Linux-дистрибутивов. Если в вашем Линуксе такой программ нет, то ее не составит сложности установить самостоятельно:

sudo apt-get install ghostscript

Ну а что же делать пользователям другой известной операционной системы — Windows? Такие пользователи могут для этих целей приобрести программный продукт Adobe Acrobat (38925,36 руб. 00 коп. в розницу).

Ваша оценка: Нет Средняя оценка: 4.9 (17 votes)
a

ОГРОМНОЕ спасибо!
Задача была схожа: 20,8МБ->1,8МБ

Твой совет меня выручил :)

Ваша оценка: Нет Средняя оценка: 5 (3 votes)
a

Спасибо. Может когда-нибудь пригодится.

Ваша оценка: Нет Средняя оценка: 5 (3 votes)
11
pomodor

Я, например, сжимал коллекцию книг. Основная масса в Djvu и примерно треть в PDF. Так эта треть перевешивала Djvu в 2 раза.

Ваша оценка: Нет Средняя оценка: 5 (5 votes)
4

впечатляет. Уже много раз могло понадобиться

Ваша оценка: Нет Средняя оценка: 5 (3 votes)
a

Можно ещё открыть PDF в LibreOffice Draw и сразу же экспортировать в тот же PDF, но с другим (меньшим) DPI, результат будет тот же самый. Думаю, в винде этот способ тоже сработает — LibreOffice же кроссплатформенный.

Ваша оценка: Нет Средняя оценка: 5 (5 votes)
11
pomodor

Только на больших коллекциях документов можно задолбаться открывать в Либре. В терминале же можно запустить пакетную обработку по маске *.pdf.

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
a

pdf24 creator — в винде. Сжать и легко, и бесплатно.

Ваша оценка: Нет Средняя оценка: 3.3 (3 votes)
9
comrade

Это надстройка на том же ghostscript
:-)

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
4

блин, огромное спасибо, очень практично. У меня мобильник s3 mini, мягко говоря не самый сильный. Читаю обыно журналы и книги в pdf пока еду. Сначала он шустро pdf открывает, потом все медленне, иногда ждешь секунд 5-10 пока загрузит очередную страницу, бывает даже виснет. Перепробовал несколько ридеров, результать тот же. Тут вчера посмотрел пережатый журнал, совсем другое дело. Жаль нельзя уровень оптимизации повысить, PDFSETTINGS=/screen это 72 dpi, меньше нельзя. А так — при 72 я даже ухудшения особенного не заметил (хотя на некоторых картинках слова уже не прочтешь :)).

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
3
Tauri

Мое почтение! Что то не получается "сжать" свой файл для пробы. Сама книга лежит на раб.столе. Для обкатки процесса переименовал ее в input.pdf При вводе выше написанной команды выводит в терминале следующее (скриншот) i79.fastpic.ru/big/2016/0812/82/cb2805423cdee48f953fe57ce3851c82.jpeg
Буду благодарен за любую информацию по этому вопросу. Всем добра!

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
4

так сначала перейти на ваш рабочий стол

cd /home/имя/рабочий стол

Ваша оценка: Нет Средняя оценка: 5 (3 votes)
3
Tauri

Благодарю за подсказку! В моем случае потребовалась такая команда
cd ~/"Рабочий стол"

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
a

так сжал все разом

find -type f -exec gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile={} "деректория для сжатых pdf"{} \;
Ваша оценка: Нет Средняя оценка: 5 (3 votes)
a

тогда уж можно немного сделать поудобней

source=$(zenity --file-selection --directory --title="Открыть деректорию: ") && dest=$(zenity --file-selection --directory --title="Деректория для сохранения: ") && cd $source && for f in *.pdf; do echo "$dest/$f"; gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile="$dest/$f" "$f"; done
Ваша оценка: Нет Средняя оценка: 5 (1 vote)
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.
Linux I класса
Linux II класса
Linux III класса
Счетчики
  • Самый популярный сайт о Linux и Windows 10
О Либератуме

Liberatum — это новости мира дистрибутивов Linux, обзоры, сборки, блоги, а также лучший сайт об Ubuntu*.