Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Не хочет управляться SumatraPDF через DDE / 25 сообщений из 27, страница 1 из 2
22.06.2018, 22:11
    #39664479
Страдалецъ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
Технология для меня новая и видимо где-то я туплю. Итак есть программка SumatraPDF и в ней имеется поддержка DDE.
В руководстве по DDE управлению к суматре написано:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
DDE command: [Open("%bm.pdf",0,1,1)]
Server: SUMATRA
Topic: control

Open file
format: [Open("<pdffilepath>"[,<newwindow>,<focus>,<forcerefresh>])]
arguments:
if newwindow is 1 then a new window is created even if the file is already open
if focus is 1 then the focus is set to the window
if forcerefresh is 1 the command forces the refresh of the file window if already open (useful for files opened over network that don’t get file-change notifications)“.
example: [Open("c:\file.pdf", 1, 1, 0)]

Я настраиваю DdeClientConv1
DdeService = SUMATRA
DdeTopic=control
ServiceApplication=F:\Software\TCPU68\Plugins\wlx\slister\SumatraPDF.exe
ConnectMode=ddeManual

Далее обрабатываю события формы:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
procedure TForm52.Button1Click(Sender: TObject);
begin
 DdeClientItem1.Lines.Text := '[Open("F:\Software\TCPU68\Plugins\wlx\slister\req_305035478_preview")]';
 DDEClientConv1.PokeDataLines('control', DDEClientItem1.Lines);
end;

procedure TForm52.FormCreate(Sender: TObject);
begin
 if not DDEClientConv1.OpenLink
 then ShowMessage('Сервер ' + DDEClientConv1.DdeTopic + ' не обнаружен')
 else DdeClientItem1.DdeItem := 'control';
end;


SumatraPDF.exe запускается нормально, но вот файл не грузит напрочь.
Может подскажет кто, что я делаю не так?
...
Рейтинг: 0 / 0
22.06.2018, 22:55
    #39664489
d7i
d7i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
А что, разве расширение файла (pdf) указывать не надо?
Что такое у Вас req_305035478_preview?
...
Рейтинг: 0 / 0
22.06.2018, 22:57
    #39664491
Страдалецъ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
Насчет расширения подмечено верно, но проблему не решило - файл не загрузился в SumatraPDF
...
Рейтинг: 0 / 0
22.06.2018, 23:06
    #39664493
d7i
d7i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
А из командной строки файл открывается ?

F:\Software\TCPU68\Plugins\wlx\slister\SumatraPDF.exe req_305035478_preview.pdf
...
Рейтинг: 0 / 0
22.06.2018, 23:37
    #39664504
Страдалецъ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
Конечно. И с полным путем и как локальный файл, открывается нормально.
...
Рейтинг: 0 / 0
22.06.2018, 23:40
    #39664505
Страдалецъ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
Собственно вы можете скачать суматру отсюда https://www.sumatrapdfreader.org/free-pdf-reader.html , он бесплатный и компактный.
...
Рейтинг: 0 / 0
22.06.2018, 23:42
    #39664507
Страдалецъ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
И попробовать открыть через DDE любой pdf-файл
...
Рейтинг: 0 / 0
23.06.2018, 00:08
    #39664510
d7i
d7i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
Зачем вообще связываться с DDE, которой 100 лет в обед?
Это очень устаревшая технология прошлого века.
Судя по интернету после ХР с DDE полный геморрой...

Просто запустить SumatraPDF.exe из программы нельзя что-ли?
...
Рейтинг: 0 / 0
23.06.2018, 00:29
    #39664517
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
d7i> Зачем вообще связываться с DDE, которой 100 лет в обед?
d7i> Это очень устаревшая технология прошлого века.

Судя по офсайту, Суматра иначе управляться не умеет.
Во всяком случае, после запуска. Хотя лично я тоже, в
первую очередь, параметры ком.строки попробовал бы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.06.2018, 01:37
    #39664528
Страдалецъ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
Меня привлекает возможность внедрить в панельку моего приложения, как родное окно суматры с минимально необходимым инструментарием работы с PDF, но при этом надо выгружать и снова загружать суматру для каждого нового документа, ибо передаем мы его как параметр при открытии. Хорошим решением было бы после разового запуска Суматры через DDE открывать/закрывать документ, но вот тут и облом приключился.
...
Рейтинг: 0 / 0
23.06.2018, 01:42
    #39664529
Страдалецъ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
Была у меня еще надежда на вот этот параметр командной строки:
-reuse-instance : Tells an already open SumatraPDF to load the indicated files. If there are several running instances, behavior is undefined. Only needed when communicating with SumatraPDF through DDE (use the ReuseInstance setting instead otherwise).
но что-то не сработало.
...
Рейтинг: 0 / 0
23.06.2018, 07:18
    #39664540
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
Страдалецъ,

