16
декабрь
2020
9:36

Как сжать (уменьшить размер файла) PDF

16 декабрь 2020 9:36

Различные порталы госуслуг принимают файлы в электронном виде строго ограниченного размера. Обычное требование - размер файла менее 5 Мбайт. Но многие файлы PDF имеют больший размер, из-за того, что формат PDF в последнее время используется дла хранения отсканированных документов. В данном сообщении показаны два способа уменьшения размера PDF файлов.

  1. В Linux сжатие PDF выполняется с помощью программы ghostscript.

Сначала установил ghostscript:

sudo apt-get install ghostscript

Если нужно более сильное сжатие (возможно размытие текста)

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

Для баланса между качеством изображения и размера файла (мелкий текст не размыт):

ghostscript -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output1.pdf input.pdf

Сжатие файла input.pdf с изменением разрешения на 300 на 300 dpi (с потерей качества)

ghostscript -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -r300x300 -sOutputFile=output2.pdf input.pdf

При использовании ghostscript размер файла как правило уменьшается - до 10 раз. Иногда попадаются уже хорошо сжатые файлы - их придется обработать вторым способом см. ниже.

  1. В Windows я обычно преобразую PDF в набор растровых изображений JPG при помощи PDFill. Затем при помощи пакетной операции в IrfanView повышаю степень сжатия JPEG с вывозом результатов в отдельный каталоги. Наконец, преобразовываю результирующий набор картинок обратно в PDF.

  2. По аналогии с PDFill в Windows, можно преобразовать PDF из командной строки Linux в серию изображений JPG с меньшим разрешением (150 dpi вместо 300 dpi) и более высоким коэффициентом сжатия (43 вместо 100).
    Затем собрать из серии файлов JPEG результирующий файл PDF:

convert -density 150 -quality 43 in.pdf out.jpg
convert out-*.jpg out1.pdf

Файл стал меньше. Проверка:
ls -l in.pdf out1.pdf



Похожие публикации