Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » WinDjView

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

Открыть новую тему     Написать ответ в эту тему

AndyZ

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WinDjView
 

WinDjView - это быстрая и компактная программа для просмотра файлов формата DjVu под Windows с вкладками для документов, непрерывной прокруткой страниц и расширенными возможности печати. Она основана на свободно распространяемой библиотеке DjVuLibre. Формат DjVu позволяет сохранять документы и картинки с высоким качеством в файлы малого размера. Программа WinDjView является свободным программным обеспечением. Вы вправе распространять её и/или модифицировать, соблюдая условия Открытого лицензионного соглашения GNU (GPL), опубликованного Free Software Foundation; либо версии 2 Соглашения, либо (по вашему выбору) любой более поздней версии.
 
Сайт: http://windjview.sourceforge.net/ru/
История изменений: http://windjview.sourceforge.net/version-history
 
Текущая версия: 2.1
Скачать WinDjView 2.1
 
Текущая версия для Win 98/ME: 1.0.3
Скачать WinDjView 1.0.3
Скачать WinDjView 1.0.3 archive-repack

WinDjView Extended 3.4 - WinDjView с дополнительными возможностями
Зеркало
Что нового? (17.01.2023)

В этом топике вы можете задавать вопросы по программе и сообщать об ошибках. На SourceForge.net есть страница проекта со своим форумом и базой ошибок и пожеланий, но если пользуетесь сервисами SF.net, то лучше использовать английский язык.
Если у вас имеется проблема, то сначала проверьте, не исправлена ли она в последней версии. Если нет, то опишите подробно по шагам ваши действия, полученный результат и ожидаемый результат. Также имеет значение версия операционной системы. Если проблемы проявляются только на некоторых документах, дайте линк на эти документы.
 
Как "подкрасить" фон страниц (для улучшения читабельности) (реализовано в WinDjView Extended)
Как оптом стереть все пользовательские аннотации/закладки (реализовано в WinDjView Extended)
Как пакетно декодировать все страницы многостраничного DjVu-файла (реализовано в WinDjView Extended)
Программа для отображения линии чтения в WinDjView (реализовано в WinDjView Extended)
 
Диалоги о WinDjView-subpix (форк программы с другой технологией рендеринга, для ЖК дисплеев; в версии 2.0 оригинальной программы так же появилась возможность настройки использования данной технологии):
[0], [1], [2], [3], [4], [5]

WinDjView в Википедии: http://ru.wikipedia.org/wiki/WinDjView

Всего записей: 214 | Зарегистр. 23-01-2006 | Отправлено: 19:33 24-01-2006 | Исправлено: NME, 23:32 19-01-2023
nonnus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
monday2000

Цитата:
Однако, нужно, чтобы файл был так и выложен как есть, не запакован в архив - что, впрочем, имеется на том же хоумлинуксе.  

А какой смысл они преследуют когда сжимают дежаву???
 

Цитата:
Что-то не пойму смысл - а что, нельзя в просто htm-файле понаделать ссылки на внутренние страницы djvu-файла? Для чего предлагаемая фича и что она такое есть?

Простые штмл с сылками внутри файла, по идее, не правильно использовать, так как они имееют не определённый формат (надо писать полноценный разборщик html, a если уж мы говорим об html, то нужно учесть и что надо обрабатывать ситуации когда не все теги закрыты, т.е. предпочтительнее использовать тогда уже xhtml), тут речь идёт о конкретных форматах содержаний.
 

Всего записей: 166 | Зарегистр. 27-12-2003 | Отправлено: 13:55 22-03-2006
nsinel

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По поводу русификации версии 0.4.1.
Скачал WinDjView-0.4.1-RU.dll, положил как рекомендуется в папку с WinDjView-0.4.1.exe, однако выбор языков не расширился. Переименование в WinDjView-0.4.1.dll, WinDjView.dll и даже в WinDjView-RU.dll не помогает.
Может быть кто-то разобрался?

Всего записей: 338 | Зарегистр. 18-01-2002 | Отправлено: 13:08 28-03-2006
docck



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
nsinel
Не знаю даже, у меня никаких проблем не возникло, ничего я не переименовывал, программа сразу показала наличие другого языка.

Всего записей: 613 | Зарегистр. 06-01-2004 | Отправлено: 13:25 28-03-2006
AndyZ

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nsinel
После того, как Вы положили новую dll, нужно перезапустить программу. Переименовывать файлы не требуется.

