Finalmente descubrí how to print transformed XML sin preguntar al usuario o mostrar una ventana de IE, pero ahora necesito especificar un número de copias y posiblemente otras configuraciones de impresora.¿Cómo cambio programáticamente la configuración de la impresora con el control WebBrowser?
¿Hay alguna forma de cambiar programáticamente la configuración de la impresora en un control WebBrowser?
El código en cuestión:
private static void PrintReport(string reportFilename)
{
WebBrowser browser = new WebBrowser();
browser.DocumentCompleted += browser_DocumentCompleted;
browser.Navigate(reportFilename);
}
private static void browser_DocumentCompleted
(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser browser = sender as WebBrowser;
if (null == browser)
{
return;
}
browser.Print();
browser.Dispose();
}
Cualquier problema con este enfoque si los usuarios están bloqueados hacia abajo no-Administradores? ¿Qué claves de registro necesito establecer? –
Siempre que el usuario pueda cambiar la configuración en el cuadro de diálogo Configurar página, puede editar la configuración del registro sobre la marcha. Buscaré las claves y las pondré en mi respuesta. –
¿Hay alguna manera de cambiar el nombre de la impresora o el número de copias a través de ese método? Eso es lo que realmente necesito hacer, pero las claves de registro solo tienen encabezado, pie de página y márgenes. Si no, voy a seguir adelante y aceptar su respuesta y obligar a los usuarios a simplemente elegir su maldita impresora y número de copias. –