Указание ориентации бумаги
Внимание
Современная платформа печати — это предпочтительный способ взаимодействия с принтерами Windows. Рекомендуется использовать драйвер класса "Входящие" Microsoft IPP вместе с приложениями поддержки печати (PSA), чтобы настроить возможности печати в Windows 10 и 11 для разработки устройств принтера.
Дополнительные сведения см. в статье "Современная платформа печати" и руководство по проектированию приложений поддержки печати.
Существует три стандартных варианта, связанных со стандартной функцией ориентации: PORTRAIT, LANDSCAPE_CC90 и LANDSCAPE_CC270. Если иное не указано, ориентация по умолчанию — PORTRAIT. Использование этого параметра является простым и не рассматривается далее в этом разделе. Баланс этой статьи связан с двумя вариантами ландшафта.
LANDSCAPE_CC90 и LANDSCAPE_CC270
Параметры LANDSCAPE_CC90 и LANDSCAPE_CC270 функции ориентации указывают объем поворота, применяемый к тексту и графике в книжном режиме, чтобы преобразовать их в альбомный режим. Параметр LANDSCAPE_CC90 поворот текста и графики 90 градусов по счетчику. Параметр LANDSCAPE_CC270 поворачивает текст и графику 270 градусов по счетчику, что эквивалентно повороту на 90 градусов по часовой стрелке. Для обоих вариантов Unidrv обрабатывает задачи поворота текста и графики указанного объема и их перемещение в соответствии с новой ориентацией.
Многие принтеры поддерживают как книжный режим, так и альбомный режим, в то время как остальные принтеры, как правило, те, у которых меньше возможностей, поддерживают только книжный режим. Каждый режим имеет собственную систему координат: в книжном режиме источник находится в левом верхнем углу (x увеличивается справа и y увеличивается вниз); в альбомном режиме источник находится в левом нижнем углу (x увеличивается вверх и y увеличивается справа).
Принтеры, не поддерживающие альбомный режим, по-прежнему могут быть сделаны для печати документов в этой ориентации. Для этого типа принтера необходимо указать параметр LANDSCAPE_CC270 в файле GPD принтера. (Если указать параметр LANDSCAPE_CC90 для этих принтеров, текст и графика будут отображаться при печати. В этом случае Unidrv представляет преобразованный текст и графику принтеру с координатами относительно источника верхнего левого угла принтера.
Для принтера, поддерживающего альбомный режим, а также книжный режим, следует указать параметр LANDSCAPE_CC90 в файле GPD. В этом случае Юнидрв должен быть направлен на выдачу альбомной командной строки принтеру, что приводит к переключении его из системы координат книжного режима в систему координат альбомного режима (с источником в левом нижнем углу). Затем Unidrv представляет преобразованный текст и графику принтеру с координатами относительно нижнего левого угла принтера.
Однако принтер, поддерживающий альбомный режим (для которого обычно используется параметр LANDSCAPE_CC90), по-прежнему может работать с параметром LANDSCAPE_CC270. В этом случае Unidrv направляется для обработки принтера так, как если бы он поддерживал только книжный режим (т. е. только с одной системой координат с источником в левом верхнем углу). Следовательно, Юнидрв не должен быть направлен на выдачу команды для изменения систем координат. Unidrv представляет преобразованный текст и графику принтеру с координатами относительно этого левого верхнего угла источника. Поскольку Unidrv предполагает, что это расположение источника, такой принтер не должен быть выдан строкой командной строки альбомного режима, даже если пользователь выбрал ориентацию "Альбомная" на странице свойств принтера. В следующем примере файла GPD обратите внимание, что раздел *Option: LANDSCAPE_CC270 содержит команду, чтобы поместить принтер в книжный режим (ORIENT_PORTRAIT_CMD), а не один, чтобы поместить его в альбомный режим.
*Feature: Orientation
{
*rcNameID: =ORIENTATION_DISPLAY
*DefaultOption: PORTRAIT
*Option: PORTRAIT
{
*rcNameID: =PORTRAIT_DISPLAY
*Command: CmdSelect
{
*Order: DOC_SETUP.60
*Cmd: =ORIENT_PORTRAIT_CMD
}
}
*Option: LANDSCAPE_CC270
{
*rcNameID: =LANDSCAPE_DISPLAY
*Command: CmdSelect
{
*Order: DOC_SETUP.60
*Cmd: =ORIENT_PORTRAIT_CMD
}
}
}
Для Windows 7 функция MxdcGetPDEVAdjustment имеет новые параметры для поворота ландшафта. Дополнительные сведения см. в разделе MxdcXDCGetPDEVAdjustment.