Видео ролики бесплатно онлайн

Смотреть 4k видео

Официальный сайт netfuncards 24/7/365

Смотреть видео бесплатно

Shihad 11.09.2010 13:07

СкриптыАвтоматизация создания djvu-файлов.

Постепенно учусь работать в командной строке. Написал скриптик, который пригодится людям, решившим оцифровать библиотеку. Благодарю philosoft и xT за помощь в исправлении ошибок и улучшении скрипта.
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#Автоматизация создания djvu-файлов. Версия 0.5
#Предполагается следующая структура каталогов
#Scans - корневой каталог. Scans/issuenumber - папка, в которой лежит скан статьи с номером issuenumber(можно любое название, но без русских букв "с" - anytopnm их почему-то не принимает.)
#Scans/issuenumber/out - каталог, в котором лежат обработанные ScanTailor или ScanKromsator сканы в формате .tif с названиями *.tif
#Файлы сохраняются под именами issuenumber.djvu в Scans

#! /bin/sh
echo 'Введите путь к папке со сканами';
read -e workdir;
if [ -d "$workdir" ]; then
echo "Подождите, начинаем обработку";
for dir in "$workdir"/* ; do
for file in "$dir"/out/*.tif ; do
anytopnm "$file" | ppmtopgm > "${file%tif}pgm";
cpaldjvu -dpi 300 -colors 5 "${file%tif}pgm" "${file%tif}djvu";
done ;
d="${dir#$workdir}" ;
djvm -c "$workdir"/"$d.djvu" "$dir"/out/*.djvu ;
echo created "$d".djvu ;
rm "$dir"/out/*pgm ;
rm "$dir"/out/*djvu ;
done;
else
echo "Введите /path/to/dir/with/scans";
exit 1
fi



Основано на уроке с http://debiania.blogspot.com/2010/06/djvu-linux.html


Тэги: bash djvu библиотека
+ 4 -
Похожие Поделиться

xT 11.09.2010 13:13 #
+ 4 -
Shihad 11.09.2010 13:15 #
+ -1 -
Благодарю за подробное, аргументированное разъяснение. Но может, Вы будете чуть многословней?
xT 11.09.2010 15:31 #
+ 2 -
пути, два цикла
Shihad 11.09.2010 15:46 #
+ 0 -
В смысле 12 и 13?

for file in *.tif ; do anytopnm $file | ppmtopgm > ${file%tif}pgm; cpaldjvu -dpi 300 -colors 5 ${file%tif}pgm ${file%pgm}djvu; done ;


Так сделать?
philosoft 11.09.2010 18:07 #
+ 3 -
Отправилось раньше времени.

2. хардкод путей не есть хорошо
3. про два цикла уже сказал xT
4. шаманство с путями
5. файлы с пробелами в имени не обрабатываются
6. оформление
Shihad 11.09.2010 19:33 #
+ 0 -
Я не программист. Я научный сотрудник, которому надо оцифровать около четырех-пяти сотен статей и в дальнейшем повторять это действие. :)

Так что принимаю советы.
Вместо двух циклов, как я понимаю, нужно сделать так.
for file in *.tif ; do anytopnm $file | ppmtopgm > ${file%tif}pgm; cpaldjvu -dpi 300 -colors 5 ${file%tif}pgm ${file%pgm}djvu; done ;

Что поставить вместо хардкод-путей и как вместо шаманского обрезания пути d=${PWD%/out} ;
d=${d#/home/arkady/Scans/} ; сделать что-то нормальное - я не знаю.

philosoft 11.09.2010 20:49 #
+ 3 -
Ок. Но не в соответствии с предыдущей нумерацией.

1.Файлы с пробелами в имени
Берём переменную в кавычки. В случае цикла приведённого в каменте "$file"
2. Хардкод путей
Избавляемся:
1
2
3
4
5
6
if [ -z "$1" ]; then
echo "USAGE $0 /path/to/dir/with/scans";
exit 1
else
workdir="$1"
fi


3. Насчёт шаманства
Ну раз вы используете cd ololo
и если я правильно понял, то можно будет использовать "$dir.djvu" для выходного файла.
4. Оформление
Раз этот скрипт выкладываете на всеобщее обозрение, оформите его, пожалуйста красиво. (как в п.2, например)

5. P.S
Поправьте скрипт в посте, нужно: #!/bin/bash (восклицательный знак после «решётки»)
Shihad 11.09.2010 20:52 #
+ 1 -
Ага. Сейчас подготовлю еще пачку файлов и опробую на них ваши советы.
Спасибо.
Shihad 12.09.2010 12:57 #
+ 1 -
Поправил. Оформил. Молотит.
Спасибо за советы.
predator 11.09.2010 13:19 #
+ 0 -
Что это? Вынос мозга?
thebeetlebum 11.09.2010 14:42 #
+ 0 -
мощне фэйспалм
jh 11.09.2010 15:25 #
+ 0 -
может кто знает как работает djvuextract?

ввожу djvuextract Уоррен_алгоритм\ трюки\ для\ прог.djvu
получается:
DJVUEXTRACT --- DjVuLibre-3.5.22
Extracts components of a DjVu file

Usage:
djvuextract <-page=> {...=...}
Shihad 11.09.2010 16:05 #
+ 0 -
Хороший вопрос. Присоединяюсь к нему. :)
Groteryk 11.09.2010 17:33 #
+ 2 -
вроде djvuextract на чанки разбирает выбранные страницы, т.е. на куски(фон, подклеенные картинки), если таковые имеются.
Если Вам надо просто разобрать djvu по страницам, то проще это сделать с помощью djvmcvt (перегнать исходный файл в indirect формат). Если надо вытащить страницы и сохранить в какой-нибудь другой графический формат, то вроде это делает ddjvu(читайте ман).
мог где-нибудь ошибиться: давно не связывался с djvu.

В хорошем качестве hd видео

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн