powered by simpleCommunicator - 2.0.28     © 2024 Programmizd 02
Map
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / MicrosoftWebBrowser + PDF
16 сообщений из 16, страница 1 из 1
MicrosoftWebBrowser + PDF
    #39962141
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеем MicrosoftWebBrowser. В нем открывается PDF.

Задача: отобразить документ в размере 100%.

Решение:
Выяснилось, что это можно сделать, нажав "Control+1" или "Control+2" (ole_1 должен быть в фокусе).
Если добавить кнопку на окно и в скрипте сэмулировать "Control+1", то при нажатии на эту кнопку, все работает.
Проблема в том, что по какой-то причине не получается вызвать этот код без ФИЗИЧЕСКОГО нажатия на эту кнопку.
В прикрепленном коде работает таймер, который "жмет" на кнопку. Код на кнопке срабатывает (после каждого прохождения на кнопке меняется цифра), но ничего с PDFом не происходит.

В чем проблема?

Для тех, кто захочет помочь: импортировать окошко w_web_pdf, положить какой-нибудь большой PDF в 'C:\1.pdf'.
Код: sql
1.
Open(w_web_pdf)



Принимается любое другое решение задачи.
...
Рейтинг: 0 / 0
MicrosoftWebBrowser + PDF
    #39962272
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте сделать вызов нажатия клавиш через API вызов SendMessage
...
Рейтинг: 0 / 0
MicrosoftWebBrowser + PDF
    #39962359
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Результат не меняется
...
Рейтинг: 0 / 0
MicrosoftWebBrowser + PDF
    #39962370
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытался и с Post, и через TriggerEvent, и делал функцию вместо eventа. Результат не меняется.
Такое впечатление, что при запуске keybd_event фокус убегает из окна и, соответственно, Ctrl+1 срабатывает не на ole, а где-то в воздухе.
Но почему этого не происходит при ФИЗИЧЕСКОМ нажатии на кнопку, я не понимаю.
Такое может быть?
...
Рейтинг: 0 / 0
MicrosoftWebBrowser + PDF
    #39962515
alexis glinski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какой handle в SendMessage передаёте ? webbrowser.object.hwnd ?
...
Рейтинг: 0 / 0
MicrosoftWebBrowser + PDF
    #39962684
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexis glinski,
Нет такого.
Код: sql
1.
Send(Handle(w_web_pdf), 273, 0, Handle(ole_1))


Я к первому посту приложил файл. Можно попробовать.
...
Рейтинг: 0 / 0
MicrosoftWebBrowser + PDF
    #39962688
alexis glinski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть (см. скриншот)! Handle(ole_1) возвращает не тот хэндл :)
...
Рейтинг: 0 / 0
MicrosoftWebBrowser + PDF
    #39962864
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AFAIK перед тем, как взаимодействовать с OLE Container'ом обычно сначала нужно активировать OLE Server

про PB и MicrosoftWebBrowser точно не знаю, но в других средах, если OLE Server не активирован, то OLE Container тупо показывает ранее сохраненную картинку (windows meta file)
...
Рейтинг: 0 / 0
MicrosoftWebBrowser + PDF
    #39963239
osxl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Riska
Задача: отобразить документ в размере 100%.

Принимается любое другое решение задачи.
Код: sql
1.
ole_1.Object.Navigate2('C:\1.pdf?#zoom=100')
...
Рейтинг: 0 / 0
MicrosoftWebBrowser + PDF
    #39970081
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оно!
Спасибо.
...
Рейтинг: 0 / 0
MicrosoftWebBrowser + PDF
    #40005536
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Riska,
Продолжение темы.
Теперь нужно сделать подгон под размер объекта MicrosoftWebBrowser.
Автоматически подгоняются горизонтальные документы - здесь все хорошо.
А вот если альбомная ориентация, то ширина делается автоматом, а высота пропорционально.
Т.е. если документ большой, то появится скрол по высоте.

Внутри объекта есть Zoom To P age Lavel

Как бы это запустить автоматически?
Или вот сюда всунуть нужный зум ole_1.Object.Navigate2('C:\1.pdf?#zoom= ??????? ')
...
Рейтинг: 0 / 0
MicrosoftWebBrowser + PDF
    #40006380
osxl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Riska
Riska,
Автоматически подгоняются горизонтальные документы - здесь все хорошо.
А вот если альбомная ориентация, то ширина делается автоматом, а высота пропорционально.

Горизонтальный документ, и альбомный это одно и тоже, возможно вы имели ввиду книжную ориентацию?
Если так то:
Код: sql
1.
2.
3.
ole_1.Object.Navigate2('C:\1.pdf#view=fitV')
или
ole_1.Object.Navigate2('C:\1.pdf#page=1&view=fitV,100')


Я делал что-то подобное, но с картинками (jpeg), вернее сканы документов.
...
Рейтинг: 0 / 0
MicrosoftWebBrowser + PDF
    #40006402
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне не очень понятно желание показывать PDF через WebBrowser, когда для Pdf есть отдельный ActiveX контрол, который экспортирует дофига методов и пропертей.
...
Рейтинг: 0 / 0
MicrosoftWebBrowser + PDF
    #40007398
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.

Имелась ввиду портретная ориентация.
Код: sql
1.
2.
ole_1.Object.Navigate2('C:\1.pdf#view=fitV')
ole_1.Object.Navigate2('C:\1.pdf#view=fitH')


Работает хорошо.
А как подогнать и то и другое пропорционально?
Как при открытии документа определить как расположена картинка - горизонтально или вертикально?

Мне не очень понятно желание показывать PDF через WebBrowser
WebBrowser уже сидит на окне.
Туда суется все подряд.
Не только ПДФ.
Не хочется добавлять отдельный объект.
...
Рейтинг: 0 / 0
MicrosoftWebBrowser + PDF
    #40007400
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.

Имелась ввиду портретная ориентация.
Код: sql
1.
2.
ole_1.Object.Navigate2('C:\1.pdf#view=fitV')
ole_1.Object.Navigate2('C:\1.pdf#view=fitH')


Работает хорошо.
А как подогнать и то и другое пропорционально?
Как при открытии документа определить как расположена картинка - горизонтально или вертикально?

Мне не очень понятно желание показывать PDF через WebBrowser
WebBrowser уже сидит на окне.
Туда суется все подряд.
Не только ПДФ.
Не хочется добавлять отдельный объект.
...
Рейтинг: 0 / 0
MicrosoftWebBrowser + PDF
    #40008212
osxl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Riska
А как подогнать и то и другое пропорционально?
Как при открытии документа определить как расположена картинка - горизонтально или вертикально?
И то и другое подогнать получиться только если пропорции документа соответствую пропорциям монитора.
А так считать длину сторон страницы документа и определить горизонтальное или вертикальное расположение.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / MicrosoftWebBrowser + PDF
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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