2011-02-10 62 views
3

如何打印HTML字符串,以便所有的HTML標籤都能被正確識別和呈現?我想有可能創建一個.HTML文件並打印它,但是如果有一種方法可以在不創建額外文件的情況下執行此操作,那麼我會對如何進行學習感興趣。謝謝!在不創建HTML文件的情況下打印HTML字符串?

附錄:

pd.PrintPage += new PrintPageEventHandler(PrintDocument_PrintPage); 
pd.Print(); 

更多代碼:

static private void PrintDocument_PrintPage(Object sender, PrintPageEventArgs e) { 
    Font printFont = new Font("Courier New", 12); 
    e.Graphics.DrawString("<b>Hello</b> world", printFont, Brushes.Black, 0, 0); 
} 

打印結果:

<b>Hello</b> world 
+0

你遇到什麼問題?我認爲將所有適當的字符粘貼到「字符串」中都可以,但是可能不會? – John 2011-02-10 19:40:22

+0

如果您輸出正確的HTML,它將被「識別並呈現正確」。你在哪裏「打印」到?你用什麼來查看HTML? – Oded 2011-02-10 19:41:11

回答

4

Graphics對象不理解HTML,以及DrawString將會嚴格的要求,如你已經發現了。

您需要使用帶有粗體字體的圖形對象Hello和非粗體字體world並刪除HTML標記。

因此,對於更一般的方法,您需要HTML解析器(如HTML Agility Pack)以及將HTML翻譯爲不同字體的方法。

您可能會發現使用WebBrowser控件更容易並使用它進行打印。

相關問題