2010-06-30 90 views
0

我需要打印文本內容,我用這個這個代碼,但不工作,打印文本上asp.net(C#)

 PrintDocument myPrintServer = new PrintDocument(); 

     myPrintServer.PrinterSettings.PrinterName = @"\\servername\printerName"; 
     StringReader myReader = new StringReader("test string content"); 
     myReader.Close(); 

有人能告訴紙張空我有什麼不對?

謝謝

回答

0

您必須添加代碼才能將字符串呈現到您創建的PrintDocument對象的圖形上下文中。見example on MSDN,並注意他們如何使用事件處理程序來呈現文本頁面:

  pd.PrintPage += new PrintPageEventHandler 
      (this.pd_PrintPage); 
      pd.Print(); 

然後:

// The PrintPage event is raised for each page to be printed. 
private void pd_PrintPage(object sender, PrintPageEventArgs ev) 
{ 

...

 ev.Graphics.DrawString(line, printFont, Brushes.Black, 
     leftMargin, yPos, new StringFormat()); 

...

} 

如果你想發送pr電子格式的數據直接從C#打印機,你可以使用RawPrinterHelper defined in this MSDN example並做類似 string s =「Hello」; //設備相關的字符串,需要一個FormFeed?

// Allow the user to select a printer. 
PrintDialog pd = new PrintDialog(); 
pd.PrinterSettings = new PrinterSettings(); 
if(DialogResult.OK == pd.ShowDialog(this)) 
{ 
    // Send a printer-specific to the printer. 
    RawPrinterHelper.SendStringToPrinter(pd.PrinterSettings.PrinterName, s); 
} 
+0

thk你,但有沒有另一種方式發送字符串打印機沒有繪圖?讓打印機(斑馬zpl)解釋這個字符串。 – TimeIsNear 2010-06-30 15:25:09

+0

我編輯了答案,包括髮送一個原始字符串到打印機。這是你在找什麼? – 2010-07-01 17:05:10

0

你是哪裏的myReader數據發送到打印服務器?我沒有看到你的代碼片段。

您可能想要查看example on msdn特別是它顯示正在使用的PrintPageEventHandler實際在畫布上繪製的部分。