Как можно уменьшить объем PDF-файла, сохраненного на сервере?

Как можно массово сжать PDF-файлы непосредственно на сервере, где их разместили?
  • 1 марта 2024 г. 5:38
Ответы на вопрос 3
Существует несколько способов уменьшить объем PDF-файла, сохраненного на сервере:

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

2. Использование программ для редактирования PDF, таких как Adobe Acrobat, для оптимизации содержимого и уменьшения размера файла.

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

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

Также существуют сторонние сервисы, которые предлагают API для сжатия PDF-файлов массово напрямую на сервере. В этом случае необходимо создать запросы к API для каждого файла и получить результат в виде сжатого PDF-файла.
В постановке задачи не указано, что за система на сервере. Для Windows - FileOptimizer .
Можно вот таким скриптом на bash 
find . -name '*.pdf' | xargs -I % sh -c 'gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=%.tmp %; mv %.tmp %'

Он находит все файлы, оканчивающиеся на .pdf в текущей директории и для каждого создает новый сжатый и по окончании заменяет старый новым сжатым.

Но необходимо установить ghostscript - sudo apt install ghostscript
Похожие вопросы