вторник, 19 июля 2011 г.

Для читателей

Друзья. На подходе готовитьсянесколько интересных статей, которые я надеюсь вам понравятся. Однако вынужден вас огорчить что они задержаться примерно до 5 августа в связи с тем что я уезжаю отдыхать - наступил долгожданный отпуск.
Желаю всем интересно и весело провести это время, лета осталось не так уж и много.

С уважением, Олмер. 

понедельник, 4 июля 2011 г.

Linux.Скрипты. Конвертеры



Конвертирование картинок

Скрипт запускается из папки где лежат изображения. Пережатые картинки лежат в папке "lowres". Скрипт простой и без особых наворотов, так что для конкретной ситуации правим руками под себя. Обращаю ваше внимание на то что расширение ".jpg" и ".JPG" это два разных расширения!


      
      #!/bin/sh
      mkdir lowres;
      for f in *.jpg ; do convert -quality 90 -resize 2500x1700 "$f" "lowres/${f%.jpg}-2500.jpg" ;
      done

Конвертирование картинок в pdf и сбор их в многостраничный pdf документ

Скрипт запускается из папки где лежат изображения. На выходе мы получаем папку в которой для каждой нашей картинки будет создана pdf-ка и одна большая в которой будут собраны все. Скрипт клеит многостраничный pdf в том порядке, в котором располагаются картинки в вашей папке.


#!/bin/sh
clear
mkdir pdf;
for f in *.jpg ; do convert  "$f" "./pdf/${f%.jpg}_converted.pdf"
echo "------------->./pdf/${f%.jpg}_converted.pdf......Ready!"
done
for f in *.jpg ; do
if [ -f ./pdf/temp.pdf ]; then
 echo "Temp file exist"
  gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=./pdf/temp.pdf -dBATCH  ./pdf/all.pdf
 echo "Add current file to All.pdf" 
  gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=./pdf/all.pdf -dBATCH  ./pdf/temp.pdf "./pdf/${f%.jpg}_converted.pdf"
else
 echo "Temp file not exist...create!"
  gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=./pdf/temp.pdf -dBATCH "./pdf/${f%.jpg}_converted.pdf"
 echo "Add current file to All.pdf" 
  gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=./pdf/all.pdf -dBATCH ./pdf/temp.pdf
fi
done
echo "Delete Temp.pdf"
rm ./pdf/temp.pdf
echo "Done...!"

Конечно же каждый из этих скриптов можно сделать более универсальным и юзабельным.