Configuración de impresión WebBrowser

Cómo puedo cambiar la orientación de mi documento html (a Horizontal) para imprimir usando el control WebBrowser.

var browser = new WebBrowser(); browser.DocumentCompleted += (sender, args) => { var ws = sender as WebBrowser; //change paper size and orientation ws.Print(); }; browser.Navigate(path); 

Necesito cambiar el formato de tamaño de papel a C5 y la orientación a Horizontal antes de imprimir. ¿Cómo puedo hacer esto sin ningún diálogo?

Para controlar el diseño de impresión HTML más allá de @media CSS con WebBrowser (tanto WinForms como WPF), necesitaría implementar su propia plantilla de impresión de Internet Explorer . Eso proporcionaría un control total sobre los encabezados, márgenes, columnas, etc.

Específicamente, está después de TemplatePrinter.orientation . No está debidamente documentado, pero funciona. El origen de la plantilla de impresión estándar de IE se puede ver cuando se navega a res://ieframe.dll/preview.dlg .

Algunos otros recursos relevantes:

  • Más allá de la vista previa de impresión: Personalización de impresión para Internet Explorer 5.5
  • Vista previa de impresión 2: las aventuras continuas de la personalización de impresión de Internet Explorer 5.5
  • Imprimir plantillas, parte I
  • Ver plantillas para documentos fuente HTML
  • Desmitificando la impresión con el control Microsoft WebBrowser y ShowHTMLDialogEx
  • Agregue soporte para imprimir y obtener una vista previa de HTML en una aplicación MFC basada en cuadros de diálogo
  • IDM_PRINT
  • IDM_PRINTPREVIEW
  • MSKB: Cómo imprimir encabezados y pies de página personalizados para un control WebBrowser en Internet Explorer