块宏

重要

新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。

有关详细信息,请参阅新式打印平台打印支持应用设计指南

块宏可用于限定一组 GPD 文件条目,以便在 GPD 文件中重复插入这些条目。 可以在块宏定义中包含任何条目类型,如特征和选项语句、属性规范以及对值宏或其他块宏的引用。

以下规则适用于块宏的使用:

  • GPD 文件中的块宏定义必须位于对它的任何引用之前。

  • 在根级别(即不在大括号内)定义的块宏在定义后可通过定义它的 GPD 文件使用。 否则,块宏的范围就是包含其定义的左括号和右括号的集合。

  • 区块宏定义可包含其他区块宏和值宏的定义。

  • 块宏定义可以引用其他先前定义的块宏和值宏,但不能引用自身。

  • 块宏不接受参数。

  • 如果宏主体中包含括号,则必须成对(即左括号和右括号的数量必须相等)。

  • 如果创建了两个同名的块宏,则第一个定义将生效,直到 GPD 解析器遇到第二个定义。 然后,第二个定义会替换第一个定义。 如果第二个定义的范围已结束,则会恢复第一个定义。

块宏格式

在 GPD 文件中定义块宏时,请使用以下格式:

*BlockMacro: BlockMacroName {BlockMacroBody}

其中,BlockMacroName 是一个唯一的名称,BlockMacroBody 是一组一个或多个 GPD 文件条目。 如果 BlockMacroBody 包含大括号,则必须包含相同数量的左右大括号 ( {, } )。

例如,可以定义一个名为 EnvelopeDefaults 的块宏,其定义如下:

*BlockMacro: EnvelopeDefaults
{
    *PrintableArea: PAIR(4646, 6738)
    *PrintableOrigin: PAIR(150, 150)
    *RotateSize: TRUE
}

引用块宏

要引用块宏,请使用以下格式:

*InsertBlock: =BlockMacroName

其中,BlockMacroName 是一个唯一的名称,先前在定义宏的 *BlockMacro 条目中指定。

例如,要在选项规范中引用 EnvelopeDefaults 宏,则可以使用以下条目:

*Option: Env9
{
    *InsertBlock: =EnvelopeDefaults
}