Всего записей: 214 | Зарегистр. 23-01-2006 | Отправлено: 18:36 28-03-2006
nhleb

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня не получается откомпилировать lib для WinDjView. Программа nmake, скопированная в папку libdjvu и запущенная из командной строки (согласно рекомендациям из этого форума) не делает ничего (сообщения тоже не выводит), возможно проблема в непрописанных папках в makefile, но я не знаю как это сделать.  
 
Соответственно, VC++ 6.0 выводит сообщение: LINK : fatal error LNK1104: cannot open file "libdjvu/libdjvud.lib"
Error executing link.exe.
 
Если не затруднит, подскажите, что делать, т.к. в этой среде программирования я новичок.

Всего записей: 5 | Зарегистр. 30-03-2006 | Отправлено: 14:37 30-03-2006
AndyZ

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nhleb
nmake никуда копировать не нужно. По-видимому, у Вас не настроены переменные среды PATH, INCLUDE и LIB. Это делает инсталлятор студии. Или Вы можете воспользоваться файлом vcvars32.bat, который также прописывает эти переменные.

Всего записей: 214 | Зарегистр. 23-01-2006 | Отправлено: 19:04 30-03-2006
nhleb

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vcvars32.bat запускал - никакого эффекта, пишет The system cann't find path specified.  
 
Хотелось бы уточнить, как работать с nmake yне копируя его в папку libdjvu.  
 
Кстати, если его скопировать и запустить он выдает falal error U1073: 'don't know how to make 'Arrays.cpp' Stop.
 
Добавлено:
Разобрался с vcvars32.bat, терперь все указанные директории прописаны верно (проверено с спомощью nmake.exe /P). Но все равно осталась проблема: при запуске из bat- файла:
 
"%MSVCDir%\bin\nmake.exe" -f C:\WinDjView\libdjvu\makefile
 
 
выдается ошибка: falal error U1073: 'don't know how to make 'Arrays.cpp' Stop.
 
Где рыть дальше, может быть я что-то неправильно делаю?
 
Добавлено:
Кстати, если это поможет, то при попытке компиляции версий 0.4 и 0.3.6 возникают ошибки:
 
--------------------Configuration: WinDjView - Win32 Debug--------------------
Compiling...
stdafx.cpp
C:\WinDjView-0.3.6\libdjvu/GRect.h(401) : error C2678: binary '==' : no operator defined which takes a left-hand operand of type 'const class GRect' (or there is no acceptable conversion)
Error executing cl.exe.
 
 
 
Как в debug, так и в release конфигурациях.

Всего записей: 5 | Зарегистр. 30-03-2006 | Отправлено: 12:53 31-03-2006
AndyZ

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Порядок сборки такой:
1. Открыть командную строку
2. "%MSVCDir%\bin\vcvars32.bat" (если нужно)
3. cd c:\Path\To\WinDjView\libdjvu
4. nmake "UNICODE=1"
5. Из студии собрать конфигурацию Release Unicode
У меня на компьютере стоит VC6, проверялось также в VC .NET 2003

Всего записей: 214 | Зарегистр. 23-01-2006 | Отправлено: 16:19 31-03-2006
nhleb

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Огромное спасибо за помощь. По вашим рекомендациям все прекрасно собралось.
 
В процессе появился еще один вопрос: как просмотреть связи в ClassWizard? При его первом запуске он спрашивает: взять информацию из выбранных классов? Я отвечаю да, выбираю все классы в коневой папке WinDjView, но они не появляются в спписке классов. Может быть все гораздо хитрее и надо идти лбходными путями, если это возможно, подскажите как это сделать.
 

Всего записей: 5 | Зарегистр. 30-03-2006 | Отправлено: 12:53 03-04-2006
AndyZ

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nhleb
В ClassWizard посмотреть не получится, потому что изначально проект писался в студии дот нет, в которой ClassWizardа нет, и соответственно она не пишет специальных комментариев, которые для него нужны. Сейчас я сижу на шестой студии, поэтому добавляю все обработчики событий вручную; это не так сложно и не так медленно, как может показаться.

Всего записей: 214 | Зарегистр. 23-01-2006 | Отправлено: 22:25 03-04-2006
nhleb

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Весь вопрос в том, что хотелось бы проследить те связи, которые вы создали в данной программе, т.к. в противном случае достаточно трудно соориентироваться и, соответственно, модифицировать программу. А в .NET возможно просмотреть связи или как-нибудь по-другому?

