PCD 來源檔案格式
重要
新式列印平臺是 Windows 與印表機通訊的慣用方法。 我們建議您使用Microsoft的 IPP 收件匣類別驅動程式,以及列印支援應用程式 (PSA),自定義 Windows 10 和 11 中的列印體驗,以進行印表機裝置開發。
如需詳細資訊,請參閱 新式列印平臺 和 列印支援應用程式設計指南。
所有繪圖器裝置特性都是使用下列格式來指定:
keyword { value }
其中 keyword 是其中一個 PCD 來源檔案關鍵詞,而 value 是引號字串或數值。 例如,下列語句會指定繪圖器支援色彩:
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} |
DeviceName | 引號字串,代表可顯示裝置名稱 (最大值 31 個字元) | “HPGL/2 繪圖器” |
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=Device 不支援位圖字型。 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 | 代表 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**}**
其中 畫筆編號 可識別畫筆的插槽編號,而 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**}**
其中 窗體描述 是描述表單的字串, 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}