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


Предостережения HP-GL/2

Внимание

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

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

  1. HP-GL/2 работает только для версии Unidrv, которая поставляется с выпусками операционной системы Windows XP и более поздних версий (Windows XP Unidrv ссылается на набор файлов драйверов, которые поставляется с Windows XP — unidrv.dll, unidrvui.dll, unires.dll и stdnames.gpd). Он не работает в Windows 2000 Unidrv. Если на компьютере под управлением Windows 2000 (например, когда компьютер Windows 2000 делает точку и печатает подключение к компьютеру под управлением Windows Server 2003 или более поздней версии), драйвер использует HP-GL/2.

  2. Некоторые команды отрисовки в GPD игнорируются при активации режима HP-GL/2. Вместо этого используются жестко закодированные команды в драйвере. Однако эти команды должны присутствовать в GPD по следующим причинам:

    1. В более поздних версиях операционной системы может быть удалено жесткое кодирование команд отрисовки.

    2. Драйвер HP-GL/2 предлагает возможность переключиться на режим растра (т. е. не использовать драйвер HP-GL/2). Для режима растра все команды должны присутствовать в GPD.

      Хорошее правило большого пальца заключается в том, что любая команда PCL-XL/HP-GL/2, которая используется для фактического рисования чего-то (например, CmdDownloadPattern или CmdSelectBlackBrush) игнорируется. Такие команды, как настройка страницы, настройка документа и другие команды, которые не являются командами рисования, не игнорируются. Дополнительные сведения об этих командах см. в разделе "Команды цвета".

      Кроме того, все команды HP-GL/2 жестко закодируются в драйвере.

  3. Маски, полученные в вызовах DrvBitBlt и других функций передачи битовых блоков, могут работать неправильно.

  4. При активации Windows XP Unidrv в Windows 2000 и HP-GL/2 некоторые функции отрисовки графики могут работать неправильно. Например, выходные данные из вызовов DrvGradientFill имеют красный и синий обратный.

  5. Unidrv предполагает, что оборудование принтера поддерживает команды ROP. Если принтер не поддерживает ROP, некоторые документы могут не печатать правильно.

  6. Требуется поддержка кистей хэтча. Если принтер не поддерживает кисти хэтча, выходные данные зависят от того, как оборудование принтера обрабатывает команду выбора кисти хэтча (FT21,x SV21,x).

  7. Цвет кисти хэтча игнорируется для монохромных принтеров. Он всегда печатается как черный.

  8. Для цветных принтеров HP-GL/2 поддерживает только 24 bpp/600 dpi. Для монохромных принтеров HP-GL/2 поддерживает только 600 dpi. Если принтер поддерживает другие значения, необходимо ограничить режим HP-GL/2, только если глубина цвета составляет 24 bpp и разрешение равно 600 dpi. В следующем примере показано, как можно изменить функцию GraphicsMode для этого. В этом примере первая запись *Constraints приводит к отклонению параметра Unidrv изменения режима на HPGL2MODE если значение параметра Option2 функции разрешения не равно 600x600 dpi. (В примере предполагается, что значение Option2 является более низким разрешением, например 300x300 dpi.) Вторая запись *Ограничения приводит к отклонению режима юнидrv, если параметры функции ColorMode имеют цвет или 8bpp.

    *Feature: GraphicsMode
    {
      *rcNameID: =GRAPHICSMODE_DISPLAY
      *FeatureType: DOC_PROPERTY
      *HelpIndex: 12000
      *DefaultOption: HPGL2MODE
      *Option: HPGL2MODE
       {
         *rcNameID: =GRAPHICSMODE_HPGL2_DISPLAY
         *Constraints: Resolution.Option2
         *Constraints: LIST(ColorMode.Color, ColorMode.8bpp)
       }
      *Option: RASTERMODE
       {
         *rcNameID: =GRAPHICSMODE_RASTER_DISPLAY
       }
    }
    
  9. Цветные принтеры должны иметь возможность масштабировать изображения на оборудовании. Это требование не существует для монохромных принтеров.

  10. Для монохромных принтеров предполагается, что:

    • Принтер принимает только 1bpp сведения.
    • Битовое значение 1 указывает черный пиксель, а битовое значение 0 указывает белый пиксель.
    • Принтер не может масштабировать цвет серого цвета. (Это возникает естественно из ограничения 1 bpp.)
  11. Поддерживаются следующие методы сжатия:

    • Без сжатия
    • TIFF
    • Разностная строка
  12. HP-GL/2 не выполняет системную смену ландшафта. При включении HP-GL/2 предполагается, что принтер обрабатывает поворот растров, шрифтов и координат для страниц, напечатанных в альбомном режиме. Чтобы противостоять этой проблеме, убедитесь, что для всех параметров поворота GPD (*RotateCoordinate?, *RotateFont?, а также *RotateRaster?) задано значение TRUE. Если принтер имеет проблемы переполнения памяти с поворотом, рекомендуется не активировать HP-GL/2 или разместить ограничения на память (то есть hp-GL/2 следует активировать только в том случае, если память составляет 4 МБ или более.

    На устройствах с низкой памятью (например, 600 dpi monochrome лазерный принтер с 2 МБ ОЗУ), некоторые страницы, которые создают ошибки вне памяти, когда устройство находится в режиме HP-GL/2, может правильно печатать в режиме растрового экрана. Одним из решений для устройств с менее чем полной растровой картой памяти является запись GPD, чтобы режим растра был по умолчанию, и позволить системе обрабатывать альбомную смену, а не HP-GL/2. Кроме того, некоторые сложные задания печати портрета могут правильно печатать в режиме растра, но не в режиме HP-GL/2. Если это так, следует рассмотреть возможность создания режима растра по умолчанию.

  13. Функции оптимизации печати на вкладке "Дополнительно " страниц свойств принтера в настоящее время игнорируются в режиме HP-GL/2.

  14. *MirrorRasterPage? не поддерживается в режиме HP-GL/2.

  15. Шрифты структуры TrueType можно скачать как растровые шрифты, даже если файл GPD указывает, что устройство поддерживает шрифты структуры. Это может произойти по различным причинам (например, недостаточно памяти на принтере).