我已经安装了打印机并在Intranet服务器上工作,我想以编程方式将“hello world”发送到默认打印机。这似乎是最简单的事情,但我已经搜索了几个小时没有成功。 (注意:我正在运行Windows 7的部署机器上开发asp.net mvc)ASP.NET MVC中以编程方式“hello world”默认SERVER端打印机
我尝试将VB here的示例转换为C#,但它说“没有安装打印机”。
public void TestPrint()
{
var x = new PrintDocument();
x.PrintPage += new PrintPageEventHandler(PrintPage);
x.Print();
}
private void PrintPage(Object sender, PrintPageEventArgs e)
{
var textToPrint = "Hello world";
var printFont = new Font("Courier New", 12);
var leftMargin = e.MarginBounds.Left;
var topMargin = e.MarginBounds.Top;
e.Graphics.DrawString(textToPrint, printFont, Brushes.Black, leftMargin, topMargin);
}
我还曾试图片段从MSDN here但它说,它不承认打印机名称。
public void TestPrint(string msg)
{
var server = new LocalPrintServer();
var queue = LocalPrintServer.GetDefaultPrintQueue();
// Call AddJob
var job = queue.AddJob();
// Write a Byte buffer to the JobStream and close the stream
var stream = job.JobStream;
var buffer = UnicodeEncoding.Unicode.GetBytes(msg);
stream.Write(buffer, 0, buffer.Length);
stream.Close();
}
我把降压的“内网服务器”是一个与测试此代码的机器不同。 –
我打算购买什么? – Benjamin
@HansPassant请帮忙!我保证会把你的美元退回来。 – Benjamin