Partilhar via


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:

  1. 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.
  2. 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.

Quando um cliente envia um trabalho de impressão para o serviço Universal Print, ele executa as seguintes ações:

  1. 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 para Pending somente depois que o trabalho for liberado ou a tarefa tiver sido marcada Paused como concluída.
  2. 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).
  1. 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).
  2. 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.
  3. 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.
  4. A impressora transfere os metadados e a carga útil do trabalho de impressão.
  5. 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.
  6. 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 trabalho
    • Canceled: 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 como Canceled.

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.