启用对 PCL XL 微型驱动程序中的颜色的支持

为颜色 PCL XL 开发 GPD 文件类似于为单色 PCL XL 开发 GPD 文件。 本主题介绍了主要差异。 此处提供的示例 GPD 条目可能需要针对设备进行适当修改。

  • GPD 文件必须指定设备为颜色。

    也就是说,GPD 文件必须包含 ColorMode 标准功能。 请注意,PCL XL 的当前实现仅支持每像素 24 位颜色。 以下示例显示了具有两个 *Option 条目的 ColorMode 功能:Mono 和 24bpp 颜色。

*Feature: ColorMode
{
    *rcNameID: =COLOR_PRINTING_MODE_DISPLAY
    *DefaultOption: 24bpp
    *Option: Mono
    {
        *rcNameID: =MONO_DISPLAY
        *DevNumOfPlanes: 1
        *DevBPP: 24
        *DrvBPP: 24
        *Color? : FALSE
        *PaletteSize: 1
        *PaletteProgrammable? : TRUE
        *Command: CmdDefinePaletteEntry { *Cmd: "" }
    }
    *Option: 24bpp
    {
        *rcNameID: =24BPP_DISPLAY
        *DevNumOfPlanes: 1
        *DevBPP: 24
        *DrvBPP: 24
        *PaletteSize: 256
        *PaletteProgrammable? : TRUE
        *Command: CmdDefinePaletteEntry { *Cmd: "" }
    }
}
  • 某些命令可能需要更改颜色打印。

    例如,如果 GPD 文件允许用户在打印颜色和单色 (之间进行选择,如上一示例) 所示,页面设置命令将取决于用户是使用单色还是以颜色打印。 在这种情况下, CmdStartPage 命令 (请参阅 打印机配置命令) 必须放置在 *Switch: ColorMode 语句中,如以下示例所示。 (请注意,可能需要修改 *Order: PAGE_SETUP.4 命令属性中的数字 4,具体取决于 GPD 文件和 device.) 有关PAGE_SETUP语法的详细信息,请参阅 命令执行顺序

*Switch: ColorMode
{
  *Case: Mono
  {
    *Command: CmdStartPage
    {
    *Order: PAGE_SETUP.4
    *Cmd: =real32_xy "<0000803f><0000803f>" =attr_ubyte =PageScale =SetPageScale
+         =ubyte =eGray =attr_ubyte =ColorSpace =SetColorSpace
    }
  }
  *Case: 24bpp
  {
    *Command: CmdStartPage
    {
    *Order: PAGE_SETUP.4
    *Cmd: =real32_xy "<0000803f><0000803f>" =attr_ubyte =PageScale =SetPageScale
+         =ubyte =eRGB =attr_ubyte =ColorSpace =SetColorSpace
    }
  }
}
  • 可能需要删除或修改符合单色设备的 GPD 中的某些命令或信息。

    例如,如果修改 p6sample.gpd 示例 GPD 文件以添加颜色信息,则可能需要删除*功能:自定义 功能 或约束它,以便仅在单色模式下打印时使用它。