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


Стандартные переменные

Внимание

Современная платформа печати — это предпочтительный способ взаимодействия с принтерами 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 Если текущий шрифт является полужирным или нулевым. Допустимо при указании шрифта.
FontHeight Высота в основных единицах текущего шрифта. Допустимо при указании шрифта.
FontItalic Задайте значение one, если текущий шрифт является курсивом или нулем в противном случае. Допустимо при указании шрифта.
FontMaxWidth Задайте максимальное число символов всех глифов в шрифте. Допустимо при указании шрифта.
FontStrikeThru Если для текущего шрифта включена забастовка, или нулю в противном случае. Допустимо при указании шрифта.
FontUnderLine Установите значение one, если текущий шрифт подчеркнут или нулю в противном случае. Допустимо при указании шрифта.
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-master, используемой в настоящее время бумаги. Действителен всякий раз, когда выполняется задание печати.
PhysPaperWidth Ширина книжного режима в основных единицах бумаги, используемой в настоящее время. Действителен всякий раз, когда выполняется задание печати.
PrintDirInCCDegrees Количество поворота, измеряемое счетчиком по часовой стрелке в градусах. Допустимо, если драйвер отправляет командную строку CmdSetSimpleRotation или CmdSetAnyRotation.
RasterDataHeightInPixels Высота изображения в пикселях, представленного текущими данными. Допустимо для использования в любой командной строке CmdSendXXData и в строках команд CmdSetSrcBmpHeight. Сжатие не изменяет это значение.
RasterDataWidthInBytes Количество байтов, содержащихся в строке сканирования. Допустимо для использования в любой командной строке CmdSendXXData и в строках команд CmdSetSrcBmpWidth. Сжатие не изменяет это значение.
RectXSize Ширина прямоугольника в единицах x-master. Допустимо для использования в строках команд CmdSetRectWidth.
RectYSize Длина прямоугольника в единицах y-master. Допустимо для использования в строках команд CmdSetRectHeight.
RedValue Красный компонент текущего цвета. Допустимо для использования в строках команд CmdDefinePaletteEntry (см. раздел GreenValue, BlueValue).
TextXRes Текущее горизонтальное разрешение для текста в DPI. Действителен всякий раз, когда выполняется задание печати.
TextYRes Текущее вертикальное разрешение текста в DPI. Действителен всякий раз, когда выполняется задание печати.