我需要打印文本内容,我使用此代码,但不起作用,论文是空的
PrintDocument myPrintServer = new PrintDocument();
myPrintServer.PrinterSettings.PrinterName = @"\\servername\printerName";
StringReader myReader = new StringReader("test string content");
myReader.Close();
有人能告诉我出了什么问题吗?
谢谢
答案 0 :(得分:0)
您将myReader数据发送到打印服务器的哪个位置?我在你的代码片段中没有看到。
您可能需要查看example on msdn特别是显示PrintPageEventHandler用于在打印画布上实际绘制的部分。
答案 1 :(得分: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());
...
}
如果您想要将预先格式化的数据从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);
}