在 GPD 中启用 HP-GL/2 矢量图形支持 (PCL-5e)
重要
新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。
有关详细信息,请参阅新式打印平台和打印支持应用设计指南。
要在 Windows XP 上启用 HP-GL/2 矢量支持,必须执行两项操作:
将 *Personality 属性设置为 PERSONALITY_HPGL2。
定义具有 HPGL2MODE 选项的自定义 GraphicsMode 功能。 要同时提供光栅图形支持,请包含 RASTERMODE 选项。
可以通过这种方式来设置个性属性:
*Personality: =PERSONALITY_HPGL2
PERSONALITY_HPGL2 常量在 stdnames.gpd 中定义。
以下 GPD 示例展示了设置 *Personality 属性和定义具有矢量图形模式和光栅图形模式的 GraphicsMode 自定义功能。 请注意,整个块都受 *Ifdef GPD 编译器指令的保护。
*Ifdef: WINNT_51
*Personality: =PERSONALITY_HPGL2
*Feature: GraphicsMode
{
*rcNameID: =GRAPHICSMODE_DISPLAY
*FeatureType: DOC_PROPERTY
*HelpIndex: 12000
*DefaultOption: HPGL2MODE
*Option: HPGL2MODE
{
*rcNameID: =GRAPHICSMODE_HPGL2_DISPLAY
}
*Option: RASTERMODE
{
*rcNameID: =GRAPHICSMODE_RASTER_DISPLAY
}
}
*Endif:
上述指令中使用的 WINNT_51 参数适用于 Unidrv 版本,而非操作系统版本。 对于在 Windows 2000 上运行的 Windows XP Unidrv 打印机驱动程序,定义了 WINNT_51 参数并对块进行了编译。 对于早期的 Unidrv 版本,无论操作系统版本如何,该参数都是未定义的,并且该块不会被编译。
彩色打印机的 GPD 文件还应定义 ColorMode 功能,如以下通用示例所示。 请注意,打印机的特定详细信息可能要求更改某些值。
*Feature: ColorMode
{
*rcNameID: =COLOR_PRINTING_MODE_DISPLAY
*HelpIndex: 12004
*DefaultOption: 24bpp
*Option: Mono
{
*rcNameID: =MONO_DISPLAY
*DevNumOfPlanes: 1
*DevBPP: 1
*Color?: FALSE
*Command: CmdSelect
{
*Order: PAGE_SETUP.16
*Cmd: "<1B>&b1M"
}
}
*Option: 24bpp
{
*rcNameID: =24BPP_DISPLAY
*DevNumOfPlanes: 1
*DevBPP: 24
*DrvBPP: 24
*PaletteSize: 256
*PaletteProgrammable?: TRUE
*Command: CmdDefinePaletteEntry
{
*Cmd : "<1B>*v" %d{RedValue}"a"
+ %d{GreenValue}"b"
+ %d{BlueValue}"c"
+ %d{PaletteIndexToProgram}"I"
}
*Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v"
+ %d{CurrentPaletteIndex}"S" }
*Command: CmdSetSrcBmpWidth { *Cmd : "<1B>*r"
+ %d{RasterDataWidthInBytes / 3}"S" }
*Command: CmdSelect
{
*Order: PAGE_SETUP.16
*Cmd: "<1B>*v1N<1B>*v1O<1B>*l184O<1B>*v6W<000308080808>
+ <1B>*v0a0b0c7i255a255b255c"
}
}
}