Как уменьшить размер 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 коп. в розницу).

field_vote: 
Ваша оценка: Нет Средняя: 4.9 (17 оценки)
Главная тема: 
Дистрибутивы: 
Программное обеспечение: 
Пользовательские теги: 
PDF

Комментарии

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

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

Оценка: 
Средняя: 4 (4 оценки)

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

Оценка: 
Средняя: 5 (3 оценки)

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

Оценка: 
Средняя: 5 (5 оценки)

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

Оценка: 
Средняя: 5 (3 оценки)

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

Оценка: 
Средняя: 5 (6 оценки)

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

Оценка: 
Средняя: 5 (2 оценки)

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

Оценка: 
Средняя: 3.3 (3 оценки)
comrade аватар

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

Оценка: 
Средняя: 5 (2 оценки)

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

Оценка: 
Средняя: 5 (2 оценки)

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

Оценка: 
Средняя: 5 (1 оценка)

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

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

Оценка: 
Средняя: 5 (3 оценки)

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

Оценка: 
Средняя: 5 (1 оценка)

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

find -type f -exec gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile={} "деректория для сжатых pdf"{} \;

Оценка: 
Средняя: 5 (3 оценки)

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

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 оценка)

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.