Suprimir el cuadro de diálogo Guardar como en el Escritor de documentos XPS de Microsoft al convertir GDI a XPS

StackOverflow https://stackoverflow.com/questions/810550

  •  03-07-2019
  •  | 
  •  

Pregunta

En su entrada de blog Impresión de documentos en el Escritor de documentos XPS de Microsoft sin interacción del usuario Feng Yuan dice

  

Si está imprimiendo desde sus propias aplicaciones, es fácil especificar MXDW como el controlador de la impresora y proporcionar un nombre de archivo para el documento XPS que se guardará en

¿Alguien puede explicar cómo hacerlo y proporcionar un ejemplo de código?

El principal problema que tengo es suprimir el cuadro de diálogo Guardar como que aparece el Escritor de documentos XPS de Microsoft. Me detesta recurrir a la piratería de la interfaz de usuario como lo hace Yuan en su publicación.

Actualmente, mi aplicación realiza llamadas de dibujo GDI en el contexto del dispositivo de cualquier impresora que el usuario quiera usar. Puedo hacer bien esas llamadas en el Escritor de documentos XPS, pero cuando llega el momento de completar la impresión, el Escritor de XPS abre el cuadro de diálogo Guardar como.

¿Fue útil?

Solución

De hecho, el mismo autor proporciona la respuesta Impresión en Microsoft XPS Escritor de documentos sin mostrar el cuadro de diálogo Guardar archivo . La solución es imprimir en un archivo utilizando la impresora Microsoft XPS Document Writer.

Otros consejos

Y si desea evitar golpear el sistema de archivos con su documento XPS, Shahed Kahn proporciona un código de muestra en Cargando Xps desde MemoryStream .

Esto es lo que funciona para mí:

  With Me.PrintDocument
     With .PrinterSettings
        .PrinterName = "Microsoft XPS Document Writer"
        .PrintToFile = True
        .PrintFileName = "c:\test.xps"
     End With
    .Print()
  End With

Hasta donde yo sé, esto no está documentado. Pruébelo y no obtendrá el temido cuadro de diálogo Guardar como. En su lugar, obtienes un archivo XPS limpio generado por MXDW (c: \ test.xps).

Simplemente quite y vuelva a instalar Microsoft XPS Document Writer, siga los pasos a continuación durante la reinstalación ...

Vaya a Inicio - Panel de control - Agregar nueva impresora. Luego elija Impresora local y Crear nuevo puerto. Seleccione Puerto local en el cuadro combinado. Aparecerá el cuadro de diálogo que solicita un nombre de puerto. Para que nuestro controlador XPS imprima en el archivo especificado sin pedirle al usuario una ubicación, escriba la ruta completa para este archivo de salida. Este archivo no necesita existir en este momento (por ejemplo, c: \ mydriveroutput.xps).

Vea este enlace para obtener información detallada: https: / /kibitzercz.blogspot.in/2012/01/building-and-using-xpsdrvsmpl-under.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top