Skip to content

Модуль оптимизации. realweb.api.optimize

Совместимость

realweb.api v.6

https://gitlab.runway-agency.ru/dev/realweb.api.optimize

С помощью модуля можно оптимизировать файлы следующих типов:

  • JPG
  • PNG
  • WEBP
  • PDF

Общие положения

Для каждого типа файлов используется свое ПО для оптимизации, для которых можно опционально задать:

  • включение оптимизиации
  • качество сжатия
  • путь к исполняемому файлу

JPG

Для оптимизации jpg используется jpegoptim. Доступна дополнительная опция автоматической конвертации в webp.

bash
apt install jpegoptim

PNG

Для оптимизации png используется optipng. Доступна дополнительная опция автоматической конвертации в webp.

bash
apt install optipng

WEBP

Для оптимизации png используется cwebp. Может использоваться для оптимиции не только формата webp, но и других типов изображения.

bash
apt install webp

PDF

Для оптимизации pdf используется ghostscript.

bash
apt install ghostscript

Использование

Для ручной оптимизации загружаемых файлов, достаточно вызвать следующую функцию:

php
\Realweb\Api\Module\Optimize\Model\Helper::getInstance()->optimize(new Realweb\Api\Model\FileSystem\File('/var/www/..../test.pdf'));

Для ручного ресайза изображений, достаточно вызвать следующую функцию:

php
\Realweb\Api\Module\Optimize\Model\Helper::getInstance()->resize(new Realweb\Api\Model\FileSystem\File('/var/www/..../test.jpg'));

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