Если задача - просмотр пдф, то может быть решать её другой библиотекой?
...
Рейтинг: 0 / 0
23.06.2018, 08:42
    #39664552
Страдалецъ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
Из бесплатных, да еще не требующих дополнительных библиотек, не находится ничего. Есть в принципе неплохая обертка над хромовской PDF.dll, но до полноценного вьювера ее еще допилить надо, да и саму DLL надо будет с проектом тащить, как и в моем случае с суматрой. Так-что выигрыша и не вижу.
...
Рейтинг: 0 / 0
23.06.2018, 11:30
    #39664587
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
А почему нельзя просто открыть ПДФ-файл программой по умолчанию ? Ну будет открыт в другом окне. И чо ?
...
Рейтинг: 0 / 0
23.06.2018, 11:39
    #39664589
angro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
Страдалецъ,

libmupdf
я вот этой штукой пользовался когда понадобилось

пример использования брал здесь https://github.com/dinmil/PDFPreview
...
Рейтинг: 0 / 0
23.06.2018, 12:17
    #39664593
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
Страдалецъ> Так-что выигрыша и не вижу.

Это не устраивает: http://sql.ru/forum/1288541 ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.06.2018, 12:43
    #39664597
чччД__
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
А для чего это нужно - "в окне" показывать?
К примеру, сгенерированный отчеты MS ворд/иксель никто во встроенных окошках не показывает, хотя возможность есть...
...
Рейтинг: 0 / 0
23.06.2018, 14:13
    #39664615
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
чччД> А для чего это нужно - "в окне" показывать?

Да вьювер документов какой-нибудь. Нередкое явление.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.06.2018, 15:46
    #39664634
__Avenger__
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
Я к программе цеплял плагины из TotalCommander. Они там элементарно цепляются.
...
Рейтинг: 0 / 0
23.06.2018, 21:28
    #39664721
Страдалецъ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
Гаджимурадов РустамЭто не устраивает: http://sql.ru/forum/1288541 ?
Я это уже видел, но это еще надо допиливать до полноценного вьювера, да и DLL с собой надо будет тащить, но как альтернативное решение в целом подходит.
...
Рейтинг: 0 / 0
23.06.2018, 21:31
    #39664722
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
DLL и для Суматры надо таскать и для большинства других либ, по крайней мере, бесплатных.
А насчёт до полноценного вьювера допиливать - ну так покодишь пару часов, заодно и автору
сообщи о своих успехах и покажи - и он, и люди будут благодарны. Не боги горшки обжигают.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.06.2018, 21:38
    #39664723
Страдалецъ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
L_argo А почему нельзя просто открыть ПДФ-файл программой по умолчанию ? Ну будет открыт в другом окне. И чо ?
А то что переключение между окнами, весьма неудобная вещь когда надо одновременно держать перед глазами открытый PDF, рабочую программу и еще пару вспомогательных программ, совсем другой уровень удобности, когда все элементы заранее расставлены на своих местах и ничем не закрываются.

авторА для чего это нужно - "в окне" показывать?
К примеру, сгенерированный отчеты MS ворд/иксель никто во встроенных окошках не показывает, хотя возможность есть...
Ошибаетесь, очень даже показывают и очень активно это используют. Во многом зависит от специфики работы с файлами. Тотал командер, с его встроенными вьверами в одной панели почти под все, просто вне конкуренции по удобству.

авторЯ к программе цеплял плагины из TotalCommander. Они там элементарно цепляются. А вот это весьма интересно было бы попробовать. Такая идея меня тоже посещала, но я ее решил оставить на попозже, но если вы покажете примерчик, как это сделать буду очень благодарен.
...
Рейтинг: 0 / 0
23.06.2018, 21:50
    #39664725
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
Плагины из TotalCommander не пробовал, но стандартный
Adobe Reader цеплялся и работал на ура.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.06.2018, 01:35
    #39664986
Страдалецъ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
Наткнулся на интересную штуку PdfiumLib. Попробую посмотреть, что за зверь такой.
...
Рейтинг: 0 / 0
25.06.2018, 02:07
    #39664991
Страдалецъ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не хочет управляться SumatraPDF через DDE
Работает однако с PDF и неплохо работает. В демке не реализован текстовый поиск, но выделение текста имеется, значит есть шанс и поиск сделать. Размер немного поменьше чем хромовская дллка или суматра. Буду дальше копаться.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Не хочет управляться SumatraPDF через DDE / 25 сообщений из 27, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]