2011-09-15 78 views
2

可能重複:
Send document to printer with C#發送字符串直接輸出到打印機

我想直接發送一個字符串值打印機。當然,我可以將一張數據表發送給打印機是非常好的。但首先我想知道如何發送我的字符串值,而不用提示最終用戶打印機。 我在互聯網上搜索了3個小時,但沒有找到答案。 請幫助我。 Thx :)

+4

諷刺的是,這是第一次打在谷歌,當你搜索這個。 – w1res

回答

11

您可以使用PrintDocument名稱空間下的System.Drawing.PrintingPrint方法將使用默認打印機

string s = "string to print"; 

PrintDocument p = new PrintDocument(); 
p.PrintPage += delegate(object sender1, PrintPageEventArgs e1) 
{ 
    e1.Graphics.DrawString(s, new Font("Times New Roman", 12), new SolidBrush(Color.Black), new RectangleF(0, 0, p.DefaultPageSettings.PrintableArea.Width, p.DefaultPageSettings.PrintableArea.Height)); 

}; 
try 
{ 
    p.Print(); 
} 
catch (Exception ex) 
{ 
    throw new Exception("Exception Occured While Printing", ex); 
} 

找到例如打印字符串從here

+0

非常感謝,很多, – Shahrokh

1

不知道你正在尋找,但這裏有我在1分鐘內MSDN上關於打印發現兩篇文章。簡而言之,PrintDocument類會爲打印的每個頁面引發PrintPage事件而包裝功能。

http://msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument.aspx http://msdn.microsoft.com/en-us/library/system.windows.forms.printdialog.aspx

+0

我相信OP想直接發送文本到文本打印機。就像我們以前在com端口打印機上做預窗一樣。在圖形上繪製的文本實際上並不是發送給打印機的字符串,而是圖片。 – AaA