Как сжать изображения в PDF?

Вопрос или проблема

Как увеличить уровень JPEG-компрессии в PDF с использованием пакетных инструментов под Linux?

Очевидно, вы можете использовать gs -dPDFSETTINGS=/screen или /ebook, но это выполняет субдискретизацию PDF – уменьшает DPI. Более эффективно (с точки зрения качества PDF на каждый КБ) использовать JPEG-компрессию, сохраняя при этом то же количество пикселей.

Например, https://docupub.com/pdfcompress/ позволяет уменьшить размер PDF вдвое, но при увеличении он все еще имеет хорошее качество, хотя и с некоторыми артефактами. При увеличении с использованием режима gs /ebook PDF неизбежно выглядит более пиксельным.

Какой инструмент для Linux позволяет нам применять JPEG-компрессию к каждому изображению в PDF?

Есть ли способ использовать convert -quality из ImageMagick на PDF с несколькими изображениями?

Как указано в комментарии здесь: Как сжать изображения в PDF (через GUI, не использующий пакеты или CLI)?

вы можете попробовать

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dColorImageResolution=230 -dNOPAUSE -dQUIET -dBATCH -sOutputFile=compressed-output.pdf input.pdf

Настройте переменную dColorImageResolution – мне удалось уменьшить размер моего PDF примерно на треть (но с ухудшением качества изображения, как и ожидалось).

Встроенный convert от ImageMagick может работать с PDF:

convert -density 300 input.pdf -quality 30 output.pdf

К сожалению, quality кажется не распознается при добавлении других аргументов, таких как threshold и не может сжать PDF, созданные ImageMagick, например:

convert -density 300 input.pdf -threshold 60% - | convert - -quality 30 output.pdf

не удается – он создает три копии каждой старой страницы на каждой новой странице.

Если вы знаете, как это обойти, пожалуйста, дайте мне знать.

Ответ или решение

Услуги для компрессии изображений внутри PDF в среде Linux являются важным аспектом оптимизации документооборота, особенно когда речь идет о сохранении качественного отображения без значительной потери разрешения. Разберем, как можно выполнить это с помощью различных инструментов, не прибегая к даунсемплингу.

Решение на основе инструментов командной строки

Одним из распространенных способов компрессии изображений в PDF является использование Ghostscript. Однако командное использование, подобно gs -dPDFSETTINGS=/screen, нередко приводит к снижению DPI, что вызывает нежелательное пикселирование при увеличении. Для более целенаправленного подхода, который сохраняет исходное разрешение изображений, следует рассмотреть хорошую комбинацию настроек Ghostscript:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dColorImageResolution=300 -dJPEGQ=50 -dNOPAUSE -dQUIET -dBATCH -sOutputFile=compressed-output.pdf input.pdf

В этой команде -dJPEGQ=50 задает уровень JPEG-компрессии, который определяет степень сжатия при сохранении исходного качества изображений.

ImageMagick и его ограничения

Другим инструментом, часто используемым для работы с изображениями в PDF, является ImageMagick. Этот инструмент предоставляет широкие возможности управления качеством изображений через параметр -quality. Однако, как вы указали, есть проблемы с низкой совместимостью некоторых настроек при непосредственной работе с PDF:

convert -density 300 input.pdf -quality 30 output.pdf

Тем не менее, преобразование изображений в PDF-формате через ImageMagick иногда может привести к нежелательному размножению страниц или появлению артефактов.

Рекомендации и оптимизация

Для достижения наилучшего результата при сжатии следует комбинировать подходы и тестировать их на небольших выборках. Если ImageMagick не удовлетворяет требованиям, рекомендуется использовать библиотеки Python, такие как pdfrw и Pillow, для достижения более детализированного управления изображениями в PDF.

Также стоит учитывать, что компрессия без потерь и минимизация размера должны сбалансировано сочетаться с ожиданиями качества изображения. Поэтому лучше всего экспериментировать с различными значениями параметров компрессии и разрешения, чтобы найти наилучшую конфигурацию для ваших конкретных нужд.

Заключение

В мире высоких цифровых требований крайне важно уметь эффективно сжимать PDF-файлы, сохраняя при этом их функциональность и качество. Правильный выбор инструментов и параметров компрессии может значительно улучшить рабочий процесс и снизить нагрузку на системы хранения данных.

Используйте вышеописанные инструменты и рекомендации как начальную точку для собственной оптимизации PDF. Обязательно тестируйте и адаптируйте стратегии под свои конкретные требования, чтобы достичь оптимальных результатов.

Оцените материал
Добавить комментарий

Капча загружается...