Сисадмин-любитель (ulrith) wrote,
Сисадмин-любитель
ulrith

сканирование без @#$ни - 2

Вот проапдейтил свой скрипт для приятного сканирования документов в многостраничные pdf-ы.

Последовательность команд

scanimage -p > "out$COUNTER.pnm"
convert out* -quality 80 out.jpg
convert out*.jpg out.pdf


при всём своём изяществе простоты приводила к небезупречным результатам в плане размера итогового pdf.

Поэтому, как выдалась свободная минутка, я нагуглил другой вариант:

scanimage --format tiff -p > "out$COUNTER.tiff"
convert out*.tiff -resample 150 out.ps # снижаю разрешение до 150 dpi
ps2pdf -dOptimize=true -dUseFlateCompression=true -dPDFSETTINGS=/ebook out.ps out.pdf


Этот вариант даёт уже совершенно идеальные результаты в плане качества/веса файлов. К тому же, в нём мне удалось вплотную приблизиться к сканнеронезависимости (I hope :-).

Итоговый скрипт у меня получился вот такой:

#!/bin/sh
# Сканирование без хуйни by ulrith v. 1.1
FOLDER=Документы

echo -n "Имя файла (scan): "
read FILENAME
echo -n "Число страниц (1): "
read PAGENUM

if [ "$FILENAME" = "" ]; then
FILENAME=scan
fi

if [ "$PAGENUM" = "" ]; then
PAGENUM=1
fi

cd "$FOLDER"

COUNTER=0
while [ $COUNTER -lt $PAGENUM ]
do
echo "Вставьте страницу номер $COUNTER и нажмите Enter."
read ENTER
scanimage --format tiff -p > "out$COUNTER.tiff"
COUNTER=`expr $COUNTER + 1`
done

if [ "$PAGENUM" = "1" ]; then
convert out0.tiff -resample 150 "$FILENAME.jpg"
else
convert out*.tiff -resample 150 out.ps
ps2pdf -dOptimize=true -dUseFlateCompression=true -dPDFSETTINGS=/ebook out.ps "$FILENAME.pdf"
fi

rm out*

echo "Готово!
Tags: unixway
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments