2011-02-24 58 views
0

我在做一個應該有打印HTML頁面功能的C#項目。我使用WebBrowser控件的Print()函數。令人困惑的是,該功能在打印時從HTML頁面剝離CSS樣式!你能告訴我一個可以打印HTML頁面和CSS樣式的替代解決方案嗎?如何使用C#.NET以編程方式打印HTML文檔以及CSS樣式?

+0

沒有C#.NET這樣的東西。這只是「C#」。 – 2011-02-24 12:11:08

+0

謝謝您的更正,桑德斯先生! – Mithun 2011-02-24 12:24:28

回答

4

由於沒有任何答案幫助我,我試圖很難找出實際問題。現在,我可以弄清楚什麼是錯誤的。

問題是與我的Internet Explorer的頁面設置!不明白嗎?好的,讓我解釋一下。 Microsoft .NET的WebBrowser類僅封裝非託管Internet Explorer的功能以形成託管版本。所以,如果IE中有什麼錯誤,它也會影響WebBrowser類。

enter image description here

就我而言,我的Internet Explorer的「頁面設置」未配置爲打印背景顏色和圖像。我所要做的只是點擊標記爲「打印背景顏色和圖像」的複選框。而已! :)現在,我的應用程序愉快地打印出CSS樣式的HTML頁面!

無論如何,我感謝所有試圖幫助我的三個傢伙。

0

當您在WebBrowser中查看網站時是否應用了CSS?
這可能是,該網站只是有不同的CSS樣式的打印?
一般來說,WebBrowser應該用CSS打印,因爲它只是封裝了IE。

+0

感謝您的回答,Hilgarth!請參閱我的代碼片段。 – Mithun 2011-02-24 11:07:30

0

您必須創建不同的css進行打印,其中包含media =「print」標記而不是media =「screen」。

+0

感謝您的回答,Hrvach。不!我沒有將這件事添加到我的CSS樣式中。讓我檢查一下。 – Mithun 2011-02-24 11:10:40

0

您是否嘗試過加入:

@media screen, print { 
    //css goes here 
    } 

到你的CSS文件?這將指定css用於在屏幕上和打印

+0

感謝您的回答,WraithNath。不!我沒有將這件事添加到我的CSS樣式中。讓我檢查一下。 – Mithun 2011-02-24 11:08:41

+0

沒問題,我希望它可以幫助你。 @media也適用於從打印頁面隱藏東西 – WraithNath 2011-02-24 11:10:55

相關問題