ваш IP: 34.204.173.45

Сжатие PDF файлов в CMS 1С Битрикс

И снова об оптимизации 1С Битрикс. На этот раз речь пойдёт о сжатии PDF файлов. В основном при загрузке инструкций или документов, опять же пользователи, не следят за размером файлов. Вот такое решение для оптимизации PDF вполне поможет:

#!/bin/bash

cd /[путь до установленной CMS 1с Битрикс]/upload/iblock/
imagemass=`find . -type f -regex ".*\.\(pdf\|PDF\)" -size +1M |tr '\n' ' ' |sed "s/ /,/g"`
i=0
IFS=','
read -r -a arrayname <<< "$imagemass"
while [ $i -lt ${#arrayname[@]} ]
do
sizeimg=`du -h ${arrayname[$i]}`
echo "Размер файла до преобразования" $sizeimg
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=${arrayname[$i]}.new ${arrayname[$i]}
rm ${arrayname[$i]}
mv ${arrayname[$i]}.new ${arrayname[$i]}
sizeimagem=`du -h ${arrayname[$i]}`
echo "Размер файла после преобразования" $sizeimagem
i=$[i+1]
done
echo $i

Скрипт рекурсивно выбирает файлы по маске в каталоге upload/iblock, размер которых превышает 1 Мбайт и выполняет сжатие. При выполнении скрипта будет выводиться информация о файле, его исходный размер и размер после сжатия.

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

Важно! Убедитесь, что в системе установлен Ghostscript.

Автор: Master Wenom
18 марта 2019
blog comments powered by Disqus