Как Internet Explorer готовит окно предварительного просмотра - PullRequest
1 голос
/ 02 ноября 2009

Мне интересно, как Internet Explorer, Mozilla Firefox или любой другой браузер генерируют окно предварительного просмотра печати веб-страницы, загруженной в браузер.

Изображение для предварительного просмотра будет содержать различные изменения, такие как удаление баннеров и рекламы, будет иметь белый фон и черный текст и т. Д.

Мы хотели бы реализовать подобное окно предварительного просмотра печати, используя элемент управления C # WebBrowser, и я не хочу использовать браузер по умолчанию для функции предварительного просмотра, такой как команда ExecWB или любая другая.

Пожалуйста, дайте нам немного света об этом.

Спасибо

Рамананд Бхат.

Ответы [ 3 ]

2 голосов
/ 02 ноября 2009

Вы можете попытаться изменить стили, открыв и изменив элементы HTMLDocument LINK.

HtmlDocument document = WebBrowser1.Document;

foreach (HtmlElement element in document.GetElementsByTagName("LINK"))
{
    string cssMedia = element.GetAttribute("Media");


    if (cssMedia == "print")
        element.SetAttribute("Media", "screen"); //sets print styles to display normally
    else
        element.SetAttribute("Media", "hidden"); //hides normal styles
}

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

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

1 голос
/ 02 ноября 2009

Чтобы напечатать экран, вам нужно настроить вызов на window.print() в javascript.

<a href="javascript:window.print();">Print screen</a>

Затем он будет использовать любой CSS, который вы назначили в качестве «печати» на странице, для визуализации страницы в качестве предварительного просмотра

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

Насколько я знаю, баннеры, рекламные объявления и так далее не удаляются браузером во время предварительного просмотра печати. CSS управляет внешним видом, когда медиа print.

...