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


Атрибуты возможностей принтера

Внимание

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

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

Атрибуты возможностей принтера — это общие атрибуты печати, которые указывают такие характеристики принтера, как поле страницы, поворот и возможность печати текста, влияющие на все размеры бумаги и ориентации.

Attribute name Параметр атрибута Комментарии
MemoryUsage СПИСОК констант, указывающих типы данных, хранящиеся в памяти принтера. Может быть одним или несколькими: FONT RASTER VECTOR. Если тип данных указан, но не поддерживается принтером, он игнорируется. Необязательно. Если значение не указано, значение по умолчанию — LIST(FONT, RASTER, VECTOR). Дополнительные сведения см. в разделе "Описание конфигураций памяти принтера".
OEMCustomData В кавычках текстовая строка, которую необходимо предоставить подключаемым модулем отрисовки при вызове IPrintOemDriverUni::D rvGetGPDData. Требуется, если подключаемый модуль отрисовки вызывает IPrintOemDriverUni::D rvGetGPDData. Интерпретация содержимого текстовой строки определяется подключаемым модулем отрисовки. Этот атрибут является перемещаемым глобальным атрибутом; Он может быть помещен на корневом уровне (см . атрибуты только для корневого уровня), чтобы указать, что он не зависит от конфигурации принтера, или может отображаться в конструкциях Option или Case, если есть некоторая зависимость.
OutputOrderReversed? ЗНАЧЕНИЕ TRUE или FALSE, указывающее, отсортированы ли многостраничные документы с последней страницы на первую. Необязательно. Если значение по умолчанию не указано, значение по умолчанию равно FALSE. Символ EXTERN_GLOBAL не следует использовать с OutputOrderReversed?.
ReselectFont СПИСОК констант, указывающих на операции, после которых Unidrv должен повторно выполнить выбор текущего шрифта. Можно использовать следующее: AFTER_GRXDATA — после любых команд выбросов растровых данных CmdSendXxxData. AFTER_XMOVE — после любых команд курсора x-перемещения. AFTER_FF — после команды CmdFF. Необязательно. Если не указано, Unidrv не изменяет выбор шрифтов.
ReverseBandOrderForEvenPages? ЗНАЧЕНИЕ TRUE или FALSE, указывающее, включена ли обратная полоса. Этот атрибут используется для поддержки принтеров с возможностью автодуплексии; то есть принтеры, которые могут печатать на обеих сторонах листа бумаги. В разделе ниже этой таблицы содержатся дополнительные сведения. Значение по умолчанию этого атрибута равно FALSE. Установка этого атрибута в значение TRUE включает обратный порядок переключения. Этот атрибут является перемещаемым глобальным атрибутом. Он может быть размещен на корневом уровне (см . атрибуты только для корневого уровня), чтобы указать, что он не зависит от конфигурации принтера, или может отображаться с конструкциями Option или Case, если есть некоторая зависимость.
ПоворотCoordinate? ЗНАЧЕНИЕ TRUE или FALSE, указывающее, поддерживает ли принтер команды для поворота системы координат в соответствии с ориентацией страницы. Необязательно. Если значение по умолчанию не указано, значение по умолчанию равно FALSE. Если значение TRUE, записи параметра для функции ориентации должны указывать команды принтера. Не удается поместить в запись case.
Поворот Фонта? ЗНАЧЕНИЕ TRUE или FALSE, указывающее, автоматически ли принтер поворачивает шрифты в соответствии с ориентацией страницы. Необязательно. Если значение по умолчанию не указано, значение по умолчанию равно FALSE. Если значение TRUE, то поворачиватьCoordinate? Также должно быть TRUE. Не удается поместить в запись case.
ПоворотRaster? ЗНАЧЕНИЕ TRUE или FALSE, указывающее, автоматически ли принтер поворачивает растровые данные в соответствии с ориентацией страницы. Необязательно. Если значение по умолчанию не указано, значение по умолчанию равно FALSE. Если значение TRUE, то поворачиватьCoordinate? Также должно быть TRUE. Не удается поместить в запись case.
TextCaps СПИСОК констант, указывающих возможности текста принтера. Может состоять из одного или нескольких флагов TC_xxx, описанных в GetDeviceCaps. Необязательно. Если не указано, Unidrv предполагает, что возможности текста не поддерживаются.

Дополнительные сведения о ReverseBandOrderForEvenPages?

Побочным эффектом функции автодуплекса является то, что нижний край страницы, которая была напечатана, возвращается в принтер, чтобы стать верхним краем следующей страницы. Чтобы сохранить ориентацию второй страницы относительно первой, растровый образ второй страницы должен быть отправлен принтеру в обратном порядке. Другими словами, если принтер распечатал передний план, отправив первую линию сканирования сверху, он должен сначала распечатать обратную сторону нижней линии сканирования.

Если значение ReverseBandOrderForEvenPages? true и дуплексирование включено, Unidrv перечисляет каждую полосу в обратном порядке для четных страниц (задние стороны нечетных страниц). Подключаемый модуль отрисовки OEM должен кэшировать только одну полосу данных перед отправкой на принтер. Порядок строк сканирования в каждой полосе не изменился, поэтому подключаемый модуль должен по-прежнему обрабатывать эту задачу, и он также должен изменить порядок битов в каждой строке сканирования. Хотя это дополнительная работа для подключаемого модуля, преимущество заключается в том, что подключаемый модуль не должен кэшировать какие-либо растровые данные и может немедленно отправлять данные на принтер.

Атрибут ReverseBandOrderForEvenPages? вычисляется только в том случае, если дуплексирование имеет значение "Flip on Long Edge". Этот атрибут игнорируется, если для дуплексирования задано значение "Flip on Short Edge".

Значение атрибута ReverseBandOrderForEvenPages? и смоделированного драйвером поворота влияют на способ перечисления полос, показанных в следующей таблице. Порядок перечисления полосы, указанный в столбце, который направляется с помощью TRUE , применяется при выборе параметра ReverseBandOrderForEvenPages? и дуплексирование, а страница, которую нужно напечатать, является второй (или обратной) стороной. В противном случае столбец, возглавляемый с помощью FALSE , применяется.

Смоделированный драйвером поворот Страница TRUE и четной страницы Страница FALSE или Нечетная
CCW_ROTATE90 SW_LTOR SW_RTOL
CCW_ROTATE270 SW_RTOL SW_LTOR
Нет поворота SW_UP SW_DOWN

Условные обозначения: SW_LTOR = слева направо, SW_RTOL = справа налево, SW_UP = вниз, SW_DOWN = сверху вниз.

Подключаемый модуль отрисовки OEM может поддерживать автодуплексирование без использования атрибута ReverseBandOrderForEvenPages? Подключаемый модуль может сделать это путем кэширования всех данных для всей страницы и отправки его на принтер, начиная с нижней строки сканирования. Эта строка сканирования и все остальные на этой странице должны быть отправлены в обратном порядке.

Подключаемый модуль отрисовки OEM отвечает за отмену порядка битов с каждой строкой сканирования и порядком строк сканирования с каждой полосой при отправке данных на принтер. Чтобы определить, когда это необходимо сделать, можно получить значение стандартной переменной PageNumber, выполнив вызов IPrintOemDriverUni::D rvGetStandardVariable, используя индекс SVI_PAGENUMBER. Если номер страницы нечетный, нет необходимости в обратном режиме. Если выбрано число даже и дуплексирование, требуется отмена.