powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Не хочет управляться SumatraPDF через DDE
25 сообщений из 27, страница 1 из 2
Не хочет управляться SumatraPDF через DDE
    #39664479
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Технология для меня новая и видимо где-то я туплю. Итак есть программка 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
Не хочет управляться SumatraPDF через DDE
    #39664489
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что, разве расширение файла (pdf) указывать не надо?
Что такое у Вас req_305035478_preview?
...
Рейтинг: 0 / 0
Не хочет управляться SumatraPDF через DDE
    #39664491
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет расширения подмечено верно, но проблему не решило - файл не загрузился в SumatraPDF
...
Рейтинг: 0 / 0
Не хочет управляться SumatraPDF через DDE
    #39664493
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А из командной строки файл открывается ?

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

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

Судя по офсайту, Суматра иначе управляться не умеет.
Во всяком случае, после запуска. Хотя лично я тоже, в
первую очередь, параметры ком.строки попробовал бы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Не хочет управляться SumatraPDF через DDE
    #39664528
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меня привлекает возможность внедрить в панельку моего приложения, как родное окно суматры с минимально необходимым инструментарием работы с PDF, но при этом надо выгружать и снова загружать суматру для каждого нового документа, ибо передаем мы его как параметр при открытии. Хорошим решением было бы после разового запуска Суматры через DDE открывать/закрывать документ, но вот тут и облом приключился.
...
Рейтинг: 0 / 0
Не хочет управляться SumatraPDF через DDE
    #39664529
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Была у меня еще надежда на вот этот параметр командной строки:
-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
Не хочет управляться SumatraPDF через DDE
    #39664540
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Страдалецъ,

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

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

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

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

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

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

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


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