重要
新式列印平臺是 Windows 與印表機通訊的慣用方法。 我們建議您使用Microsoft的 IPP 收件匣類別驅動程式,以及列印支援應用程式 (PSA),自定義 Windows 10 和 11 中的列印體驗,以進行印表機裝置開發。
如需詳細資訊,請參閱 列印支援應用程式 v1 和 v2 設計指南。
有三個與 Orientation 標準功能相關聯的標準選項:「PORTRAIT」、「LANDSCAPE_CC90」和「LANDSCAPE_CC270」。 除非另有指定,否則預設方向為 PORTRAIT。 使用此選項很簡單,而且本主題中不會進一步討論。 本主題的平衡與兩個橫向選項有關。
LANDSCAPE_CC90和LANDSCAPE_CC270
Orientation 功能的 LANDSCAPE_CC90 和 LANDSCAPE_CC270 選項指出要套用到直向模式中文字和圖形的旋轉量,將其轉換為橫向模式。 LANDSCAPE_CC90選項會逆時針旋轉文字和圖形 90 度。 LANDSCAPE_CC270選項會逆時針旋轉文字和圖形 270 度,相當於以 90 度順時針旋轉。 針對這兩個選項,Unidrv 會負責將文字和圖形按指示的角度進行旋轉,並適當地將它們移動以符合新的方向。
許多印表機都支援直向模式和橫向模式,而其餘印表機通常是功能較少的印表機,僅支援直向模式。 每個模式都有自己的座標系統:在直向模式中,原點位於左上角(x 向右增加,y 往下增加):在橫向模式中,原點位於左下角(x 向上增加,向右增加 y)。
不支援橫向模式的印表機仍然可以以這個方向列印檔。 針對這種類型的印表機,您必須在印表機的 GPD 檔案中指定 LANDSCAPE_CC270 選項。 (如果您為這些印表機指定 [LANDSCAPE_CC90] 選項,列印時,文字和圖形會顯示為亂碼。在此選項下,Unidrv 會將轉換的文字和圖形呈現給印表機,其座標相對於列印機的左上角原點。
對於支援橫向模式和直向模式的印表機,您應該在 GPD 檔案中指定LANDSCAPE_CC90選項。 在此選項下,Unidrv 必須將橫向命令字串導向至印表機,使其從直向模式座標系統切換到橫向模式座標系統(左下角為原點)。 Unidrv 接著會以相對於印表機左下角原點的座標,將轉換的文字和圖形呈現給印表機。
不過,支援橫向模式的印表機(通常使用LANDSCAPE_CC90選項),仍然可以使用 LANDSCAPE_CC270 選項操作。 在此選項下,Unidrv 會指示將印表機視為僅支援直向模式(即只有一個座標系統,原點位於左上角)。 因此,Unidrv 不得發出變更座標系統的命令。 Unidrv 會將轉換的文字和圖形傳送至印表機,其座標相對於左上角原點。 由於 Unidrv 假設此來源位置,因此即使使用者已在印表機的屬性頁面上選取 [橫向] 方向,這類印表機也不得發出橫向模式命令字串。 在下列 GPD 檔案範例中,請注意 *Option: LANDSCAPE_CC270 區段包含將印表機設定為直向模式(ORIENT_PORTRAIT_CMD)的命令,而非設定為橫向模式的命令。
*Feature: Orientation
{
*rcNameID: =ORIENTATION_DISPLAY
*DefaultOption: PORTRAIT
*Option: PORTRAIT
{
*rcNameID: =PORTRAIT_DISPLAY
*Command: CmdSelect
{
*Order: DOC_SETUP.60
*Cmd: =ORIENT_PORTRAIT_CMD
}
}
*Option: LANDSCAPE_CC270
{
*rcNameID: =LANDSCAPE_DISPLAY
*Command: CmdSelect
{
*Order: DOC_SETUP.60
*Cmd: =ORIENT_PORTRAIT_CMD
}
}
}
針對 Windows 7,函式 MxdcGetPDEVAdjustment 引入了新的參數,以支援橫向旋轉。 如需詳細資訊,請參閱 MxdcXDCGetPDEVAdjustment。