Solución de problemas de impresión universal: descripción de las fases de un trabajo de impresión
En este artículo se proporciona información general sobre cómo un trabajo de impresión pasa por distintos componentes de impresión universal y cómo se actualiza su estado.
Impresiones de usuario (desde un cliente)
Un usuario elige una impresora de impresión universal, selecciona las opciones de impresión deseadas y, a continuación, hace clic en el botón Imprimir. El usuario puede imprimir desde cualquiera de los orígenes siguientes (a veces nos referimos a ellos como clientes):
- Desde el sistema operativo Windows (PC, Windows 365, Azure Virtual Desktop etcetera).
- Desde una aplicación de explorador web como OneDrive para la Empresa, Excel en el explorador.
- Aplicaciones de otros proveedores o aplicaciones de línea de negocio (LOB) desarrolladas mediante las API de Microsoft Graph.
- Otros clientes (como Mac etcetera.).
SO Windows
Veamos un ejemplo de experiencia del sistema operativo Windows.
Una vez que el usuario imprime en Windows, estos son los pasos que tienen lugar:
- La aplicación puede usar uno de los cuadros de diálogo de impresión estándar de Windows (como el Bloc de notas) o su propio cuadro de diálogo de impresión (por ejemplo, Microsoft aplicación de Office s, Adobe Acrobat etcetera).). Cualquiera de estos diálogos enviará el trabajo de impresión al administrador de trabajos de impresión de Windows que se ejecuta en Windows. Para impresión universal, cada impresora usa el controlador de clase Universal Print integrado. Spooler usa este controlador para procesar aún más el trabajo.
- La cola de impresión de Windows puede invocar opcionalmente una aplicación de soporte de impresión (PSA) si la impresora está asociada a una y se instala en el dispositivo. Normalmente, los OEM de impresora publican los PSA y se asocian a sus modelos de impresora. PSA puede instalarse automáticamente en Windows y vincularse a la impresora.
- El administrador de trabajos de impresión de Windows carga el trabajo de impresión (metadatos y carga) en el servicio de impresión universal. El trabajo se envía mediante el Protocolo de impresión de Internet (IPP) a través de HTTPS. El puerto usado para la impresora especificada se denomina IPP-GUID.
Imprimir trabajo en la nube
Cuando un cliente envía un trabajo de impresión al servicio de impresión universal, realiza las siguientes acciones:
- Valida el trabajo de impresión. Esto garantiza que los atributos del trabajo de impresión coincidan con los atributos notificados por la impresora. Los trabajos que producen un error en la validación se rechazan y se devuelve un error al cliente. Los trabajos validados correctamente se almacenan en la cola en la nube y están disponibles en el portal de impresión universal en los trabajos de impresión de la impresora. En esta fase, el estado del trabajo será
Pending
oPaused
.- El trabajo puede estar en un
Paused
estado si la impresora tiene habilitada la versión segura y el trabajo está esperando, o si hay una tarea desencadenada por una aplicación en la nube de terceros. - Si la impresora no tiene una versión segura o no tiene una tarea de terceros, irá directamente al
Pending
estado. De lo contrario, el estado cambiará dePaused
aPending
solo después de que el trabajo se haya liberado o la tarea se haya marcado como completada.
- El trabajo puede estar en un
- Para un
Pending
trabajo, La impresión universal notifica a la impresora correspondiente que hay al menos un trabajo de impresión en espera en cola en la nube. Algunas impresoras (y conector de Impresión universal) escuchan estas notificaciones en tiempo real, mientras que otras impresoras pueden sondear periódicamente estas notificaciones (por ejemplo, cada 30 segundos).
Imprimir trabajo en la impresora
- Cuando una impresora recibe la notificación, puede decidir procesar el trabajo de impresión inmediatamente o esperar (por ejemplo, si la impresora ya está ocupada imprimiendo otro trabajo de impresión).
- La impresora comienza a procesar el trabajo solicitando primero la lista de TODOS los
Pending
trabajos de impresión. La impresora puede decidir procesar estos trabajos uno a uno o puede procesar varios trabajos en paralelo. - En el caso de la impresora de trabajo comienza el procesamiento, primero reclama el trabajo al reconocerlo. Esto informa a la impresión universal de que el trabajo ahora está bloqueado para su procesamiento por parte de la impresora específica y el estado del trabajo de impresión cambia a
Processing
. - La impresora descarga los metadatos y la carga del trabajo de impresión.
- La impresora procesa la carga de impresión y las impresiones.
- Nota: En algunos casos, la impresora puede confirmar el trabajo, pero puede poner el trabajo en espera temporalmente. Durante este tiempo, la impresora puede actualizar el estado del trabajo a
Processing-Stopped
en impresión universal.
- Nota: En algunos casos, la impresora puede confirmar el trabajo, pero puede poner el trabajo en espera temporalmente. Durante este tiempo, la impresora puede actualizar el estado del trabajo a
- La impresora actualiza el trabajo a uno de los siguientes estados "finales":
Completed
: cuando el trabajo se imprime correctamente.Aborted
: cuando las impresoras se enfrentaban a algunos problemas y no podían imprimir el trabajoCanceled
: cuando una impresora puede tener una consola de visualización, los usuarios ven la lista de sus trabajos de impresión pendientes. Pueden seleccionar uno o todos y convertir comoCanceled
.
Imprimir el procesamiento de trabajos por conector de Impresión universal
En el caso de las impresoras registradas a través de conector de Impresión universal, Connector realiza los mismos pasos que realizaría una impresora típica. Sin embargo, retransmite el trabajo desde el servicio de impresión universal a la impresora real.
Estas son algunas diferencias en el flujo de un conector:
- El servicio Universal Print notifica al conector los
Pending
trabajos en lugar de la impresora. - Universal Print Connector confirma y descarga los datos del trabajo de impresión. Después de obtener el trabajo, Connector llama a las API de impresión de Windows para enviar el trabajo a la cola de Windows en el conector. El administrador de colas de Windows aprovecha el controlador de impresora para representar el trabajo y, a continuación, se envía el trabajo a la impresora.
- Para actualizar el estado del trabajo de impresión:
- La impresora envía el estado del trabajo de impresión a la cola de Windows en el conector.
- El conector sondea el estado del trabajo desde la cola de Windows.
- Cuando se actualiza el estado del trabajo, actualiza el mismo en el servicio de impresión universal.
Nota:
Si una impresora determinada tiene varios Pending
trabajos, Connector procesará esos trabajos en serie (uno a uno). El trabajo que se está procesando se mostrará como Processing
, mientras que los trabajos de impresión después de eso en la misma impresora estarán esperando y tendrán estado como Pending
. Los trabajos en diferentes impresoras (en el mismo conector) se procesarán en paralelo.