Командная строка и DjVuLibre
Select messages from
# through # FAQ
[/[Print]\]

Total Commander -> Программное обеспечение

#1: Командная строка и DjVuLibre Author: hawk777 PostPosted: Tue Jun 01, 2010 03:20
    —
Привет всем форумчанам. Т.к. я впервые начал пользоваться командной строкой, то возник такой вопрос. Стало необходимо получить превьюшки всех djvu файлов в одной папке. Для данной задачи нашел и скачал DjVuLibre в котором имеется утилита djvuextract.exe разбивающая djvu файл (по крайней мере должна). запускаю из командной строки с различными параметрами, но толку ноль.
Code:
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.

C:\Documents and Settings\Администратор>djvuextract
Extracts components of a DjVu file

Usage:
   djvuextract <djvufile> [-page=<num>] {...<chunkid>=<file>...}

C:\Documents and Settings\Администратор>djvuextract c:\1.djvu
Extracts components of a DjVu file

Usage:
   djvuextract <djvufile> [-page=<num>] {...<chunkid>=<file>...}

C:\Documents and Settings\Администратор>djvuextract <c:\1.djvu> [-page=10]
Extracts components of a DjVu file

Usage:
   djvuextract <djvufile> [-page=<num>] {...<chunkid>=<file>...}

C:\Documents and Settings\Администратор>djvuextract <c:\1.djvu> [-page=10]
Все время ругается на djvuextract <djvufile> [-page=<num>] {...<chunkid>=<file>...}. теперь вопрос, нужны ли все эти фигурные, квадратные скобки или они необходимы только чтобы выделить парамеры?
ЗЫ. Понимаю что вопрос нубский но прошу помощи, сам не справляюсь.

#2:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jun 01, 2010 10:14
    —
Угловые скобки не нужны вообще - они просто обозначают параметр с именем (то есть, что вместо <djvufile> нужно подставить имя файла, вместо <num> - номер страницы, вместо <chunkid> - идентификатор блока и т.п.). Квадратные обозначают, что параметр опциональный, и тоже не нужны. Если в квадратных или фигурных скобках перечислено несколько параметров, разделенных символом |, это означает, что нужен один из указанных параметров.

Советую поискать примеры использования этой (и других) утилит проекта DjVuLibre, ими довольно сложно пользоваться, руководствуясь только документацией. Кстати, возможно, проще в данном случае будет использовать djvused.

#3:  Author: hawk777 PostPosted: Tue Jun 01, 2010 12:22
    —
Пишу djvused -e -set-thumbnails c:\1.djvu и получаю ошибку

Code:
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.

C:\Documents and Settings\Администратор>djvused -e -set-thumbnails c:\1.djvu
*** unrecognized command
*** (..\..\..\tools\djvused.cpp:346)

#4:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jun 01, 2010 13:29
    —
А ты примеры использования команды "set-thumbnails" хоть смотрел? Ты ее вообще неправильно вызываешь.
Quote:
djvused myfile.djvu -e 'set-thumbnails 64' -s

Такая команда по идее должна сгенерировать превьюшки для всехс страниц файла myfile.djvu (при этом она их внедряет внутрь djvu-файла).

#5:  Author: hawk777 PostPosted: Tue Jun 01, 2010 18:00
    —
MVV
Все таки мне кажется что djvused не справится с поставленной задачей (получить первую страницу djvu файла в jpg). Из-за этого наверно надо копать в сторону djvuextract. Пример у них описан на сайте:
Quote:
djvuextract [-page=pagenum] djvufile [chkid=filename]

Мне не понятен только что это за блок [chkid=filename] и за что он отвечает. И что еще интересно если вбить в команд строку djvuextract то пример там отличается от того что на сайте
Quote:
C:\Documents and Settings\Администратор>djvuextract
Extracts components of a DjVu file
Usage:
djvuextract <djvufile> [-page=<num>] {...<chunkid>=<file>...}

#6:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jun 01, 2010 21:16
    —