Всего записей: 5 | Зарегистр. 30-03-2006 | Отправлено: 22:56 03-04-2006
AndyZ

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nhleb
Насколько я понимаю, под связями Вы имеете в виду message maps и dialog data exchange. Первые находятся между макросами BEGIN_MESSAGE_MAP и END_MESSAGE_MAP, вторые - внутри функций DoDataExchange. В студии .NET события можно привязывать к функциям из окна Properties для класса, а вот список связанных с контролами переменных в UI посмотреть нельзя - можно только добавить новые.

Всего записей: 214 | Зарегистр. 23-01-2006 | Отправлено: 21:47 04-04-2006
nhleb

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо за помощь, буду пытаться проникнуться.

Всего записей: 5 | Зарегистр. 30-03-2006 | Отправлено: 17:49 05-04-2006
nonnus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AndyZ
Вот такие предложения:
1) А трудно ли сделать панель с закладками содержания и образов страниц размещаемыми также справа?
2) Добавить в эту панель также закладки: открытые документы и история открытых документов, ну, про закладки на страницы в каждом документе уже речь шла вроде.

Всего записей: 166 | Зарегистр. 27-12-2003 | Отправлено: 13:30 06-04-2006
Griefin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Недавно собирал для себя и нашел несколько небольших ошибок:
 
diff -u -r WinDjView-0.4.1/DjVuView.cpp WinDjView-current/DjVuView.cpp
--- WinDjView-0.4.1/DjVuView.cpp    2006-02-25 17:49:58.000000000 +0300
+++ WinDjView-current/DjVuView.cpp    2006-03-12 18:27:19.859375000 +0300
@@ -4244,7 +4244,7 @@
         strURL = strURL.substr(0, nPos);
     }
 
-    CString strPathName = (const char*)strURL;
+    CString strPathName = (CString)strURL;
     TCHAR szDrive[_MAX_DRIVE + 1] = {0};
     TCHAR szDir[_MAX_DIR + 1] = {0};
     TCHAR szExt[_MAX_EXT + 1] = {0};
diff -u -r WinDjView-0.4.1/MyToolBar.cpp WinDjView-current/MyToolBar.cpp
--- WinDjView-0.4.1/MyToolBar.cpp    2006-02-10 21:13:58.000000000 +0300
+++ WinDjView-current/MyToolBar.cpp    2006-03-12 17:31:03.312500000 +0300
@@ -130,7 +130,7 @@
         rctBk.top = rect.top;
         rctBk.bottom = rect.bottom;
 
-        HTHEME hTheme;
+        HTHEME hTheme = NULL;
         if (XPIsAppThemed() && XPIsThemeActive())
             hTheme = XPOpenThemeData(m_hWnd, L"TOOLBAR");
diff -u -r WinDjView-0.4.1/ProgressDlg.cpp WinDjView-current/ProgressDlg.cpp
--- WinDjView-0.4.1/ProgressDlg.cpp    2006-01-18 17:55:56.000000000 +0300
+++ WinDjView-current/ProgressDlg.cpp    2006-03-12 13:41:40.375000000 +0300
@@ -83,8 +83,8 @@
     return (InterlockedCompareExchange(&m_nCancelled, 1, 1) == 1);
 #else
     long nCancelled = 1;
-    return (InterlockedCompareExchange((void**)&m_nCancelled,
-        (void*)nCancelled, (void*)nCancelled) == (void*)nCancelled);
+    return (InterlockedCompareExchange(&m_nCancelled,
+        nCancelled, nCancelled) == nCancelled);
 #endif
 }
 
Есть предложение немного повысить приоритет рендеринга:
 
diff -u -r WinDjView-0.4.1/RenderThread.cpp WinDjView-current/RenderThread.cpp
--- WinDjView-0.4.1/RenderThread.cpp    2006-02-23 23:56:36.000000000 +0300
+++ WinDjView-current/RenderThread.cpp    2006-03-13 21:10:54.375000000 +0300
@@ -42,7 +42,7 @@
 
     DWORD dwThreadId;
     m_hThread = ::CreateThread(NULL, 0, RenderThreadProc, this, 0, &dwThreadId);
-    ::SetThreadPriority(m_hThread, THREAD_PRIORITY_BELOW_NORMAL);
+    ::SetThreadPriority(m_hThread, THREAD_PRIORITY_ABOVE_NORMAL);
 }
 
При сборке в VS7 с конфигурациями Debug или Debug Unicode появляется куча повторно определенных символов. Т.е. приходится линкеру добавлять опцию /FORCE:MULTIPLE. В Release все нормально.

