Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[Plugin Request] Контентный плагин для DjVu

 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Ник



Joined: 15 Dec 2004
Posts: 1256
Location: Москва

Post (Separately) Posted: Tue Jan 08, 2008 12:27    Post subject: [Plugin Request] Контентный плагин для DjVu Reply with quote

Всем привет! С праздниками! Smile

Никто не видел контентный плагин для DjVu - типа показ количества страниц, факта наличия текстового слоя и иной общей информации (если это в принципе возможно).

Или может кто напишет? Rolling Eyes

Спасибо Smile
_________________
Xubuntu 20.10
Back to top
View user's profile Send private message
Ник



Joined: 15 Dec 2004
Posts: 1256
Location: Москва

Post (Separately) Posted: Sun Jul 13, 2008 12:36    Post subject: Reply with quote

Может кто-то всё-таки возьмётся - есть утилита командной строки djvudump из опенсурс пакета DjVuLibre - но она парсит весь файл и показывает данные по каждой странице (цвет, разрешение сканирования, разрешение картинки, наличие текстового слоя и т.п.).

Может можно как-то на её базе сделать контентный плагин?
_________________
Xubuntu 20.10
Back to top
View user's profile Send private message
sergiokapone



Joined: 18 Nov 2009
Posts: 99

Post (Separately) Posted: Fri Oct 28, 2011 21:19    Post subject: Reply with quote

Запрос еще актуален
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Sat Oct 29, 2011 08:31    Post subject: Reply with quote

Поддерживаю запрос, 64-битная приветствуется.
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
Mailk



Joined: 16 Jan 2010
Posts: 251

Post (Separately) Posted: Tue Nov 28, 2017 01:38    Post subject: Reply with quote

Нужен и актуален.
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1232

Post (Separately) Posted: Wed Nov 29, 2017 15:05    Post subject: Reply with quote

Посмотрел djvudump из DjVuLibre: таки вполне годно для WinScript Advanced. Для DC запилил на Lua:
 Hidden text

Пара моментов:
- если в файле всего одна страница, то подобной строки
Code:
DIRM [ЧИСЛО]       Document directory (bundled, ЧИСЛО files ЧИСЛО pages)

не будет, т.е. достаточно три первые строки выхлопа прочитать (только stderr не надо читать Smile);
- в найденных примерах страницы с текстовым слоем или аннотацией с линками имеют в описании соответственно что-то типа
Code:
TXTz [ЧИСЛО]       Hidden text (text, etc.)
ANTz [ЧИСЛО]       Page annotation (hyperlinks, etc.)

но в исходниках (DjVuDumpHelper.cpp) есть ещё и TXTa с ANTa соотв. (не понял, что и с чем едят, на всякий случай ищу все варианты).

На взгляд не программиста, запилить полноценный плагин не кажется проблемой, попытка "облегчить" djvudump, чтобы не искала и не писала в вывод ничего кроме перечисленного, тоже выглядит возможной.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Nov 29, 2017 17:18    Post subject: Reply with quote

А я как-то смотрел DjVu_ActiveX_Control (Release, GetNumberOfPages, GetTypeInfo, GetTypeInfoCount), но так и не понял, как им файл цеплять.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1232

Post (Separately) Posted: Sat Dec 02, 2017 16:17    Post subject: Reply with quote

Flasher
У этой штуки документация что-то как-то не ахти, у меня сложилось впечатление, что оно только для встраивания DjVu в DOC/PPT.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Dec 02, 2017 18:39    Post subject: Reply with quote

Skif_off
У меня тоже такая мысль была. Документация вообще ни о чём. Ориентироваться можно только по объектной модели.
Но даже, чтобы встроить в DOC, сперва нужно получить содержимое DJVU-файла. А значит, какая-то функция должна отвечать за передачу по физическому пути. .ImageURL = "file:///<путь>" ругается на кодировку.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1232

Post (Separately) Posted: Sat Dec 02, 2017 19:22    Post subject: Reply with quote

Flasher
Честно говоря, не пробовал, пробежался по документации и всё, мне кажется, djvudump выглядит перспективнее и как отдельная утилита, и как основа для бинарного плага (GNU GPL v2 вроде как и без внешних зависимостей). Только не понял, файл сразу читается целиком или по частям?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Jan 17, 2019 13:48    Post subject: Reply with quote

Тут опять спросили.
Медленный вариант для числа страниц следующий:

Кидаем djvused.exe, libdjvulibre.dll и libjpeg.dll (msvcp100.dll и msvcr100.dll, если нет в system32) из пакета в папку %COMMANDER_PATH%\Plugins\wdx\WinScriptsAdv\Scripts\.
Туда же кидаем DjVuPagesCount.vbs:
Code:
Content = CreateObject("WScript.Shell").Run("%ComSpec% /q /c for /f %# in ('""""%COMMANDER_PATH%\" &_
"Plugins\wdx\WinScriptsAdv\Scripts\djvused.exe"" -n -e n """ & FileName & """""') do exit /b %#", 0, 1)

Для размеров первой страницы — DjVuFirstPageSize.vbs:
Code:
With CreateObject("WScript.Shell")
  .CurrentDirectory = .ExpandEnvironmentStrings("%COMMANDER_PATH%\Plugins\wdx\WinScriptsAdv\Scripts")
  Size = .Run("%ComSpec% /q /c for /f ""tokens=2,4 delims== "" %a in ('djvused" &_
  ".exe """ & FileName & """ -e ""select 1;size""') do exit /b %a%b", 0, 1)
End With
H = Fix(Len(Size)/2) : Content = Left(Size, H) : Content1 = Mid(Size, H + 1)

В options.ini пишем:
Quote:
[Script]
ActiveScripts=...
|DjVuPages|DjVuPageSize

[DjVuPages]
Script=DjVuPagesCount.vbs
content=Число страниц
extensions=djvu
FoldersPaths=0

[DjVuPageSize]
Script=DjVuFirstPageSize.vbs
content=Ширина
content1=Высота
extensions=djvu
FoldersPaths=0

Выполняем cm_UnloadPlugins или перезапускаем ТС. Пользуемся новыми колонками из WinScriptsAdv.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Sat Jan 19, 2019 14:12; edited 3 times in total
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group