Problembehandlung bei Universelles Drucken – Grundlegendes über die Phasen eines Druckauftrags
Dieser Artikel bietet eine Übersicht darüber, wie ein Druckauftrag die verschiedenen Komponenten von Universelles Drucken durchläuft und wie sein Status aktualisiert wird.
Benutzer druckt (von einem Client)
Ein Benutzer wählt einen Drucker für Universelles Drucken aus, wählt die gewünschten Druckoptionen und klickt dann auf die Taste Drucken. Der Benutzer kann von jeder der folgenden Quellen drucken (wir bezeichnen sie manchmal als Clients):
- Vom Windows-Betriebssystem (PC, Windows 365, Azure Virtual Desktop usw.)
- Aus einer Webbrowseranwendung wie OneDrive for Business, Excel im Browser.
- Anwendungen anderer Anbieter oder branchenspezifische (LOB)-Anwendungen, die mit den Microsoft Graph APIs entwickelt wurden.
- Sonstige Clients (z. B. Mac usw.).
Windows-Betriebssystem
Nehmen wir ein Beispiel aus der Erfahrung mit dem Windows-Betriebssystem.
Sobald der Benutzer mit Windows druckt, werden die folgenden Schritte ausgeführt:
- Die Anwendung kann einen der Windows-Standarddruckdialoge (wie Windows-Editor) oder einen eigenen Druckdialog (z. B. Microsoft Office-Anwendungen, Adobe Acrobat usw.) verwenden. Jeder dieser Dialoge sendet den Druckauftrag an den Windows-Druckspooler, der unter Windows ausgeführt wird. Für Universelles Drucken verwendet jeder Drucker den integrierten universellen Druckerklassentreiber. Der Spooler verwendet diesen Treiber, um den Auftrag weiterzuverarbeiten.
- Der Windows-Druckspooler kann optional eine Print Support Application (PSA) aufrufen, wenn der Drucker mit einer PSA verknüpft ist und diese auf dem Gerät installiert ist. PSAs werden in der Regel von Drucker-OEMs herausgegeben und mit ihren Druckermodellen verbunden. Möglicherweise wird PSA automatisch auf Windows installiert und mit dem Drucker verknüpft.
- Der Windows-Druckspooler lädt den Druckauftrag (Metadaten und Nutzdaten) zum Universelles Drucken-Dienst hoch. Der Auftrag wird mit dem Internet Printing Protocol (IPP) über HTTPS gesendet. Der für den angegebenen Drucker verwendete Port wird als IPP-GUID bezeichnet.
Druckauftrag in der Cloud
Wenn ein Client einen Druckauftrag an den Universellen Druck-Dienst sendet, führt er die folgenden Aktionen aus:
- Überprüfung des Druckauftrags. Dadurch wird sichergestellt, dass die Attribute des Druckauftrags mit den vom Drucker gemeldeten Attributen übereinstimmen. Aufträge, die die Validierung nicht bestehen, werden abgelehnt und der Kunde erhält eine Fehlermeldung. Erfolgreich überprüfte Aufträge werden in der Cloud-Warteschlange gespeichert und sind im Universelles Drucken-Portal unter den Druckaufträgen des Druckers verfügbar. In dieser Phase wird der Auftragsstatus entweder
Pending
oderPaused
.- Der Auftrag kann sich in einem
Paused
Status befinden, wenn der Drucker die sichere Freigabe aktiviert hat und der Auftrag wartet, oder wenn eine Aufgabe von einer Cloud-Anwendung eines Drittanbieters ausgelöst wurde. - Wenn der Drucker nicht über eine sichere Freigabe verfügt oder keine Aufgabe eines Drittanbieters hat, wird er direkt in den
Pending
Status übergehen. Andernfalls wird der Status erst dann vonPaused
aufPending
geändert, wenn der Auftrag freigegeben oder die Aufgabe als abgeschlossen markiert wurde.
- Der Auftrag kann sich in einem
- Bei einem
Pending
Auftrag benachrichtigt Universelles Drucken den entsprechenden Drucker, dass mindestens ein Druckauftrag in der Cloud-Warteschlange wartet. Einige Drucker (und Konnektor für universelles Drucken) überwachen diese Benachrichtigungen in Echtzeit, während andere Drucker diese Benachrichtigungen regelmäßig abfragen (z. B. alle 30 Sekunden).
Druckauftrag am Drucker
- Wenn ein Drucker die Benachrichtigung erhält, kann er entscheiden, ob er den Druckauftrag sofort verarbeiten oder warten will (z. B. wenn der Drucker bereits mit einem anderen Druckauftrag beschäftigt ist).
- Der Drucker beginnt mit der Verarbeitung des Auftrags, indem er zunächst eine Liste ALLER
Pending
Druckaufträge anfordert. Der Drucker kann sich entscheiden, diese Aufträge einzeln zu verarbeiten oder mehrere Aufträge parallel zu verarbeiten. - Wenn der Drucker mit der Verarbeitung eines Auftrags beginnt, fordert er diesen zunächst an, indem er ihn bestätigt. Dies teilt Universellem Drucken mit, dass der Auftrag nun für die Verarbeitung durch den betreffenden Drucker gesperrt ist, und der Status des Druckauftrags wechselt zu
Processing
. - Der Drucker lädt die Metadaten und die Nutzdaten des Druckauftrags herunter.
- Der Drucker verarbeitet die Druckdaten und druckt.
- Hinweis: In einigen Fällen kann der Drucker den Auftrag bestätigen, ihn aber vorübergehend in die Warteschleife stellen. Während dieser Zeit kann der Drucker den Auftragsstatus
Processing-Stopped
in Universelles Drucken aktualisieren.
- Hinweis: In einigen Fällen kann der Drucker den Auftrag bestätigen, ihn aber vorübergehend in die Warteschleife stellen. Während dieser Zeit kann der Drucker den Auftragsstatus
- Der Drucker aktualisiert den Auftrag in einen der folgenden „endgültigen“ Zustände:
Completed
: Wenn der Auftrag erfolgreich gedruckt wurde.Aborted
: Wenn der Drucker Probleme hatte und den Auftrag nicht drucken konnteCanceled
: Wenn ein Drucker über eine Displaykonsole verfügt, sehen die Benutzer die Liste ihrer anstehenden Druckaufträge. Sie können eine oder alle auswählen und die alsCanceled
festlegen.
Druckauftragsverarbeitung durch Konnektor für Universelles Drucken
Bei Druckern, die über Konnektor für universelles Drucken registriert sind, führt Connector die gleichen Schritte aus, die auch ein normaler Drucker ausführen würde. Er leitet den Auftrag jedoch vom Universelles Druck-Dienst an den eigentlichen Drucker weiter.
Hier sind einige Unterschiede im Ablauf für einen Connector:
- Der Universelles Drucken-Dienst benachrichtigt den Connector für
Pending
Aufträge anstelle des Druckers. - Der Konnektor für Universelles Drucken bestätigt den Druckauftrag und lädt die Daten herunter. Nachdem der Auftrag abgerufen wurde, ruft der Connector die Windows-Druck-APIs auf, um den Auftrag an den Windows-Spooler des Connectors zu übermitteln. Der Windows-Spooler nutzt den Druckertreiber, um den Auftrag zu rendern, und sendet ihn dann an den Drucker.
- Zur Aktualisierung des Druckauftragsstatus:
- Der Drucker sendet den Status des Druckauftrags an den Windows-Spooler auf dem Connector.
- Der Connector fragt den Auftragsstatus vom Windows-Spooler ab.
- Wenn der Auftragsstatus aktualisiert wird, wird dies auch im Universelles Drucken-Dienst aktualisiert.
Hinweis
Wenn ein bestimmter Drucker mehrere Pending
Aufträge hat, verarbeitet Connector diese Aufträge seriell (einen nach dem anderen). Der Auftrag, der gerade verarbeitet wird, wird als Processing
angezeigt, während die nachfolgenden Druckaufträge auf demselben Drucker warten und den Status Pending
haben. Aufträge auf verschiedenen Druckern (auf demselben Connector) werden parallel verarbeitet.