繁体   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