對於打印功能,不處理外部文檔。網站的所有文件必須合併到一個可打印的網站中。要獲得其他文檔,必須將myBrowser.Document.DomDocument轉換爲IHTMLDocument2。從該IHTMLDocument2中,您可以提取CSS或JS將其放入html中。
例如:
void myBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
myBrowser.DocumentCompleted -= new WebBrowserDocumentCompletedEventHandler(myBrowser_DocumentCompleted);
myBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(myBrowser_DocumentPrintable);
String mySource = myBrowser.DocumentText;
// Get the CSS
IHTMLDocument2 doc = (myBrowser.Document.DomDocument) as IHTMLDocument2;
myCSS = doc.styleSheets.item(0).cssText;
mySource = mySource.Replace("<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/style.css\">", "<style type=\"text/css\">"+myCSS+"</style>");
// Reload
myBrowser.DocumentText = mySource;
}
void myBrowser_DocumentPrintable(object sender, WebBrowserDocumentCompletedEventArgs e)
{
myBrowser.DocumentCompleted -= new WebBrowserDocumentCompletedEventHandler(myBrowser_DocumentPrintable);
myBrowser.Print();
}
你有沒有考慮使用HTML到PDF工具,然後打印的PDF?它們比Windows窗體中的瀏覽器控件略微不那麼抽象。另外,歡迎來到堆棧溢出:) – linkerro
這就是我正在開發的......問題:我們的網站是用xsl/xslt生成的,只有IE呈現這個權利(我們正在...)。所以我們必須使用這個瀏覽器控件。我現在如何解決這個問題? – Hannes
如果您修復了問題,您可以自己填寫答案,並將其標記爲接受的修復程序。如果沒有,只需刪除它。 – linkerro