2013-09-30 134 views
1

我在c#中使用webbrowser控件來打印html文件。當我用當前的導航器(Firefox或Chrome)打開html文件時,我的頁面「非常好」,我必須確切地打印它,看看它。但是當我在c#中使用webbrowser控件時,它就像webbrowser添加一個「margin-left」屬性,並且我的文檔不居中。http://imgur.com/q7ovEA1我也想刪除這個「page 1 of 1」和標題。 我知道,在C#中使用Internet Explorer瀏覽器控件,這就是爲什麼我說這在我的HTML文件:webbrowser在打印html文件時添加一個頁邊空白

http-equiv="X-UA-Compatible" content="IE=edge 

但這並不解決問題。

回答

1

This MSKB article應該有助於頁眉/頁腳。關於渲染問題,我期望FEATURE_BROWSER_EMULATION已經解決了這些問題,但我已經在another question of yours的評論中提出過。你是否證實瀏覽器仿真實際上起作用?如果是這樣,CSS1Compact對於compatMode109對於documentMode(取決於您的IE版本)應該顯示如下。該文件必須同時<!DOCTYPE html><meta http-equiv="X-UA-Compatible" content="IE=edge">聲明這個工作:

dynamic document = this.webBrowser.Document.DomDocument; 
dynamic navigator = document.parentWindow.navigator; 
var info = 
    "\n navigator.userAgent: " + navigator.userAgent + 
    "\n navigator.appName: " + navigator.appName + 
    "\n document.documentMode: " + document.documentMode + 
    "\n document.compatMode: " + document.compatMode; 
MessageBox.Show(info); 

將帖子控制打印佈局超出@media CSS,你可以實現自己的Internet Explorer Print Template。這將提供對標題,邊距,列等的完全控制。該功能是靈活的,但不能實施。一些相關的資源:

+0

Visual Studio在第一行返回一個NullPointerException:/ – Keenegan

+0

在[DocumentCompleted](http://msdn.microsoft.com/zh-cn/library/system.windows.forms.webbrowser.documentcompleted)上運行此代碼。 aspx)事件,當'webBrowser.Document'確實存在時。 – Noseratio

+0

好的,這裏是我有http://imgur.com/GdFdBEU – Keenegan

1

其實這個問題與我的Internet Explorer選項。事實上,在打印預覽的設置中,我有50px的保證金,我只是不得不刪除它。我在這個x /上浪費了很多時間。我不明白爲什麼我有那些奇怪的設置,我從來沒有在那臺電腦上使用IE。恩,謝謝Noseratio。