Pregunta

Actualmente estoy proporcionando al usuario dos controles: guardar e imprimir.Cuando el usuario selecciona GUARDAR, una región de la pantalla WPF está enviada y enviada a través de un XPSDocumentador y el usuario se le solicita y se recomienda para firmar el nuevo documento XPS.Cuando el usuario selecciona Imprimir, un PrintDialog.Printvisual imprime esa misma región a una impresora seleccionada por el usuario.

Todo bien y bueno, excepto que el escritor de documentos de Microsoft XPS es una de las opciones para impresoras.¿Hay alguna manera de prevenir o interceptar la selección de usuarios del escritor de documentos XPS y enviarlos al método GUARDAR para que pueda solicitar al usuario que firme el documento XPS?

¿Fue útil?

Solución

Disclaimer: I've never used PrintDialog before, but it looks like something like this might work:

System.Windows.Controls.PrintDialog printDialog = new PrintDialog();
if (printDialog.ShowDialog() == true)
{
    PrintQueue selectedQueue = printDialog.PrintQueue;
    if (selectedQueue.Name == "Microsoft XPS Document Writer")
    {
        // Run your XPS save & sign code
    }
    else
    {
        // Run your printDialog.PrintVisual() code
    }
}

I don't really like having the printer name hard-coded (I assume it varies with language settings). Possibly there is a better property of PrintQueue that you can use to identify this printer.

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