Cómo cambiar las opciones estándar en la interfaz de usuario de vista previa de impresión (HTML)

[ Este artículo está destinado a desarrolladores de Windows 8.x y Windows Phone 8.x que escriben aplicaciones de Windows en tiempo de ejecución. Si estás desarrollando para Windows 10, consulta la documentación más reciente

Este tutorial muestra cómo personalizar las opciones de impresión que se muestran en la interfaz de usuario de vista previa de impresión.

En la interfaz de usuario de vista previa de impresión se muestran las siguientes opciones de manera predeterminada:

colorMode copies orientation

 

Además de los parámetros de configuración precedentes, Windows proporciona otras opciones de impresora comunes que puedes agregar a la interfaz de usuario de vista previa de impresión. Son las siguientes.

binding collation duplex holePunch
inputBin mediaSize mediaType nUp
printQuality staple    

 

Estas opciones se definen en la clase standardPrintTaskOptions. Puedes agregar o quitar opciones de la lista que se muestra en la interfaz de usuario de vista previa de impresión. También puedes cambiar el orden en que aparecen las opciones y establecer la configuración predeterminada que se muestra al usuario.

Pero los cambios que realices mediante este método afectan solo a la interfaz de usuario de vista previa de impresión. Los usuarios siempre pueden acceder a todas las opciones compatibles con la impresora haciendo clic en Más configuraciones en la interfaz de usuario de vista previa de impresión.

Aunque tu aplicación puede especificar las opciones de impresión que se van a mostrar, solo aparecerán en la interfaz de usuario de vista previa de impresión las que son compatibles con la impresora seleccionada. La interfaz no mostrará opciones que no sean compatibles con la impresora seleccionada.

Guía básica: Relación de este tema con los demás. Consulta:

Lo que debes saber

Tecnologías

Requisitos previos

  • Debes estar familiarizado con el control de eventos y eventos de Windows, JavaScript y HTML.
  • Debes tener instalado Microsoft Visual Studio.
  • Debes tener una impresora instalada.
  • Debes tener una aplicación de la Tienda Windows a la que desees agregar un botón de impresión. Si no tienes tu propia aplicación, puedes descargar la aplicación de muestra PrintSample para usarla.
  • Tu aplicación ya debe ser compatible con la impresión básica de Windows. Si no lo es, consulta Inicio rápido: imprimir desde tu aplicación para obtener información sobre cómo agregarle compatibilidad con impresión básica de Windows.

Instrucciones

Paso 1: Abre tu aplicación en Visual Studio.

El procedimiento descrito en este tutorial hace referencia a la aplicación PrintSampleJS del tema sobre la aplicación de muestra PrintSample. Si vas a personalizar la interfaz de usuario de vista previa de impresión de tu propia aplicación, ábrela en Visual Studio en lugar de abrir la aplicación de muestra PrintSample.

  1. Abre la aplicación de muestra PrintSample y descarga el ejemplo de JavaScript en tu equipo.
  2. En Visual Studio, haz clic en File > Open Project y ve a la carpeta que contiene el archivo de solución de la aplicación de muestra que descargaste en el paso anterior.
  3. Selecciona el archivo de solución PrintSampleJS y haz clic en Abrir.

Paso 2: Compilar y probar la aplicación

  1. Haz clic en Compilar > Compilar solución para compilar la aplicación en la que estás trabajando. Asegúrate de que no haya mensajes de error en el panel Salida en la parte inferior de la pantalla.
  2. Haz clic en Depurar > Iniciar sin depurar.
  3. Comprueba que, tras unos segundos, se muestre en pantalla la aplicación Print JS Sample.
  4. Si la aplicación se ejecuta sin errores, vuelve a Visual Studio y haz clic en Depurar > Detener depuración.

Paso 3: Definir las opciones de impresión que se van a mostrar

Una vez que se carga la pantalla de la aplicación, se registra para el contrato de Imprimir. El registro incluye la definición del controlador de eventos PrintTaskRequested. El código para personalizar las opciones que aparecen en la interfaz de usuario de vista previa de impresión se agrega al controlador de eventos PrintTaskRequested.

Modifica el controlador de eventos PrintTaskRequested para que incluya las instrucciones de printTask.options para configurar los parámetros de impresión que deseas que aparezcan en la interfaz de usuario de vista previa de impresión.

  1. Busca el controlador de eventos PrintTaskRequested en la aplicación. En la aplicación de muestra PrintSample, el controlador de eventos básico PrintTaskRequested tiene el mismo aspecto que el de este ejemplo.

    function onPrintTaskRequested(printEvent) {
        var printTask = printEvent.request.createPrintTask("Print Sample", function (args) {
            args.setSource(MSApp.getHtmlPrintDocumentSource(document));
    
            // Register the handler for print task completion event
            printTask.oncompleted = onPrintTaskCompleted;
        });
    }
    
    function onPrintTaskCompleted(printTaskCompletionEvent) {
        // Notify the user about the failure
        if (printTaskCompletionEvent.completion === Windows.Graphics.Printing.PrintTaskCompletion.failed) {
            WinJS.log && WinJS.log("Failed to print.", "sample", "error");
        }
    }
    
  2. Agrega las opciones de impresión que deseas mostrar en la interfaz de usuario de vista previa de impresión. Las opciones aparecerán en forma vertical en la interfaz de usuario de vista previa de impresión, en el orden en que las agregaste. La primera opción agregada estará en la parte superior y las demás aparecerán debajo en una secuencia.

    Nota  Este código se toma de scenario3.js, de la aplicación de muestra PrintSample. Si vas a agregar este código a tu aplicación, asigna las opciones de impresión que quieras mostrar al usuario en la interfaz de usuario de vista previa de impresión.

     

    Importante  Si llamas a printTask.options.displayedOptions.clear(), se quitarán todas las opciones de impresión de la interfaz de usuario de vista previa de impresión; solo quedará el vínculo Más configuraciones. Asegúrate de usar el método append para especificar las opciones que deseas mostrar en la interfaz de usuario de vista previa de impresión.

     

    function onPrintTaskRequested(printEvent) {
        var printTask = printEvent.request.createPrintTask("Print Sample", function (args) {
            args.setSource(MSApp.getHtmlPrintDocumentSource(document));
    
            // Choose the printer options to be shown.
            // The order in which the options are appended determines the order in which they appear in the UI
            printTask.options.displayedOptions.clear();
            printTask.options.displayedOptions.append(Windows.Graphics.Printing.StandardPrintTaskOptions.copies);
            printTask.options.displayedOptions.append(Windows.Graphics.Printing.StandardPrintTaskOptions.mediaSize);
            printTask.options.displayedOptions.append(Windows.Graphics.Printing.StandardPrintTaskOptions.orientation);
            printTask.options.displayedOptions.append(Windows.Graphics.Printing.StandardPrintTaskOptions.duplex);
    
            // Preset the default value of the printer option
            printTask.options.mediaSize = Windows.Graphics.Printing.PrintMediaSize.northAmericaLegal;
    
            // Register the handler for print task completion event
            printTask.oncompleted = onPrintTaskCompleted;
        });
    }
    
  3. Compila y prueba tu aplicación como se especificó anteriormente.

Observaciones

Para ver más escenarios de impresión para aplicaciones de la Tienda Windows, consulta la aplicación de muestra PrintSample.

Temas relacionados

Muestra de impresión de aplicación de la Tienda Windows

Inicio rápido: imprimir desde tu aplicación

Procedimientos recomendados para el desarrollo de aplicaciones de la Tienda Windows con funcionalidad de impresión