Quote:
И что еще интересно если вбить в команд строку djvuextract то пример там отличается от того что на сайте Цитата:

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

Посмотрел я, похоже, djvuextract тоже не сможет извлечь в стандартный графический формат - судя по всему, она может только извлекать бинарные данные блоков (изображение страницы содержит блок с именем Sjbz - вообще, названия блоков можешь посмотреть в WinDjView, если откроешь инфо страницы):
Code:
djvuextract.exe mydjvu.djvu Sjbz=f:\1.sjbz


Извлекать в картинку судя по всему может только ddjvu, основные форматы - pbm, pgm, ppm, pnm, tif (bmp не поддерживается). Команда для извлечения страницы (задашь маленький размер, получишь превьюшку):
Code:
ddjvu -format=tif -page=1 -size=128x128 mydjvu.djvu f:\mydjvu_001.tif

В общем, либо выполняешь команду для каждой страницы (для всех сразу нельзя), либо разбиваешь документ на страницы и потом выполняешь эту же команду для каждого файла с одной страницей.

Есть еще вариант - поковырять исходники и написать утилиту, делающую все сразу. Laughing Но по своему опыту знаю, что ковырять эти исходники придется долго и нудно.

#7:  Author: hawk777 PostPosted: Tue Jun 01, 2010 22:21
    —
MVV
Вот спасибо, выручили Smile Мне и нужно извлекать только первую страницу только для множества файлов. Задействую скриптик на php и все будет как нужно Very Happy

#8:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Jun 01, 2010 23:19
    —
А не проще батник?
Code:
@echo off
if -%1==- for %%f in (*.djvu) do call %0 %%f
if not -%1==- "X:\Путь\ddjvu.exe" -format=tif -page=1 -size=128x128 %1 "%~dpn1_thumb.tif"

(в текущей папке для всех .djvu создает превьюшки с тем же именем и припиской "_thumb" - просто создаешь кнопку на панели инструментов ТК с пустым полем рабочей папки, и она будет работать для папки в активной панели)

#9:  Author: hawk777 PostPosted: Wed Jun 02, 2010 00:42
    —
Уже сделал на php, но решил проверить ваш вариант.

К сожалению не работает

#10:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Wed Jun 02, 2010 01:23
    —
2hawk777
Кнопки удобно выкладывать через буфер. Наводим крысу на кнопку (button), жмем правую кнопку крысы и Copy. Потом в форме для ответа на форуме выполняем вставку из буфера. Получится текст, начинающийся с
Code:
TOTALCMD#BAR#DATA
Тогда любой может обратным способом поместить эту кнопку себе на панель и изучить ее. Скриншот в подобных случаях излишен.

#11:  Author: Tol!kLocation: Арзамас PostPosted: Wed Jun 02, 2010 01:40
    —
hawk777
Скорее всего, проблема в не пустом пути запуска

#12:  Author: hawk777 PostPosted: Wed Jun 02, 2010 08:09
    —
Code:
TOTALCMD#BAR#DATA
"C:\Program Files\Total Commander\Utils\WHS\djvu.bat"

C:\Program Files\Total Commander\Totalcmd.exe,3
djvu
C:\Program Files\Total Commander\Utils\WHS\

-1

Tol!k
очищал путь запуска, не помогает

#13:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Jun 02, 2010 09:34
    —
У меня все прекрасно работало.
Путь запуска обязательно должен быть пустым, а не как в твоей кнопке. Иначе файл будет запущен из совсем другой директории, в которой будет пытаться найти *.djvu - из прописанной в кнопке.
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\WHS\djvu.bat

%COMMANDER_PATH%\Totalcmd.exe,3
Создать эскизы для djvu


-1

Путь к ddjvu.exe в бат-файле прописал верно?

#14:  Author: hawk777 PostPosted: Wed Jun 02, 2010 10:10
    —
MVV
Да, конечно. Но мне в принципе уже не нужно, на пхп сделал. А за помощь спасибо Smile



Total Commander -> Программное обеспечение


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group