PCD 源文件格式
重要
建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。
有关详细信息,请参阅打印支持应用设计指南。
所有绘图器设备特征都使用以下格式指定:
keyword { value }
其中关键字是 PCD 源文件关键字之一,值为带引号的字符串或数值。 例如,以下语句指定绘图器支持颜色:
ColorCap {1}
下表介绍了关键字。
关键字 | 值定义 | 默认值 |
---|---|---|
BezierCap | 1=设备支持 HPGL2 Beziers 扩展。 0=不支持。 |
0 |
ColorCap | 1=颜色设备 0=Monochrome 设备 |
0 |
COLORINFO | 30 个 DWORD 大小的值,表示 COLORINFO 结构的内容 | { {6810,3050,0}、// xr、yr、Yr {2260,6550,0}、// xg、yg、Yg {1810,500,0}、// xb、yb、Yb {2000,2450,0}、// xc、yc、Yc {5210,2100,0}、//xm、ym、Ym {4750,5100,0}、// xy、yy、Yy {3324,3474,10000}、// xw、yw、Yw 10000,10000,10000,// RGB 伽玛 1422,952, // M/C, Y/C 787,495, // C/M, Y/M 324,248 // C/Y,M/Y } |
DeviceMargin | 四个 DWORD 大小的值,以 1/1000 毫米单位表示左、上、右和下纸边距。 | {5000, 5000, 5000, 36000} |
设备名称 | 表示可显示设备名称的带引号的字符串(最大为 31 个字符)。 | “HPGL/2 绘图器” |
DevicePelsDPI | 一个表示设备有效 DPI 的 DWORD 大小值。 有关详细信息,请参阅 GDIINFO 的 upDevicePelsDPI 成员。 | 默认值为零,导致 GDI 计算值。 |
DeviceSize | 表示最大纸张大小的两个 DWORD 大小值,以 x 和 y 坐标表示 1/1000 毫米单位。 y 值为 25400(1 英寸)或更少表示设备接受可变纸张长度。 |
{215900, 279400} |
FormInfo | 绘图器支持的每个表单的表单说明。 有关详细信息,请参阅 下表后面的“窗体说明 ”部分。 | 无。 |
HTPatternSize | 一个HT_PATSIZE_前缀的常量,用于标识标准半调模式。 | 0xffffffff |
InitString | 带引号的 C 语言字符串,表示驱动程序的 DrvStartPage 函数发送到打印机的命令。 | NULL 字符串。 |
MaxCopies | 设备可以呈现的每个页面的最大副本数。 | 1 |
MaxPens | 笔数(最大为 32 支) | 8 |
MaxPolygonPts | 要绘制或填充的多边形的最大点数。 | 128 |
MaxQuality | 质量级别数(最大 4 个) | 4 |
MaxScale | 最大缩放大小。 0-10000 (100 是 100%) | 100 |
NoBitmapFont | 1=设备不支持位图字体。 支持 0=位图字体。 |
0 |
PaperTrayCap | 1=设备具有纸盒源。 0=不支持。 |
0 |
PaperTraySize | 两个 DWORD 大小的值,表示纸盒宽度和高度,单位为 1/1000 毫米。 | {-1, -1} |
PlotDPI | 两个 DWORD 大小的值,表示笔绘图仪的 x 和 y 分辨率(以点/英寸为单位)。 | {1016, 1016} |
PlotPenData | 每个笔的笔说明。 有关详细信息,请参阅 下表后面的“笔说明 ”部分。 | 无。 |
PushPopPal | 1=在 RTL 和 HPGL2 之间切换时,驱动程序必须推送/弹出面板。 0=推送/pop 不是必需的。 |
0 |
RasterByteAlign | 1=设备必须接收字节对齐 x 坐标上的所有光栅数据。 0=字节对齐不是必需的。 |
0 |
RasterCap | 1=光栅设备 0=触控笔设备 |
0 |
RasterDPI | 表示 x 和 y 分辨率的两个 DWORD 大小的值,以每英寸点为单位。 对于光栅绘图器,这是光栅分辨率。 对于笔绘图器,这是 GDI 向应用程序提供的理想分辨率。 |
{300, 300} |
RollFeedCap | 1=设备具有卷纸源。 0=不支持。 |
0 |
ROPLevel | ROP_LEVEL_0 = 无 RasterOp 支持。 ROP_LEVEL_1 = Rop1 支持。 ROP_LEVEL_2 = Rop2 支持。 ROP_LEVEL_3 = Rop3 支持。 |
ROP_LEVEL_0 |
RTLMonoEncode5 | 1=HP 光栅传输语言 (RTL) 单色压缩模式 5 受支持。 0=不支持。 |
0 |
RTLMonoFixPal | 仅 RTL 单色调色板。 0=White,1=Black |
0 |
RTLMonoNoCID | 1=在 RTL Mono 模式下,不需要 CID 命令。 0=在 RTL Mono 模式下,需要 CID 命令。 |
0 |
RTLNoDPIxy | 1=RTL DPI X,Y 移动命令不受支持。 0=支持这些命令。 |
0 |
TransparentCap | 1=设备支持透明模式。 0=不支持。 |
0 |
WindingFillCap | 1=设备支持绕行填充。 0=不支持。 |
0 |
笔说明
每个笔说明必须采用以下格式:
PlotPenData {Pen Number, Color**}**
其中 ,笔号 标识笔的槽号, 颜色 是PC_IDX_前缀的颜色标识符。 下面是笔说明示例:
PlotPenData {1, PC_IDX_WHITE}
PlotPenData {2, PC_IDX_BLACK}
PlotPenData {3, PC_IDX_RED}
表单说明
每个表单说明必须采用以下格式:
FormInfo {“Form Description”, Width**, ** Length**, ** Left Margin**, ** Top Margin**, ** Right Margin**, ** Bottom Margin**}**
其中 窗体说明 是描述窗体的字符串, 宽度 和 长度 以 1/1000 毫米单位指定窗体大小,边距也以 1/1000 mm 单位指定。 下面是三个示例:
FormInfo {"Roll Paper 24 in", 609600, 0, 0, 0, 0, 0}
FormInfo {"ANSI A 8.5 x 11 in", 215900, 279400, 0, 0, 0, 0}
FormInfo {"ISO A4 210 x 297 mm", 210000, 297000, 0, 0, 0, 0}