Hola!
Desde una aplicación WEB ASP estoy enviando a imprimir a una impresora de red.
En la página web hay un link que ejecuta la siguiente instrucción:
RawPrinterHelper.SendStringToPrinter("\\192.168.0. 7", cadenaImpresion);
pero se cae en el método OpenPrinter.
¿Cómo puedo saber a priori si la aplicación está viendo la impresora?
Le hago ping a la dirección 192.168.0.7 y contesta.
¿Hay algo que pueda ejecutar desde la aplicación web para que me muestre la lista de impresoras disponibles que ve el servidor?
Por que entiendo que quien envía a imprimir a la impresora 192.168.0.7 es el server donde está el IIS que corre la aplicación WEB y no el PC desde dónde se está ejecutando?
o
¿Puedo enviar a imprimir una línea usando la clase RawPrinter a las impresoras que ve el PC local?
¿Puedo abrir una ventan de dialogo para elegir la impresora del PC local?
Intenté con :
// Allow the user to select a printer.
PrintDialog pd = new PrintDialog();
pd.PrinterSettings = new System.Drawing.Printing.PrinterSettings();
if (DialogResult.OK == pd.ShowDialog());
{
//Envía a la impresora:
RawPrinterHelper.SendStringToPrinter(pd.PrinterSet tings.PrinterName, cadenaImpresion);
}
Pero me da el siguiente mensaje de error:
Error al imprimir ...
. Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application
Agradecería mucho la ayuda