簡體   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