Поделиться через


Текстовые строки

Внимание

Современная платформа печати — это предпочтительный способ взаимодействия с принтерами Windows. Рекомендуется использовать драйвер класса "Входящие" Microsoft IPP вместе с приложениями поддержки печати (PSA), чтобы настроить возможности печати в Windows 10 и 11 для разработки устройств принтера.

Дополнительные сведения см. в статье "Современная платформа печати" и руководство по проектированию приложений поддержки печати.

Текстовые строки — это строки литеральных символов, разделенные кавычками. Строки, используемые мини-drivers Unidrv, можно поместить в одно из двух расположений:

  • Их можно поместить в файл ресурса. Строки, требующие локализации, например текст пользовательского интерфейса, должны быть помещены в файл ресурсов, как описано в разделе "Использование библиотек DLL ресурсов" в Minidriver.

  • Их можно включить в файлы GPD. Строки, представляющие escape-последовательности, составляющие команды принтера, обычно включаются в файлы GPD, так как эти строки не нужно локализовать.

Строки должны соответствовать следующим правилам:

  • Строки должны быть разделены кавычками ("...").

  • Шестнадцатеричные значения байтов можно поместить в строку, разделив шестнадцатеричные цифры угловыми скобками (<...), например <03> или <1B>>. В наборе угловых квадратных скобок каждая пара цифр интерпретируется как другое шестнадцатеричное значение байта. Поэтому <03 1B>, <03><1B> и <031B> эквивалентны.

  • Знак процента (%) используется в качестве escape-символа. Чтобы включить кавычки или левую угловую скобку (", <) в строку, предшествуйте ей знак процента. Чтобы указать строку, которая заканчивается знаком процента, необходимо указать шестнадцатеричное значение для %, как в "<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"
    

Дополнительные правила, относящиеся к строкам, определенным в файлах ресурсов, см. в описании инструкции STRINGTABLE в документации по пакету SDK для Microsoft Windows.

Дополнительные сведения об указании escape-последовательностей команд принтера см. в разделе "Формат строки команд".