文本字符串
重要
新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。
有关详细信息,请参阅新式打印平台和打印支持应用设计指南。
文本字符串是由引号分隔的文字字符串。 Unidrv 微型驱动程序使用的字符串可以放置在以下两个位置之一:
它们可以放置在资源文件中。 需要本地化的字符串(如用户界面文本)应放置在资源文件中,如在微型驱动程序中使用资源 DLL 中所述。
它们可以包含在 GPD 文件中。 表示构成打印机命令的转义序列的字符串通常包含在 GPD 文件中,因为这些字符串不需要本地化。
字符串必须遵循以下规则:
字符串必须用引号 ("...") 分隔。
可以通过用尖括号 (<...>) 分隔十六进制数字,可以将十六进制字节值置于字符串中,例如 <03> 或 <1B>。 在一组尖括号内,每对数字都被解释为另一个十六进制字节值。 因此,<03><1B>、<03 1B> 和 <031B> 都等效。
百分比符号 (%) 用作转义字符。 若要在字符串中包含引号或左尖括号 (", <),请在字符串前面加上百分号。 若要指定以百分号结尾的字符串,必须指定 % 的十六进制值,如"<25>"中所示。
此外,若要在表示打印机命令的文本字符串中包含百分号,必须在它前面加上另一个百分号。 若要指定以百分号结尾的打印机命令,必须指定两个十六进制 % 值,如下所示
"command-string<25 25>"
一个示例字符串是为 Canon BJC-600 打印机选择信纸大小的纸张的命令。 此命令的字节序列为 1B 28 67 03 00 6E 01 72,可以指定为:
"<1B>(g<03 00>n<01>r"
字符串中包含的每个 ASCII 字符都转换为其一个字节的十六进制等效字符。
GPD 文件中包含的字符串必须遵循以下附加规则:
若要将字符串扩展到单行之外,请在第一行之后的每一行前面加上一个行继续符 (+),并使用引号分隔每行上的文本。
一个字符串值可以由多个文本字符串组成。 例如,以下两个 GPD 条目等效:
*Name: "abc""def" *% Comment + "gh" "ijk" *Name: "abcdefghijk"
有关资源文件中定义的字符串的其他规则,请参阅 Microsoft Windows SDK 文档中的 STRINGTABLE 语句说明。
有关指定打印机命令转义序列的详细信息,请参阅命令字符串格式。