簡體   English   中英

通過asp.net(c#)上的打印服務器打印文本

[英]Printing text through print server on asp.net (c#)

我需要打印文本內容,為此使用此代碼,但是不起作用,紙張為空

      PrintDocument myPrintServer = new PrintDocument();

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

有人可以告訴我怎么了嗎?

謝謝

您在哪里將myReader數據發送到打印服務器? 我在您的代碼段中看不到該代碼。

您可能需要查看msdn上示例,特別是其中顯示了PrintPageEventHandler的部分,該部分實際用於在打印畫布上繪制。

您必須添加代碼以將字符串呈現到您創建的PrintDocument對象的圖形上下文中。 請參閱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());

...

}

如果要從C#直接將預格式化的數據發送到打印機,則可以使用此MSDN示例中定義RawPrinterHelper並執行類似字符串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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM