Dela via


Felsökning av universell utskrift – Förstå stegen i ett utskriftsjobb

Den här artikeln innehåller en översikt över hur ett utskriftsjobb går igenom olika komponenter i Universal Print och hur dess tillstånd uppdateras.

Användarutskrifter (från en klient)

En användare väljer en Universal Print-skrivare, väljer önskade utskriftsalternativ och klickar sedan på knappen Skriv ut. Användaren kan skriva ut från någon av följande källor (vi refererar ibland till dem som klienter):

  • Från Windows OS (PC, Windows 365, Azure Virtual Desktop osv.)
  • Från ett webbläsarprogram som OneDrive för företag, Excel i webbläsaren.
  • Program från andra leverantörer eller verksamhetsspecifika program (LOB) som utvecklats med hjälp av Microsoft Graph-API:er.
  • Andra klienter (t.ex. Mac osv.).

Windows OS

Låt oss ta ett exempel på erfarenhet från Windows OS.

När användaren skriver ut i Windows följer följande steg:

  1. Programmet kan använda en av Windows standardutskriftsdialogrutor (t.ex. Anteckningar) eller en egen utskriftsdialogruta (t.ex. Microsoft Office-appen s, Adobe Acrobat osv.). Någon av dessa dialogrutor skickar utskriftsjobbet till Windows Print-bufferten som körs i Windows. För Universal Print använder varje skrivare den inbyggda universalutskriftsklassdrivrutinen. Spooler använder den här drivrutinen för att bearbeta jobbet ytterligare.
    • Windows Print-bufferten kan eventuellt anropa ett psa-program (Print Support Application) om skrivaren är associerad med en och den är installerad på enheten. PSA publiceras vanligtvis av skrivar-OEM:er och associeras med deras skrivarmodeller. PSA kan installeras automatiskt i Windows och länkas till skrivaren.
  2. Windows Print-bufferten laddar upp utskriftsjobbet (metadata och nyttolast) till universalutskriftstjänsten. Jobbet skickas med hjälp av Internet Printing Protocol (IPP) via HTTPS. Porten som används för den angivna skrivaren heter IPP-GUID.

När en klient skickar utskriftsjobb till Universal Print-tjänsten utför den följande åtgärder:

  1. Verifierar utskriftsjobbet. Detta säkerställer att utskriftsjobbets attribut matchar attribut som rapporterats av skrivaren. Jobb som misslyckas med valideringen avvisas och ett fel returneras till klienten. Verifierade jobb lagras i molnkön och är tillgängliga i portalen för universell utskrift under skrivarens utskriftsjobb. I det här skedet är jobbtillståndet antingen Pending eller Paused.
    • Jobbet kan vara i ett Paused tillstånd om skrivaren har säker version aktiverad och jobbet väntar, eller om en uppgift utlöses av ett molnprogram från tredje part.
    • Om skrivaren inte har en säker version eller inte har någon uppgift från tredje part kommer den att gå direkt till Pending tillståndet. Annars ändras tillståndet från Paused till Pending först när jobbet har släppts eller aktiviteten har markerats som slutförd.
  2. För ett Pending jobb meddelar Universal Print motsvarande skrivare att det finns minst ett utskriftsjobb som väntar i molnkön. Vissa skrivare (och Anslutning för Universell utskrift) lyssnar på dessa meddelanden i realtid, medan andra skrivare kan söka efter sådana meddelanden regelbundet (t.ex. var 30:e sekund).
  1. När en skrivare får meddelandet kan den besluta att bearbeta utskriftsjobbet omedelbart eller vänta (t.ex. om skrivaren redan är upptagen med att skriva ut ett annat utskriftsjobb).
  2. Skrivaren börjar bearbeta jobbet genom att först begära en lista över ALLA utskriftsjobb Pending . Skrivaren kan välja att bearbeta dessa jobb en i taget eller bearbeta flera jobb parallellt.
  3. För att jobbskrivaren ska börja bearbetas gör den först anspråk på jobbet genom att bekräfta det. Detta informerar Universal Print om att jobbet nu är låst för bearbetning av den specifika skrivaren och utskriftsjobbets tillstånd ändras till Processing.
  4. Skrivaren laddar ned metadata och nyttolast för utskriftsjobbet.
  5. Skrivaren bearbetar utskriftsnyttolasten och utskrifterna.
    • Obs! I vissa fall kan skrivaren bekräfta jobbet, men kan tillfälligt lägga jobbet på is. Under den här tiden kan skrivaren uppdatera jobbtillståndet till Processing-Stopped i Universell utskrift.
  6. Skrivaren uppdaterar jobbet till något av följande "slutgiltiga" tillstånd:
    • Completed: När jobbet har skrivits ut.
    • Aborted: När skrivarna hade problem och inte kunde skriva ut jobbet
    • Canceled: När en skrivare kan ha en visningskonsol ser användarna listan över väntande utskriftsjobb. De kan välja en eller alla och göra som Canceled.

För skrivare som är registrerade via Anslutning för Universell utskrift utför Connector samma steg som en vanlig skrivare skulle utföra. Det vidarebefordrar dock jobbet från Universal Print-tjänsten till den faktiska skrivaren.

Här följer några skillnader i flödet för en anslutningsapp:

  • Universal Print-tjänsten meddelar anslutningsappen för jobb i stället för Pending skrivaren.
  • Universal Print Connector bekräftar och laddar ned utskriftsjobbets data. När jobbet har hämtats anropar Connector Api:er för Windows Print för att skicka jobbet till Windows-bufferten på anslutningsappen. Windows-bufferten använder skrivardrivrutinen för att återge jobbet och sedan skickas jobbet till skrivaren.
  • För uppdatering av utskriftsjobbtillstånd:
    • Skrivaren skickar utskriftsjobbets tillstånd till Windows-bufferten i anslutningsappen.
    • Anslutningsappen söker efter jobbtillståndet från Windows-bufferten.
    • När jobbtillståndet uppdateras uppdateras samma sak i universalutskriftstjänsten.

Kommentar

Om en viss skrivare har flera Pending jobb bearbetas dessa jobb seriellt (en i taget). Jobbet som bearbetas visas som Processing, medan utskriftsjobb efter det på samma skrivare väntar och har tillstånd som Pending. Jobb mellan olika skrivare (på samma anslutningsapp) bearbetas parallellt.