标准变量
重要
建议使用 Microsoft 的 IPP 收件箱类驱动程序,以及 Print Support Apps (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 | 如果当前字体带有下划线,则设置为 1,否则设置为零。 | 指定字体时有效。 |
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 为单位)。 | 每当打印作业正在进行时有效。 |
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