繁体   English   中英

Internet Explorer如何准备“打印预览”窗口

[英]How Internet Explorer Prepare Print Preview window

我想知道Internet Explorer,Mozilla Firefox或任何其他浏览器如何生成加载到浏览器中的网页的打印预览窗口。

预览图像将进行各种更改,例如删除横幅和副词,将具有白色背景和黑色文本等。

我们想使用C#WebBrowser控件实现类似的打印预览窗口,并且我不想使用默认的浏览器打印预览功能,例如ExecWB命令或任何其他功能。

请给我们一些启示。

谢谢,

Ramanand Bhat。

您可以尝试通过访问和修改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
}

这将更改您的打印样式以在屏幕视图中显示(即作为常规样式表,而不必使用打印预览窗口),并且将不显示您的屏幕样式(因为它们不再具有Media类型的屏幕) )

这是示例代码,因此没有任何错误检查。 它也可能有一些语法错误,但这应该是实现您的目标的开始。

要打印屏幕,您需要在javascript中设置对window.print()的调用。

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

然后它将使用您在页面中分配为“打印”的任何CSS来将页面呈现为预览

据我所知,浏览器在打印预览期间不会删除标语,广告等。 print介质时,CSS决定外观。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM