Cómo: Imprimir desde un programa de Windows

En esta sección se describe cómo imprimir desde un programa nativo de Windows.

Información general

La impresión suele ser una parte integral de un programa nativo de Windows. Por lo tanto, no es una característica que puede agregar fácilmente después de haber escrito el programa. Dicho esto, si el programa está diseñado para usar documentos XPS, no necesitará mucho, si existe, código adicional para representar el contenido del documento para imprimirlo. Los documentos XPS de la aplicación se pueden enviar directamente a una impresora que tiene un controlador de impresora XPSDrv.

Use la API de documentos XPS para crear el contenido del documento y la API de impresión XPS para enviar el contenido del documento a la impresora. XPS Print API procesa el contenido del documento para la impresora de destino. Si la impresora seleccionada tiene un controlador de impresora XPSDrv, el documento se enviará a la impresora sin ninguna conversión adicional. Si la impresora seleccionada tiene un controlador de impresora basado en GDI, el programa también puede enviar el contenido a la impresora y XPS Print API convierte el contenido del documento para que sea compatible con el controlador de impresora basado en GDI. En cualquier caso, el procesamiento que realiza la aplicación es el mismo.

Tareas de impresión

En los temas siguientes se describen los pasos básicos de impresión del contenido del programa.

  1. Recopilar información del trabajo de impresión del usuario.

    Normalmente, un usuario inicia un trabajo de impresión cuando selecciona la opción de impresión en un menú y el programa muestra un cuadro de diálogo de impresión para recopilar los detalles del trabajo de impresión. Normalmente, el usuario selecciona la impresora, el número de copias y los detalles de configuración de la impresora, como la impresión en dos lados y el acoplamiento.

    Para obtener información sobre cómo hacerlo, vea How To: Collect Print Job Information from the User.

  2. Crear indicador de progreso.

    Un indicador de progreso proporciona al usuario comentarios sobre cómo progresa el trabajo de impresión. El indicador de progreso puede ser una barra de progreso que forma parte de un cuadro de diálogo que incluye el botón Cancelar del trabajo o puede ser una barra de progreso en la barra de estado de la parte inferior de la ventana principal.

    Para obtener información sobre el indicador de progreso funciona, vea Cómo: Mostrar el progreso del trabajo de impresión.

    Para obtener más ideas sobre cómo mostrar el progreso del trabajo de impresión, consulte la información de las directrices de desarrollo de la interfaz de usuario de aplicaciones de Windows.

  3. Inicie el subproceso de impresión.

    Una vez que el programa haya recopilado la información del trabajo de impresión del usuario, puede iniciar el subproceso de impresión para realizar el procesamiento real del documento para imprimirlo.

    Para obtener información sobre el subproceso de impresión, vea Cómo: Iniciar y detener un subproceso de impresión.

  4. Representar los datos del trabajo de impresión.

    El subproceso de impresión representa los datos del documento para imprimir. Debe dividir este procesamiento en pasos de procesamiento discretos para que el usuario pueda interrumpir el procesamiento y cancelar el trabajo, así como para no permitir que el subproceso de procesamiento bloquee otros subprocesos y procesos.

    Para obtener información sobre cómo representa los datos del trabajo de impresión, vea How To: Render Print Job Data.

  5. Supervise el progreso del trabajo de impresión.

    A medida que se realiza cada paso de procesamiento, actualice la barra de progreso para informar al uso. Calcule los pasos de procesamiento para completar el trabajo solicitado y, a continuación, actualice la barra de progreso a medida que se realizan esos pasos.

  6. Cierre el trabajo de impresión y finalice el subproceso de impresión.

    Una vez que el programa haya enviado el trabajo de impresión a la impresora, o si el usuario ha cancelado el trabajo de impresión, debe cerrar el trabajo de impresión y liberar los recursos utilizados por el trabajo de impresión.

Cómo: Recopilar información del trabajo de impresión del usuario