标准变量
重要
新式打印平台是 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;否则设置为 0。 | 指定字体后有效。 |
FontHeight | 当前字体的高度(以主单位表示)。 | 指定字体后有效。 |
FontItalic | 如果当前字体为斜体,则设置为 1;否则设置为 0。 | 指定字体后有效。 |
FontMaxWidth | 设置为字体中所有字形的最大字符增量。 | 指定字体后有效。 |
FontStrikeThru | 如果当前字体启用了删除线,则设置为 1;否则设置为 0。 | 指定字体后有效。 |
FontUnderLine | 如果当前字体为带下划线,则设置为 1;否则设置为 0。 | 指定字体后有效。 |
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 为单位)。 | 打印作业正在进行时有效。 |