Udostępnij za pośrednictwem


Rozwiązywanie problemów z usługą Universal Print — opis etapów zadania drukowania

Ten artykuł zawiera omówienie sposobu, w jaki zadanie drukowania przechodzi przez różne składniki usługi Universal Print i jak jego stan jest aktualizowany.

Użytkownik drukuje (z klienta)

Użytkownik wybiera drukarkę universal print, wybiera żądane opcje drukowania, a następnie klika przycisk Drukuj. Użytkownik może drukować z dowolnego z następujących źródeł (czasami nazywamy je klientami):

  • Z systemu operacyjnego Windows (pc, Windows 365, Azure Virtual Desktop itp.)
  • W aplikacji przeglądarki internetowej, takiej jak OneDrive dla Firm, program Excel w przeglądarce.
  • Aplikacje innych dostawców lub aplikacji biznesowych (LOB) opracowanych przy użyciu interfejsów API programu Microsoft Graph.
  • Inni klienci (na przykład Mac itp.).

System operacyjny Windows

Przyjrzyjmy się przykładowi środowiska z systemu operacyjnego Windows.

Po wydrukowaniu przez użytkownika w systemie Windows poniżej przedstawiono czynności, które mają miejsce:

  1. Aplikacja może używać jednego ze standardowych okien dialogowych drukowania (na przykład Notatnika) lub własnego okna dialogowego drukowania (np. Microsoft aplikacja pakietu Office s, Adobe Acrobat itp.). Którekolwiek z tych okien dialogowych spowoduje wysłanie zadania drukowania do buforu wydruku systemu Windows uruchomionego w systemie Windows. W przypadku usługi Universal Print każda drukarka używa wbudowanego sterownika klasy Universal Print. Bufor używa tego sterownika do dalszego przetwarzania zadania.
    • Bufor wydruku systemu Windows może opcjonalnie wywołać aplikację obsługi wydruku (PSA), jeśli drukarka jest skojarzona z nim i jest zainstalowana na urządzeniu. PsA są zwykle publikowane przez producenta OEM drukarki i skojarzone z ich modelami drukarek. Psa może zostać automatycznie zainstalowany w systemie Windows i połączony z drukarką.
  2. Bufor wydruku systemu Windows przekazuje zadanie drukowania (metadane i ładunek) do usługi Universal Print. Zadanie jest wysyłane przy użyciu protokołu IPP (Internet Printing Protocol) za pośrednictwem protokołu HTTPS. Port używany dla danej drukarki ma nazwę IPP-GUID.

Gdy klient wysyła zadanie drukowania do usługi Universal Print, wykonuje następujące akcje:

  1. Weryfikuje zadanie drukowania. Dzięki temu atrybuty zadania drukowania są zgodne z atrybutami zgłoszonymi przez drukarkę. Zadania, które kończą się niepowodzeniem walidacji, są odrzucane i zwracany jest błąd do klienta. Pomyślnie zweryfikowane zadania są przechowywane w kolejce chmury i są dostępne w portalu usługi Universal Print w obszarze zadań drukowania drukarki. Na tym etapie stan zadania będzie mieć Pending wartość lub Paused.
    • Zadanie może być w Paused stanie, jeśli drukarka ma włączoną bezpieczną wersję i zadanie oczekuje lub jeśli istnieje zadanie wyzwalane przez aplikację w chmurze innej firmy.
    • Jeśli drukarka nie ma bezpiecznego wydania lub nie ma zadania innej firmy, nastąpi bezpośrednie przejście do Pending stanu. W przeciwnym razie jego stan zmieni się z Paused na Pending dopiero po zwolnieniu zadania lub zadanie zostało oznaczone jako ukończone.
  2. Pending W przypadku zadania usługa Universal Print powiadamia odpowiednią drukarkę, że w kolejce chmury czeka co najmniej jedno zadanie drukowania. Niektóre drukarki (i łącznik Drukowanie uniwersalne) nasłuchują tych powiadomień w czasie rzeczywistym, podczas gdy inne drukarki mogą okresowo sondować takie powiadomienia (np. co 30 sekund).
  1. Gdy drukarka otrzyma powiadomienie, może zdecydować się na natychmiastowe przetworzenie zadania drukowania lub oczekiwanie (np. jeśli drukarka jest już zajęta drukowaniem innego zadania drukowania).
  2. Drukarka rozpoczyna przetwarzanie zadania, żądając najpierw listy WSZYSTKICH Pending zadań drukowania. Drukarka może zdecydować się na przetworzenie tych zadań pojedynczo lub może przetwarzać wiele zadań równolegle.
  3. W przypadku drukarki zadań rozpoczyna przetwarzanie, najpierw zgłasza zadanie, uznając je. Informuje to usługę Universal Print, że zadanie jest teraz zablokowane do przetworzenia przez określoną drukarkę, a stan zadania drukowania zmienia się na Processing.
  4. Drukarka pobiera metadane i ładunek zadania drukowania.
  5. Drukarka przetwarza ładunek wydruku i drukuje.
    • Uwaga: W niektórych przypadkach drukarka może potwierdzić zadanie, ale może tymczasowo wstrzymać zadanie. W tym czasie drukarka może zaktualizować stan zadania do Processing-Stopped w usłudze Universal Print.
  6. Drukarka aktualizuje zadanie do jednego z następujących stanów "końcowych":
    • Completed: Po pomyślnym wydrukowaniu zadania.
    • Aborted: Gdy drukarki napotkały pewne problemy i nie były w stanie wydrukować zadania
    • Canceled: Gdy drukarka może mieć konsolę wyświetlania, użytkownicy zobaczą listę oczekujących zadań drukowania. Mogą wybrać jedną lub wszystkie i ustawić jako Canceled.

W przypadku drukarek zarejestrowanych za pośrednictwem łącznik Drukowanie uniwersalne łącznik wykonuje te same kroki, które będzie wykonywać typowa drukarka. Przekazuje jednak zadanie z usługi Universal Print do rzeczywistej drukarki.

Poniżej przedstawiono pewne różnice w przepływie łącznika:

  • Usługa Universal Print powiadamia łącznik o Pending zadaniach zamiast drukarki.
  • Łącznik usługi Universal Print potwierdza i pobiera dane zadania drukowania. Po uzyskaniu zadania łącznik wywołuje interfejsy API drukowania systemu Windows w celu przesłania zadania do buforu systemu Windows w łączniku. Bufor systemu Windows wykorzystuje sterownik drukarki do renderowania zadania, a następnie zadanie jest wysyłane do drukarki.
  • Aby zaktualizować stan zadania drukowania:
    • Drukarka wysyła stan zadania drukowania do buforu systemu Windows w łączniku.
    • Łącznik sonduje stan zadania z buforu systemu Windows.
    • Po zaktualizowaniu stanu zadania program aktualizuje ten sam stan w usłudze Universal Print.

Uwaga

Jeśli dana drukarka ma wiele Pending zadań, łącznik przetworzy te zadania szeregowo (jeden po jednym). Przetwarzane zadanie będzie wyświetlane jako Processing, natomiast zadania drukowania po tej samej drukarce będą czekać i mieć stan .Pending Zadania na różnych drukarkach (na tym samym łączniku) będą przetwarzane równolegle.