PictureView 3 — просмотр изображений различных форматов
PictureView 3 — просмотр изображений различных форматов
В этой теме обсуждается плагин PictureView 3.
Старый тред с обсуждением предыдущих версий: PictureView 1 и 2.
Дальнейшее развитие версии 1.5, переделано под API Far 3.0.
Об извлечении плагинов из дистрибутивов ACDSee.
PS: API как было убогим в Far 2, так и осталось...
Старый тред с обсуждением предыдущих версий: PictureView 1 и 2.
Дальнейшее развитие версии 1.5, переделано под API Far 3.0.
Об извлечении плагинов из дистрибутивов ACDSee.
PS: API как было убогим в Far 2, так и осталось...
- Attachments
-
- PictureView3_20140813_last_xp.7z
- Последняя версия, работающая на WinXP
- (321.22 KiB) Downloaded 1264 times
- HaRT
- Moderator
- Posts: 10869
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
PictureView 3 — просмотр изображений различных форматов
А вообще GFL-декодером какие-то картинки удаётся декодировать? (Например, если остальные отключить в настройках плагина.)
Фар есть инструмент, а не нянька. © 2009 DrKnS
PictureView 3 — просмотр изображений различных форматов
1) Нужно поставить Ghostscript нужной битности. У меня стоит AFPL Ghostscript 8.54; 32 и 64.
2) Взять из GflSDK-win.zip файл libgfl340.dll из каталогов libW или lib64W и положить рядом с 0PictureView.dll. Перезапустить Far.
3) Запускать по файлам через меню плагинов или по префиксу pic:
2) Взять из GflSDK-win.zip файл libgfl340.dll из каталогов libW или lib64W и положить рядом с 0PictureView.dll. Перезапустить Far.
3) Запускать по файлам через меню плагинов или по префиксу pic:
PictureView 3 — просмотр изображений различных форматов
Итак:
x64 ghostscript 8.54 - через меню плагинов показывает
ghostscript 9.24 - нет
по префиксу - полный игнор независимо от версии ghostscript.
x64 ghostscript 8.54 - через меню плагинов показывает
ghostscript 9.24 - нет
по префиксу - полный игнор независимо от версии ghostscript.
PictureView 3 — просмотр изображений различных форматов
А у вас после префикса и имени случайно не стоит конечный пробел? Я выше об этом писал.
Ещё, возможно, кто-то другой съел этот префикс.
Ещё, возможно, кто-то другой съел этот префикс.
PictureView 3 — просмотр изображений различных форматов
Да. Оно. Если убрать пробел - на 8.54 (AFPL) работает, на 9.24 (GPL) нет.
Last edited by 2useven10 on Sat 08 Sep, 2018 07:48, edited 1 time in total.
PictureView 3 — просмотр изображений различных форматов
Очевидно, что в 9.24 (GPL) что-то поменялось и старинный GFL сломался. (PV про Ghostscript ничего не знает.)
PictureView 3 — просмотр изображений различных форматов
Настроил себе полупортабельно, без полной установки GhostScript. Долго наблюдал за вызовами Process Monitor ом. Но работает. Так проще перетаскивать чем кучу дистрибов для одной функции ставить. (для х32)
в общем понадобятся файлы из установленного ГС
cidfmap
gsdll32.dll (большой зараза)
pdf2dsc.ps
в папке %farhome%\utils\ghost_pdf они у меня лежат, эта же папка для фара в переменных %path% видна (нужно или нет не помню, пол года назад настраивал)
там же лежит файл gspdf.reg со следующим содержанием.
в папке плагина
libgfl340.dll
ну и соответствующие настройки плагина.
вообще gsdll32.dll находится автоматом если он есть в %path% или %farhome%, но без записи в реестре он сам потом не знает где искать остальные файлы, и если не находит рядом с местом вызова - не отрабатывает. т.е. положив все 3 файла рядом с пдф, можно вызвать без записи в реестре и он отработает нормально. Хукнуть бы дллку как то.
для полной портабельности в таком виде (ну на сколько это можно назвать портабельностью, мы же привязывемся к компу, оставляем следы в реестре, можем не иметь прав)
в автостартующем макросе у меня прописано
пользуйтесь кому надо
Уточнение:
libfgl340.dll размером 1 171 456 б, мд5 50b020e60f77a08f6cb57b3866b5f46a,
нашлись другие dll с которыми не работало
в общем понадобятся файлы из установленного ГС
cidfmap
gsdll32.dll (большой зараза)
pdf2dsc.ps
в папке %farhome%\utils\ghost_pdf они у меня лежат, эта же папка для фара в переменных %path% видна (нужно или нет не помню, пол года назад настраивал)
там же лежит файл gspdf.reg со следующим содержанием.
Code: Select all
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\GPL Ghostscript\9.23]
"GS_DLL"="C:\\полный путь до фара\\Utils\\ghost_pdf\\gsdll32.dll"
"GS_LIB"="C:\\полный путь до фара\\Utils\\ghost_pdf\\"
libgfl340.dll
ну и соответствующие настройки плагина.
вообще gsdll32.dll находится автоматом если он есть в %path% или %farhome%, но без записи в реестре он сам потом не знает где искать остальные файлы, и если не находит рядом с местом вызова - не отрабатывает. т.е. положив все 3 файла рядом с пдф, можно вызвать без записи в реестре и он отработает нормально. Хукнуть бы дллку как то.
для полной портабельности в таком виде (ну на сколько это можно назвать портабельностью, мы же привязывемся к компу, оставляем следы в реестре, можем не иметь прав)
в автостартующем макросе у меня прописано
Code: Select all
Macro {
area="Shell"; key="Alt1234F11"; flags="RunAfterFARStart "; description="Set Far Env Path";
action = function()
Far.DisableHistory();
--пути
win.SetEnv("path",win.GetEnv("path")..";"..win.GetEnv("farhome").."\\Utils;"..win.GetEnv("farhome").."\\Utils\\SSH;"..win.GetEnv("farhome").."\\Utils\\ghost_pdf");
win.SetRegKey("HKLM","SOFTWARE\\GPL Ghostscript\\9.23","GS_DLL","string",win.GetEnv("farhome").."\\Utils\\ghost_pdf\\gsdll32.dll")
win.SetRegKey("HKLM","SOFTWARE\\GPL Ghostscript\\9.23","GS_LIB","string",win.GetEnv("farhome").."\\Utils\\ghost_pdf\\")
end;
}
Уточнение:
libfgl340.dll размером 1 171 456 б, мд5 50b020e60f77a08f6cb57b3866b5f46a,
нашлись другие dll с которыми не работало
Last edited by Shtirla on Thu 13 Dec, 2018 12:52, edited 1 time in total.
- Smitis
- Posts: 1709
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 23 times
- Been thanked: 55 times
PictureView 3 — просмотр изображений различных форматов
Shtirla, ![Smile :)](./images/smilies/smile.gif)
Я тут анси плагины "хукал" довольно грубым методом - заменой advapi32.dll на враппер. Можно и эту попробовать
![Smile :)](./images/smilies/smile.gif)
Разум когда-нибудь победит.
PictureView 3 — просмотр изображений различных форматов
Может проще поправить сам gsdll32.dll? Или обязательно хочется, чтобы работала нетронутая и любая версия GS?
- HaRT
- Moderator
- Posts: 10869
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
PictureView 3 — просмотр изображений различных форматов
Ghostscript Portable не решает проблему?Shtirla wrote: ↑Mon 29 Oct, 2018 05:59 вообще gsdll32.dll находится автоматом если он есть в %path% или %farhome%, но без записи в реестре он сам потом не знает где искать остальные файлы, и если не находит рядом с местом вызова - не отрабатывает. т.е. положив все 3 файла рядом с пдф, можно вызвать без записи в реестре и он отработает нормально. Хукнуть бы дллку как то.
Фар есть инструмент, а не нянька. © 2009 DrKnS
PictureView 3 — просмотр изображений различных форматов
Подскажите, плиз, можно ли как-нибудь победить эту ошибку:
Error loading plugin
C:\Program Files\Far\Plugins\PictureView3\0PictureView.dll
Отказано в доступе.
FAR 3.x, плагин скачан из шапки
Error loading plugin
C:\Program Files\Far\Plugins\PictureView3\0PictureView.dll
Отказано в доступе.
FAR 3.x, плагин скачан из шапки
PictureView 3 — просмотр изображений различных форматов
С такой информацией вряд ли кто поможет.
Какая версия Far'а? Система XP 32-bit? Что происходит в чистом Far'е, если это единственный плагин?
Какая версия Far'а? Система XP 32-bit? Что происходит в чистом Far'е, если это единственный плагин?
Last edited by SEt on Sat 10 Nov, 2018 19:12, edited 1 time in total.
PictureView 3 — просмотр изображений различных форматов
Да, Win XP/32бит. Ошибка выскакивает в любой версии FAR от 1.7x, до последней доступной 3.х. Когда плагин единственный при запуске фара выскакивает та же самая ошибка.
- Smitis
- Posts: 1709
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 23 times
- Been thanked: 55 times
PictureView 3 — просмотр изображений различных форматов
Интересно, почему "отказано в доступе"? В плагине присутствует вызов GetGestureInfo из user32, который отсутствует в XP/2003. У меня под Win2003 так. Под единственной оставшейся XP тоже ошибка, но там я сейчас посмотреть не могу из-за чего. Скорее всего, тоже самое.
Разум когда-нибудь победит.
PictureView 3 — просмотр изображений различных форматов
В 'последней версии, работающей под XP' нет.