如何:從 Windows 程式列印
本節說明如何從原生 Windows 程式列印。
概觀
列印通常是原生 Windows 程式不可或缺的一部分。 因此,它不是一項功能,您可以在撰寫程式之後輕鬆地新增。 也就是說,如果程式設計成使用 XPS 檔,則不需要太多程式碼,即可轉譯檔內容以供列印。 應用程式的 XPS 檔可以直接傳送至具有 XPSDrv 印表機驅動程式的印表機。
使用 XPS 檔 API 來建立檔內容,並使用 XPS 列印 API 將檔內容傳送至印表機。 XPS 列印 API 會處理目的地印表機的檔內容。 如果選取的印表機有 XPSDrv 印表機驅動程式,檔將會傳送至印表機,而不會進行任何額外的轉換。 如果選取的印表機具有 GDI 型印表機驅動程式,程式也可以將內容傳送至印表機,而 XPS 列印 API 會轉換檔內容,使其與 GDI 型印表機驅動程式相容。 不論是哪一種情況,應用程式執行的處理都相同。
列印工作
下列主題描述列印程式內容的基本步驟。
從使用者收集列印工作資訊。
一般而言,當使用者從功能表選取列印選項時,會起始列印工作,而程式會顯示列印對話方塊來收集列印工作的詳細資料。 使用者通常會選取印表機、複本數目,以及印表機設定詳細資料,例如雙面列印和裝訂。
如需如何執行這項操作的資訊,請參閱 如何:從使用者收集列印工作資訊。
建立進度指標。
進度指標可為使用者提供列印工作進度的意見反應。 進度指標可以是包含作業 [ 取消 ] 按鈕之對話方塊的進度列,也可以是主視窗底部狀態列中的進度列。
如需進度指標的運作方式,請參閱 如何:顯示列印工作進度。
如需如何顯示列印工作進度的詳細資訊,請參閱 Windows 應用程式 UI 開發 指導方針中的資訊。
啟動列印執行緒。
程式從使用者收集列印工作資訊之後,就可以啟動列印執行緒來執行檔的實際處理以進行列印。
如需列印執行緒的相關資訊,請參閱 如何:啟動和停止列印執行緒。
轉譯列印工作資料。
列印執行緒會轉譯檔資料以供列印。 您應該將此處理分解為離散處理步驟,讓使用者可以中斷處理並取消作業,以及不允許處理執行緒封鎖其他執行緒和進程。
如需如何轉譯列印工作資料的資訊,請參閱 如何:轉譯列印工作資料。
監視列印工作進度。
執行每個處理步驟時,請更新進度列以通知使用。 計算處理步驟以完成要求的作業,然後在執行這些步驟時更新進度列。
關閉列印工作並終止列印執行緒。
程式將列印工作傳送至印表機之後,或者如果使用者已取消列印工作,您必須關閉列印工作並釋放列印工作所使用的資源。
相關主題