2009-04-15 19 views
5

Estoy usando el siguiente código para imprimir un documento de Word desde una aplicación C#.Uso de Process.Start para imprimir documentos sin mostrar Word

  ProcessStartInfo info = new ProcessStartInfo(myDocumentsPath); 
      info.Verb = "Print"; 
      info.CreateNoWindow = true; 
      info.WindowStyle = ProcessWindowStyle.Hidden; 
      Process.Start(info); 

Esto funciona bien Word abre e imprime el documento, y luego se cierra. El problema es que Word se abre visiblemente, a pesar de CreateNoWindow = true y WindowsStyle = Hidden. Hubiera esperado que estas dos configuraciones significaran que Word se abrió en silencio.

EDITAR: No sugiera la automatización del modelo de objetos Word - Tengo muchos tipos diferentes de documentos que deben imprimirse (PDF, etc.) - solo los documentos Word están causando el problema en este momento.

¿Alguna idea?

TIA

Matt

+0

¿Qué quiere decir Word object model automation? ¿Te refieres a Microsoft.Interop.Word? –

+1

@Jon: la automatización de Word no requiere necesariamente el uso de Microsoft.Interop.Word. Es solo una forma además de usar VBA o COM. En realidad, Microsoft.Interop.Word no es más que un contenedor para las interfaces COM, y de hecho no es necesario para la automatización de los lenguajes .NET. –

+0

+1 divo. Recuerdo, en los viejos tiempos, cuando solíamos soñar con la interoperabilidad COM. DDE fue tan bueno como lo consiguió :-) – Matt

Respuesta

6

Palabra es libre de ignorar (y al parecer hace caso omiso) su solicitud que permanecen ocultos.

Véase también Why is my hidden process still visible?

+0

Sí, eso es cierto. Y es por eso que no hay forma de evitar la automatización de COM si desea que su aplicación no sea visible. –

+0

Eso es un dolor, esperaba evitar las interferencias. Oh bien...:-) – Matt

Cuestiones relacionadas