標準變數
重要
新式列印平臺是 Windows 與印表機通訊的慣用方法。 我們建議您使用Microsoft的 IPP 收件匣類別驅動程式,以及列印支援應用程式 (PSA),自定義 Windows 10 和 11 中的列印體驗,以進行印表機裝置開發。
如需詳細資訊,請參閱 新式列印平臺 和 列印支援應用程式設計指南。
GPD 語言會使用命令字串格式定義一組可在命令字串內參考的標準變數。 Unidrv 驅動程式會將值指派給這些變數。 從 GPD 檔案的觀點來看,變數是唯讀的。
所有標準變數都會儲存為 DWORD 整數。
下列 印表機命令 專案會指定當點陣資料區塊就緒時傳送至 HP LaserJet 4P 的命令字串:
*Command: CmdSendBlockData: "<1B>*b" %d{NumOfDataBytes} "W"
下表以字母順序包含所有標準變數。
標準變數名稱 | 值 | 註解 |
---|---|---|
BlueValue | 目前色彩的藍色元件。 | 適用於 CmdDefinePaletteEntry 命令字串的有效用法(請參閱 GreenValue、RedValue)。 |
CurrentFontID | 目前下載之軟字型的標識碼。 | 如果目前的列印作業包含已下載的軟字型,則有效。 |
CurrentPaletteIndex | 調色盤中的目前索引。 | 適用於 CmdSelectPaletteEntry 命令字串中的有效用法(請參閱 GreenValue、 RedValue)。 |
CursorOriginX | 數據指標原點的 X 座標,以主要單位表示。 | 每當列印作業正在進行時有效。 |
CursorOriginY | 數據指標原點的 Y 座標,以主要單位表示。 | 每當列印作業正在進行時有效。 |
DestX | 相對於數據指標原點的主要單位,數據指標目的地的 X 座標。 | 適用於 CmdXMoveAbsolute 命令字串。 |
DestXRel | 相對於目前數據指標位置,以主要單位表示數據指標目的地的 X 座標。 | 適用於 CmdXMoveRelLeft 和 CmdXMoveRelRight 命令字串。 |
Desty | 相對於數據指標原點的主要單位,數據指標目的地的 Y 座標。 | 適用於 CmdYMoveAbsolute 命令字串。 |
DestyRel | 相對於目前數據指標位置,以主要單位表示數據指標目的地的 Y 座標。 | 適用於 CmdYMoveRelUp 和 CmdYMoveRelDown 命令字串。 |
FontBold | 如果目前的字型為粗體,則設定為 1,否則為零。 | 指定字型時有效。 |
FontHeight | 高度,以目前字型的主要單位表示。 | 指定字型時有效。 |
FontItalic | 如果目前的字型為斜體,則設定為 1,否則為零。 | 指定字型時有效。 |
FontMaxWidth | 設定為字型中所有字元的最大字元增量。 | 指定字型時有效。 |
FontStrikeThru | 如果啟用目前字型的刪除線,則設定為 1,否則為零。 | 指定字型時有效。 |
FontUnderLine | 如果目前的字型加上底線,則設定為一個,否則為零。 | 指定字型時有效。 |
FontWidth | 寬度,以目前字型的主要單位表示。 | 指定字型時有效。 |
GraphicsXRes | 目前圖形的水平解析度,以 DPI 為單位。 | 每當列印作業正在進行時有效。 |
GraphicsYRes | 目前圖形的垂直解析度,以 DPI 為單位。 | 每當列印作業正在進行時有效。 |
GrayPercentage | 用於灰色填滿的灰色層級(百分比)。 | 適用於 CmdRectGrayFill 命令字串。 |
GreenValue | 目前色彩的綠色元件。 | 適用於 CmdDefinePaletteEntry 命令字串中的有效用法(請參閱 BlueValue、 RedValue)。 |
LinefeedSpacing | 以主要單位表示換行的垂直空間量。 | 適用於 CmdSetLineSpacing 命令字串。 |
NextFontID | 要下載之下一個軟字型的標識碼。 | 適用於 CmdSetFontID 命令字串。 |
NextGlyph | 要下載之下一個圖像的雙位元組程序代碼。 | 適用於 CmdSetCharCode 命令字串。 |
NumOfCopies | 使用者要求的複本數目。 | 每當列印作業正在進行時有效。 |
NumOfDataBytes | 準備傳輸的點陣數據位元組數目。 | 適用於任何 CmdSendXXXData 命令字串。 如果數據已壓縮,此值就是壓縮后的位元元組數目。 |
PageNumber | 目前正在列印的頁面數目。 請注意,這不一定對應至應用程式的頁碼,而是呼叫 DrvSendPage 的次數。 此值是由DrvStartDoc初始化,並由DrvSendPage遞增。 例如,如果選取 N-up = 4, 則只有在列印檔的第五頁時,PageNumber 才會遞增至 2。 另一個範例是,如果檔以反向順序列印(回到前方), PageNumber 標準變數仍會報告要列印為第 1 頁的第一頁,即使這是文件的最後一頁也一樣。 需要此行為,才能正確支持自動雙工功能。 OEM 應該只使用 PageNumber 來判斷目前的頁面是正面還是後端。 | 每當列印作業正在進行時有效。 |
PaletteIndexToProgram | 索引至程式下一個專案的調色盤。 | 適用於 CmdDefinePaletteEntry 命令字串。 (另請參閱RedValue、GreenValue、BlueValue、CurrentPaletteIndex)。 |
PatternBrushID | 已下載模式筆刷的標識碼。 | 適用於 CmdDownloadPattern 和 CmdSelectPattern 命令字串。 |
PatternBrushSize | 目前模式筆刷的大小,以位元組為單位。 | 適用於 CmdDownloadPattern 命令字串。 |
PatternBrushType | 目前模式筆刷的類型。 值可以是:2:底紋模式 3:交叉影線模式 4:用戶定義模式。 | 適用於 CmdDownloadPattern 和 CmdSelectPattern 命令字串。 |
PhysPaperLength | 目前使用中紙張的直向模式長度,以 Y 主要單位表示。 | 每當列印作業正在進行時有效。 |
PhysPaperWidth | 目前使用之紙張的主圖形單位的直向模式寬度。 | 每當列印作業正在進行時有效。 |
PrintDirInCCDegrees | 以度為單位的旋轉量,以逆時針為單位。 | 當驅動程式傳送 CmdSetSimpleRotation 或 CmdSetAnyRotation 命令字串時有效。 |
RasterDataHeightInPixels | 目前數據所代表影像的高度,以像素為單位。 | 適用於任何 CmdSendXXXData 命令字串,以及 CmdSetSrcBmpHeight 命令字串。 壓縮不會修改此值。 |
RasterDataWidthInBytes | 掃描行中包含的位元組數目。 | 適用於任何 CmdSendXXXData 命令字串,以及 CmdSetSrcBmpWidth 命令字串。 壓縮不會修改此值。 |
RectXSize | 矩形寬度,以 x 主要單位為單位。 | 適用於 CmdSetRectWidth 命令字串。 |
RectYSize | 矩形長度,以 Y 主要單位為單位。 | 適用於 CmdSetRectHeight 命令字串。 |
RedValue | 目前色彩的紅色元件。 | 適用於 CmdDefinePaletteEntry 命令字串的有效用法(請參閱 GreenValue、BlueValue)。 |
TextXRes | 目前文字的水平解析度,以 DPI 為單位。 | 每當列印作業正在進行時有效。 |
TextYRes | 目前文字的垂直解析度,以 DPI 為單位。 | 每當列印作業正在進行時有效。 |