Всего записей: 759 | Зарегистр. 19-07-2003 | Отправлено: 11:00 11-04-2006 | Исправлено: Griefin, 11:27 11-04-2006
AndyZ

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Griefin
Спасибо, исправлю. Есть несколько комментариев:
1) Тогда уж не (CString) strURL, а MakeCString(strURL). Хотя вроде и так всё работает.
2) Да, точно.
3) А Ваш вариант компилируется в оригинальном VC6, без дополнительного Platform SDK? Я не могу это сейчас проверить, поэтому оставлю пока свой вариант, который точно работает.
4) Не согласен, потому что рендеринг - это именно background задача, которая не должна тормозить UI. Поэтому приоритет ниже.
5) Я сейчас работаю в VC6, а релиз собираю компилятором от студии 2003 через makefile, поэтому не могу сказать, в чём дело.
 
Добавлено:
nonnus
1) Сделать опцию слева/справа наверно можно, а вот возиться с доканием не хочу. С размещением справа есть проблема, когда строчки длинные - тогда тултип не будет умещаться на экран.
2) Не понимаю, зачем дублировать меню - Window и Recent Files. Кроме того, эти 2 вещи привязаны к приложению, а панель слева привязана к документу. Закладки - это другое дело. В какой-то момент они появятся.

Всего записей: 214 | Зарегистр. 23-01-2006 | Отправлено: 15:57 11-04-2006
chupakabra



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AndyZ, сделай пожалуйста чтобы при запуске программа восстанавливала последний открытый файл и позицию в нем, а то книжки читать неудобно - каждый раз надо вручную позицию восстанавливать. Ну и если программа научится запоминать позицию для десятка последних файлов - вообще хорошо будет!
 
Заметил что ты используешь CreateThread, вот что MS пишет по этому поводу:

Цитата:
A thread in an executable that is linked to the static C run-time library (CRT) should use _beginthread and _endthread for thread management rather than CreateThread and ExitThread. Failure to do so results in small memory leaks when the thread calls ExitThread. Another work around is to link the executable to the CRT in a DLL instead of the static CRT.

Всего записей: 495 | Зарегистр. 18-10-2001 | Отправлено: 16:44 11-04-2006 | Исправлено: chupakabra, 17:20 11-04-2006
Griefin

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Еще вспомнил такую вещь. В Акробате есть удобная фишка: Word wrapping для длинных закладок. Видел уже готовую реализацию: http://www.codeproject.com/treectrl/StaticTreeControl.asp

Всего записей: 759 | Зарегистр. 19-07-2003 | Отправлено: 18:37 11-04-2006 | Исправлено: Griefin, 09:35 12-04-2006
AndyZ

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
chupakabra
Цитата:
чтобы при запуске программа восстанавливала последний открытый файл и позицию в нем
Это уже есть в todo и будет со временем реализовано.
Про CreateThread - вроде если memory leak и есть, то он несущественный. Когда-нибудь разберусь.
 
Griefin
Про это здесь уже говорилось. Занесено в todo.
 
P.S. Некоторые пожелания повторяются по пятому разу. Пожалуйста, перед тем как что-то написать, проверяйте в этом форуме и на страничке проекта на sourceforge, что такого пожелания ещё не было!

Всего записей: 214 | Зарегистр. 23-01-2006 | Отправлено: 15:15 12-04-2006 | Исправлено: AndyZ, 15:15 12-04-2006
nonnus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AndyZ

Цитата:
2) Не понимаю, зачем дублировать меню - Window и Recent Files. Кроме того, эти 2 вещи привязаны к приложению, а панель слева привязана к документу. Закладки - это другое дело. В какой-то момент они появятся.

Бывает, что часто работаю с очень большим количеством книг открытых одновременно, удобно когда у тебя окно с выбором этих документов висит стационарно, а ещё круче было бы, если бы эти документы в виде дерева также включали закладки, например:
 
+ документ 1
+ документ 2
- документ 3
   закладка 1
   закладка 2
 
+ документ 4
 
Что касается последних открытых файлов, то история всего c 10 последними файлами, как мне кажется, маловата, а помещение большего количества в меню Recent Files это слишком много.
 
 
 

Всего записей: 166 | Зарегистр. 27-12-2003 | Отправлено: 15:23 12-04-2006 | Исправлено: nonnus, 15:26 12-04-2006
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » WinDjView


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru