PCD 源文件格式
重要
新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。
有关详细信息,请参阅新式打印平台和打印支持应用设计指南。
所有绘图器设备特征都使用以下格式指定:
关键字 { 值 }
其中关键字是 PCD 源文件关键字之一,值为带引号的字符串或数值。 例如,以下语句指定绘图仪支持颜色:
ColorCap {1}
关键字如下表所示。
关键字 | 值定义 | 默认值 |
---|---|---|
BezierCap | 1=设备支持 HPGL2 Beziers 扩展。 0=不支持。 |
0 |
ColorCap | 1=颜色设备 0=单色设备 |
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 gamma 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 Plotter" |
DevicePelsDPI | 一个 DWORD 大小的值,表示设备的有效 DPI。 有关详细信息,请参阅 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=压入/弹出不是必需的。 |
0 |
RasterByteAlign | 1=设备必须接收字节对齐的 x 坐标上的所有光栅数据。 0=字节对齐不是必需的。 |
0 |
RasterCap | 1=光栅设备 0=笔设备 |
0 |
RasterDPI | 两个 DWORD 大小的值,表示 x 和 y 分辨率(以每英寸点数为单位)。 对于光栅绘图仪,这是光栅分辨率。 对于笔式绘图仪,这是 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=白色,1=黑色 |
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**}**
其中 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**}**
其中 Form Description 是描述窗体的字符串,Width 和 Length 以 1/1000 毫米为单位指定窗体大小,边距也以 1/1000 毫米为单位指定。 以下是三个示例:
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}