ActiveX Распечатать веб-страницу - PullRequest
1 голос
/ 18 ноября 2009

Я хотел бы найти или написать элемент управления ActiveX Internet Explorer, который позволит мне распечатывать веб-страницу на определенном принтере без диалогового окна. Проблема, которую я имею, состоит в том, что эта конкретная страница должна быть напечатана на принтере этикеток с очень специфическими свойствами ориентации. Кто-нибудь может заставить меня начать? Спасибо.

Ответы [ 3 ]

1 голос
/ 13 июля 2010

Если вы подключаетесь к сообщениям в окнах IE и ждете, пока не активируется диалоговое окно печати, с помощью GetWindowText () найдите окно с заголовком «Печать», вы можете явно отправлять сообщения различным элементам управления, чтобы установить настройки, и нажать кнопка «Печать». Это гораздо проще сделать в IE7, чем в IE8, но с помощью SPY ++, чтобы найти идентификаторы управления для каждой из настроек, вы можете сделать это.

0 голосов
/ 24 ноября 2009

Я сделал это, и это легко, но я не могу зарегистрировать свой элемент управления ActiveX ...

Когда я регистрируюсь вручную, он работает, но когда я запускаю его сам, он не работает.

Все, что вам нужно сделать, это создать форму, в которой есть элемент управления WebBrowser. Передайте страницу, которую вы хотите просмотреть, свойству NavigateURL и вызовите метод Navigate.

После завершения навигации вы можете вызвать метод печати. Поскольку вы выполняете печать на принтере этикеток, просто не забудьте установить поля страниц, удалить верхний и нижний колонтитулы и снова установить их после завершения печати страницы.

(я делал свою работу в .Net)

0 голосов
/ 18 ноября 2009

Почему требуется, чтобы вы печатали без диалогового окна? Вы можете открыть диалоговое окно автоматически с помощью Javascript, и таким образом пользователь сможет выбрать принтер и параметры; в противном случае вам придется жестко задавать имя принтера. Пример:

<body onload="javascript:window.print();">

Возможно, вам следует подумать о том, чтобы вывести что-то наподобие документа PDF или Word, предназначенного для такого типа макета - HTML-код может отображаться по-разному в разных версиях IE, и вы, вероятно, не хотите, чтобы что-то более специфичное, чем метки, запутаться.

...