Tengo la impresora instalada y trabajando en un servidor de intranet y deseo enviar "hello world" a la impresora predeterminada mediante programación. Esto parece ser lo más simple, pero he estado buscando en Google durante un par de horas sin éxito. (nota: estoy desarrollando asp.net mvc en la propia máquina de despliegue que ejecuta Windows 7)Impresora por defecto del lado del servidor de Programmatic "hello world" en ASP.NET MVC
Traté de traducir un ejemplo de VB here a C# pero decía "no hay impresoras instaladas".
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);
}
que también habían intentado un fragmento de MSDN here pero dijo que no reconoce el nombre de la impresora.
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();
}
Voy a poner un dólar en el "servidor de intranet" ser una máquina diferente a la que prueba este código. –
¿Qué voy a comprar con un dólar? – Benjamin
@HansPassant por favor ayuda! Prometo que le devolverá su dinero. – Benjamin