Resolução de problemas do Universal Print - Compreender as etapas de um trabalho de impressão
Este artigo fornece uma visão geral de como um trabalho de impressão passa por diferentes componentes do Universal Print e como seu estado é atualizado.
Impressões do utilizador (a partir de um cliente)
Um utilizador escolhe uma impressora Universal Print, seleciona as opções de impressão pretendidas e, em seguida, clica no botão Imprimir. O usuário pode imprimir a partir de qualquer uma das seguintes fontes (às vezes nos referimos a eles como clientes):
- A partir do SO Windows (PC, Windows 365, Ambiente de Trabalho Virtual do Azure, etc.)
- A partir de um aplicativo de navegador da Web como o OneDrive for Business, Excel no navegador.
- Aplicativos de outros fornecedores ou aplicativos de linha de negócios (LOB) desenvolvidos usando as APIs do Microsoft Graph.
- Outros clientes (como Mac, etc.).
SO Windows
Vamos dar um exemplo de experiência do sistema operacional Windows.
Uma vez que o usuário imprime no Windows, aqui estão as etapas que ocorrem:
- O aplicativo pode usar uma das caixas de diálogo de impressão padrão do Windows (como o Bloco de Notas) ou sua própria caixa de diálogo de impressão (por exemplo, aplicativos do Microsoft Office, Adobe Acrobat, etc.). Qualquer uma dessas caixas de diálogo enviará o trabalho de impressão para o spooler de impressão do Windows em execução no Windows. Para o Universal Print, cada impressora usa o driver de classe Universal Print integrado. O Spooler usa esse driver para processar o trabalho ainda mais.
- O spooler de impressão do Windows pode, opcionalmente, invocar um aplicativo de suporte de impressão (PSA) se a impressora estiver associada a uma e estiver instalada no dispositivo. Os PSAs são normalmente publicados por OEMs de impressoras e associados aos seus modelos de impressora. PSA pode ser instalado automaticamente no Windows e vinculado à impressora.
- O spooler de impressão do Windows carrega o trabalho de impressão (metadados e carga útil) para o serviço Universal Print. O trabalho é enviado usando o Internet Printing Protocol (IPP) sobre HTTPS. A porta usada para determinada impressora é nomeada como IPP-GUID.
Trabalho de impressão na nuvem
Quando um cliente envia um trabalho de impressão para o serviço Universal Print, ele executa as seguintes ações:
- Valida o trabalho de impressão. Isso garante que os atributos do trabalho de impressão correspondam aos atributos que foram relatados pela impressora. Os trabalhos que falharem na validação serão rejeitados e um erro será retornado ao cliente. Os trabalhos validados com êxito são armazenados na fila da nuvem e estão disponíveis no portal Universal Print sob os Trabalhos de Impressão da impressora. Nesta fase, o estado do emprego será ou
Pending
Paused
.- O trabalho pode estar em um
Paused
estado se a impressora tiver a liberação segura habilitada e o trabalho estiver aguardando ou se houver uma tarefa acionada por um aplicativo de nuvem de terceiros. - Se a impressora não tiver uma liberação segura ou não tiver uma tarefa de terceiros, ela irá diretamente para o
Pending
estado. Caso contrário, seu estado será alterado de paraPending
somente depois que o trabalho for liberado ou a tarefa tiver sido marcadaPaused
como concluída.
- O trabalho pode estar em um
- Para um
Pending
trabalho, o Universal Print notifica a impressora correspondente de que há pelo menos um trabalho de impressão aguardando na fila da nuvem. Algumas impressoras (e o conector Universal Print) estão ouvindo essas notificações em tempo real, enquanto outras impressoras podem pesquisar essas notificações periodicamente (por exemplo, a cada 30 segundos).
Trabalho de impressão na impressora
- Quando uma impressora recebe a notificação, pode decidir processar o trabalho de impressão imediatamente ou esperar (por exemplo, se a impressora já estiver ocupada a imprimir outro trabalho de impressão).
- A impressora começa a processar o trabalho solicitando primeiro a lista de TODOS os
Pending
trabalhos de impressão. A impressora pode decidir processar esses trabalhos um a um ou pode processar vários trabalhos em paralelo. - Para que a impressora de trabalho comece a processar, ela primeiro reivindica o trabalho reconhecendo-o. Isso informa ao Universal Print que o trabalho agora está bloqueado para processamento pela impressora específica e o estado do trabalho de impressão muda para
Processing
. - A impressora transfere os metadados e a carga útil do trabalho de impressão.
- A impressora processa a carga útil de impressão e imprime.
- Nota: Em alguns casos, a impressora pode reconhecer o trabalho, mas pode suspendê-lo temporariamente. Durante esse período, a impressora pode atualizar o estado do trabalho para
Processing-Stopped
no Universal Print.
- Nota: Em alguns casos, a impressora pode reconhecer o trabalho, mas pode suspendê-lo temporariamente. Durante esse período, a impressora pode atualizar o estado do trabalho para
- A impressora atualiza o trabalho para um dos seguintes estados "finais":
Completed
: Quando o trabalho é impresso com sucesso.Aborted
: Quando as impressoras enfrentaram alguns problemas e não foi possível imprimir o trabalhoCanceled
: Quando uma impressora pode ter um console de vídeo, os usuários veem a lista de seus trabalhos de impressão pendentes. Eles podem selecionar um ou todos e fazer o comoCanceled
.
Processamento de trabalhos de impressão pelo conector Universal Print
Para impressoras registadas através do conector Universal Print, o Conector executa os mesmos passos que uma impressora típica executaria. No entanto, ele retransmite o trabalho do serviço Universal Print para a impressora real.
Aqui estão algumas diferenças no fluxo de um conector:
- O serviço Universal Print notifica o conector para
Pending
trabalhos em vez da impressora. - O Universal Print Connector reconhece e transfere os dados do trabalho de impressão. Depois de obter o trabalho, o Connector chama as APIs de Impressão do Windows para enviar o trabalho para o spooler do Windows no Conector. O spooler do Windows aproveita o driver da impressora para renderizar o trabalho e, em seguida, o trabalho é enviado para a impressora.
- Para atualizar o estado do trabalho de impressão:
- A impressora envia o estado do trabalho de impressão para o spooler do Windows no Conector.
- Sondagens do conector para o estado do trabalho a partir do spooler do Windows.
- Quando o estado do trabalho é atualizado, ele atualiza o mesmo no serviço Universal Print.
Nota
Se uma determinada impressora tiver vários Pending
trabalhos, o Connector processará esses trabalhos em série (um a um). O trabalho que está sendo processado aparecerá como Processing
, enquanto os trabalhos de impressão depois disso na mesma impressora estarão aguardando e terão o estado como Pending
. Os trabalhos em diferentes impressoras (no mesmo conector) serão processados em paralelo.