共用方式為


Unidrv/PScript5 驅動程序預設 DEVMODE 設定行為變更

重要

新式列印平臺是 Windows 與印表機通訊的慣用方法。 我們建議您使用Microsoft的 IPP 收件匣類別驅動程式,以及列印支援應用程式 (PSA),自定義 Windows 10 和 11 中的列印體驗,以進行印表機裝置開發。

如需詳細資訊,請參閱 列印支援應用程式設計指南

在 XPSDrv 模式中執行的 Unidrv/PScript5 驅動程式會建立下列驅動程序預設 DEVMODE 設定行為變更。

在下表中,「僅限 PS」表示行為變更是 PScript5 驅動程式特有的。 「僅限 Unidrv」表示行為變更是 Unidrv 驅動程式特有的。 如果這兩個片語未出現,行為變更會同時套用至 Unidrv 和 PScript5 驅動程式。

受影響的預設 DEVMODE 欄位 非 XPSDrv 行為 XPSDrv 行為
dmFields:

DM_ORIENTATION

dmOrientation
硬編碼以在 dmFields 設定 DM_ORIENTATION 標誌,並設定 dmOrientation = DMORIENT_PORTRAIT。 (僅限 Unidrv)只有在 GPD 檔案支援「Orientation」GPD 功能時,才會設定 dmFields 中的 DM_ORIENTATION 旗標。 dmOrientation 是根據 GPD 檔案中指定的「方向」GPD 功能預設選項來設定。

(僅限 PS)只有當 PPD 檔案支援具有「PageOrientation」Print Schema 關鍵詞的功能時,才在 dmFields 中設置 DM_ORIENTATION 標記。

如果功能的默認選項為「Landscape」或「ReverseLandscape」的 "Print Schema" 關鍵詞,則 dmOrientation 會設定為 DMORIENT_LANDSCAPE。 否則, dmOrientation 會設定為 DMORIENT_PORTRAIT
dmFields:

DM_SCALE
(僅限 Unidrv)硬編碼,絕不會在 dmFields 中設定DM_SCALE旗標。

(僅限 PS)硬式設定,一律在 dmFields 中設定 DM_SCALE 旗標。
只有在 GPD 或 PPD 支援具有 "PageScaling" Print Schema 關鍵詞的功能時,才需在 dmFields 中設定 DM_SCALE 旗標。
dmFields:

DM_TTOPTION

dmTTOption
硬編碼總是在 dmFields 中設置 DM_TTOPTION 標誌,並設置 dmTTOption = DMTT_SUBDEV 如果 GPD 或 PPD 支援具有 "PageDeviceFontSubstitution" Print Schema 關鍵詞的功能,且此功能具有預設選項與 "On" Print Schema 關鍵詞,請設定 DM_TTOPTION 旗標並設定 dmTTOption = DMTT_SUBDEV

否則,如果 GPD 或 PPD 支援具有 “PageTrueTypeFontMode” Print Schema 關鍵詞和下列其中一項的功能:

如果功能具有預設選項,且具有「DownloadAsOutlineFont」Print Schema 關鍵詞,請設定 DM_TTOPTION 旗標,並設定 dmTTOption = DMTT_DOWNLOAD_OUTLINE

如果功能具有預設選項使用「RenderAsBitmap」Print Schema 關鍵字,請設定 DM_TTOPTION 標誌,並設定 dmTTOption = DMTT_BITMAP。

如果功能的預設選項具有 "Automatic"、"DownloadAsRasterFont" 或 "DownloadAsNativeTrueTypeFont" Print Schema 關鍵字,則設定 DM_TTOPTION 標誌,並將 dmTTOption = DMTT_DOWNLOAD

否則,dmFields中的DM_TTOPTION旗標將被清除,因為印表機沒有顯示它支援 TrueType 字型替代或下載。
dmFields:

DM_NUP
硬編碼為在 dmFields 中一律設定 DM_NUP 旗標。 只有在 GPD 或 PPD 支援具有「JobNUpAllDocumentsContiguously」或「DocumentNUp」Print Schema 關鍵詞的功能時,才會在 dmFields 中設定 DM_NUP 旗標。
dmFields:

DM_COLOR
強制編碼,一律設定DM_COLOR旗標在中。 只有在 GPD 或 PPD 指定印表機是彩色印表機時,才會在 dmFields設定DM_COLOR旗標。
dmFields:

DM_PRINTQUALITY,DM_YRESOLUTION
(僅限 Unidrv)硬式編碼,一律在 dm****Fields 中設定DM_PRINTQUALITY旗標。

(僅限 PS)硬性設定為始終在 dmFields 中設定 DM_PRINTQUALITY 和 DM_YRESOLUTION 標誌。
dmFields:

DM_COLLATE
硬編碼為一律在 dmFields 中設定 DM_COLLATE 標誌,並設定 dmCollate = DMCOLLATE_TRUE。 只有在 GPD 或 PPD 支援 「Collate」 GPD 或 PPD 功能時,才會在 dmFields 中設定DM_COLLATE旗標。 dmCollate 是根據 GPD 或 PPD 中指定的 "Collate" 功能的預設選項來設定。
dmFields:

DM_ICMMETHOD,DM_ICMINTENT
(僅限 Unidrv,)硬編碼,一律在 dmFields 中設定 DM_ICMMETHOD 和 DM_ICMINTENT 旗標。

(僅限 PS)如果PPD指定印表機是彩色印表機,請在 dmFields設定DM_ICMMETHOD和DM_ICMINTENT旗標。
切勿在 dmFields 中設定 DM_ICMMETHOD 或 DM_ICMINTENT 標誌。
dmFields:

DM_DITHERTYPE
(僅限 Unidrv)硬性編碼,一律在dmFields中設定 DM_DITHERTYPE 旗標。 (僅限 Unidrv)請勿在 dmFields 中 設定DM_DITHERTYPE旗標