共用方式為


通用列印疑難解答 - 瞭解列印作業的階段

本文提供列印作業如何經歷通用列印的不同元件,以及其狀態如何更新的概觀。

使用者列印 (來自用戶端)

用戶挑選通用列印印表機、選取所需的列印選項,然後按兩下 [列印] 按鈕。 使用者可以從下列任何來源列印 (我們有時將其稱為用戶端):

  • 從 Windows OS (電腦、Windows 365、Azure 虛擬桌面等)
  • 從網頁瀏覽器應用程式,例如 商務用 OneDrive 瀏覽器中的 Excel。
  • 其他廠商或企業營運 (LOB) 應用程式使用 Microsoft Graph API 所開發的應用程式。
  • 其他用戶端(如 Mac 等)。

Windows OS

讓我們從 Windows OS 取得體驗的範例。

當使用者在 Windows 上列印之後,以下是進行的步驟:

  1. 應用程式可以使用其中一個 Windows 標準列印對話方塊(例如記事本)或自己的列印對話框(例如Microsoft Office 應用程式、Adobe Acrobat 等)。 其中一個對話框會將列印作業傳送至 Windows 上執行的 Windows 列印後台處理程式。 針對通用列印,每部印表機都會使用內建的通用列印類別驅動程式。 多任務緩衝處理程式會使用此驅動程式進一步處理作業。
    • 如果印表機與其中一個印表機相關聯,且安裝在裝置上,Windows 列印後台處理程式可能會選擇性地叫用印支援應用程式 (PSA)。 PSA 通常是由印表機 OEM 發行,並與其印表機型號相關聯。 PSA 可能會自動安裝在 Windows 上,並連結到印表機。
  2. Windows 列印後台處理程式會將列印作業(元數據和承載)上傳至通用列印服務。 作業是使用因特網列印通訊協定 (IPP) 透過 HTTPS 傳送。 用於指定印表機的埠會命名為 IPP-GUID。

當用戶端將列印作業傳送至通用列印服務時,它會執行下列動作:

  1. 驗證列印作業。 這可確保印表作業的屬性符合印表機所報告的屬性。 驗證失敗的作業會遭到拒絕,並傳回錯誤給用戶端。 成功驗證的作業會儲存在雲端佇列中,而且可在印表機的列印作業下的通用列印入口網站中取得。 在這個階段, 作業狀態 會是 PendingPaused
    • 如果印表機已啟用安全發行且作業正在等候,或有第三方雲端應用程式所觸發的工作,則作業可能處於 Paused 狀態。
    • 如果印表機沒有安全發行或沒有第三方工作,則會直接進入 Pending 狀態。 否則,只有在作業發行或工作標示為完成之後,才會將狀態從 Paused Pending 變更為 。
  2. 針對作業 Pending ,通用列印會通知對應的印表機,指出至少有一個列印作業在雲端佇列中等候。 某些印表機(和 通用列印連線程式)會即時接聽這些通知,而其他印表機可能會定期輪詢這類通知(例如每30秒)。
  1. 當印表機收到通知時,它可能會決定立即處理列印作業或等候(例如,如果印表機已經忙於列印另一個列印作業)。
  2. 列印機會先要求所有 Pending 列印作業的清單,開始處理作業。 印表機可能會決定逐一處理這些作業,也可以平行處理多個作業。
  3. 針對作業印表機開始處理,它會先確認作業來宣告作業。 這會通知通用列印,作業現在已鎖定以供特定印表機處理,而列印作業狀態會變更為 Processing
  4. 列印機會下載列印作業元數據和承載。
  5. 列印機會處理列印承載和列印。
    • 注意:在某些情況下,印表機可能會認可作業,但可能會暫時擱置作業。 在這裡期間,印表機可能會在通用印表中將作業狀態更新為 Processing-Stopped
  6. 列印機會將作業更新為下列其中一個「最終」狀態:
    • Completed:成功列印作業時。
    • Aborted:當列印機遇到一些問題且無法列印作業時
    • Canceled:當印表機可能有顯示主控台時,使用者會看到其擱置的列印作業清單。 他們可能會選取一或全部,並將設為 Canceled

對於透過 通用列印連線程式 註冊的印表機,Connector 會執行與一般印表機執行相同的步驟。 不過,它會將作業從通用列印服務轉接至實際印表機。

以下是連接器流程的一些差異:

  • 通用列印服務會通知連接器 Pending 作業,而不是印表機。
  • 通用列印連接器會認可並下載列印作業數據。 取得作業之後,連接器會呼叫 Windows Print API,將作業提交至連接器上的 Windows 後台處理程式。 Windows 多任務緩衝處理器會利用印表機驅動程式來轉譯作業,然後將工作傳送至列印機。
  • 若要更新列印工作狀態:
    • 列印機會將列印作業狀態傳送至連接器上的 Windows 後台處理程式。
    • 連接器會從 Windows 多任務緩衝處理程式輪詢作業狀態。
    • 更新作業狀態時,它會在通用列印服務中更新相同。

注意

如果指定的印表機有多個 Pending 作業,連接器會依序處理這些作業(一個接一個)。 處理的工作會顯示為 Processing,而在相同印表機上的印表工作會等候,且狀態為 Pending。 跨不同印表機的作業(在同一個連接器上)將會平行處理。