Formato de arquivo de origem do PCD
Importante
A plataforma de impressão moderna é o meio preferencial do Windows para se comunicar com as impressoras. Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft juntamente com PSA (Aplicativos de Suporte à Impressão) para personalizar a experiência de impressão no Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.
Para obter mais informações, consulte Plataformade impressão moderna e o Guia de design do aplicativo de suporte de impressão.
Todas as características do dispositivo de plotadora são especificadas usando o seguinte formato:
keyword { value }
em que keyword é uma das palavras-chave do arquivo de origem PCD e value é uma string entre aspas ou valor numérico. Por exemplo, a instrução a seguir especifica que a plotadora oferece suporte a cores:
ColorCap {1}
Essas palavras-chave são descritas na seguinte tabela:
Palavra-chave | Definição de valor | Valor padrão |
---|---|---|
BezierCap | 1=O dispositivo suporta a extensão HPGL2 Beziers. 0=Não há suporte. |
0 |
ColorCap | 1=Dispositivo de cor 0=Dispositivo monocromático |
0 |
COLORINFO | 30 valores de tamanho DWORD que representam o conteúdo de uma estrutura 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 | Quatro valores de tamanho DWORD representando as margens esquerda, superior, direita e inferior do papel, em unidades de 1/1000 mm. | {5000, 5000, 5000, 36000} |
DeviceName | String entre aspas representando um nome de dispositivo exibível (máximo de 31 caracteres) | "HPGL/2 Plotter" |
DevicePelsDPI | Um valor do tamanho de DWORD que representa o DPI efetivo do dispositivo. Para obter mais informações, consulte o membro upDevicePelsDPI do GDIINFO. | O padrão é zero, fazendo com que o GDI calcule um valor. |
DeviceSize | Dois valores de tamanho DWORD representando o tamanho máximo do papel, nas coordenadas x e y de unidades de 1/1000 mm. Um valor y de 25400 (1 polegada) ou menos indica que o dispositivo aceita comprimentos de papel variáveis. |
{215900, 279400} |
FormInfo | Uma descrição de formulário para cada formulário suportado pela plotadora. Para obter mais informações, consulte a seção Descrições de formulário que segue esta tabela. | Nenhum. |
HTPatternSize | Uma das constantes prefixadas HT_PATSIZE_ que identificam padrões de meio-tom padrão. | 0xffffffff |
InitString | Cadeia de caracteres de linguagem C entre aspas que representa comandos enviados à impressora pela função DrvStartPage do driver. | cadeia de caracteres NULL. |
MaxCopies | Número máximo de cópias por página que o dispositivo pode renderizar. | 1 |
MaxPens | Número de canetas (máximo de 32) | 8 |
MaxPolygonPts | Número máximo de pontos para definir um polígono a ser traçado ou preenchido. | 128 |
MaxQuality | Número de níveis de qualidade (máximo de 4) | 4 |
MaxScale | Tamanho máximo da escala. 0-10000 (100 é 100%) | 100 |
NoBitmapFont | 1=O dispositivo não suporta fontes bitmap. 0=Fontes bitmap são suportadas. |
0 |
PaperTrayCap | 1=O dispositivo tem fonte de bandeja de papel. 0=Não há suporte. |
0 |
PaperTraySize | Dois valores de tamanho DWORD que representam a largura e a altura da bandeja de papel, em unidades de 1/1000 mm. | {-1, -1} |
PlotDPI | Dois valores de tamanho DWORD representando a resolução x e y de uma plotadora de caneta, em pontos por polegada. | {1016, 1016} |
PlotPenData | Uma descrição de caneta para cada caneta. Para obter mais informações, consulte a seção Descrições de caneta que segue esta tabela. | Nenhum. |
PushPopPal | 1=O driver deve empurrar/estourar a paleta ao alternar entre RTL e HPGL2. 0=Push/pop não é necessário. |
0 |
RasterByteAlign | 1=O dispositivo deve receber todos os dados raster em coordenadas x alinhadas a bytes. 0=O alinhamento de bytes não é necessário. |
0 |
RasterCap | 1=Dispositivo raster 0=Dispositivos com caneta |
0 |
RasterDPI | Dois valores de tamanho DWORD representandoa resolução x e y, em pontos por polegada. Para plotadoras raster, esta é a resolução raster. Para plotadoras de caneta, essa é a resolução ideal que o GDI fornece a um aplicativo. |
{300, 300} |
RollFeedCap | 1=O dispositivo tem origem de papel em rolo. 0=Não há suporte. |
0 |
ROPLevel | ROP_LEVEL_0 = Sem suporte a RasterOp. ROP_LEVEL_1 = Suporte a Rop1. ROP_LEVEL_2 = Suporte a Rop2. ROP_LEVEL_3 = Suporte a Rop3. |
ROP_LEVEL_0 |
RTLMonoEncode5 | 1=O modo de compactação monocromática HP Raster Transfer Language (RTL) 5 é suportado. 0=Não há suporte. |
0 |
RTLMonoFixPal | Paleta RTL Monocromática apenas. 0=Branco, 1=Preto |
0 |
RTLMonoNoCID | 1=No modo RTL Mono, os comandos CID não são necessários. 0=No modo RTL Mono, os comandos CID são necessários. |
0 |
RTLNoDPIxy | 1=Os comandos de movimento RTL DPI X,Y não são suportados. 0=Esses comandos são suportados. |
0 |
TransparentCap | 1=O dispositivo suporta o modo transparente. 0=Não há suporte. |
0 |
WindingFillCap | 1=O dispositivo suporta preenchimentos de enrolamento. 0=Não há suporte. |
0 |
Descrições da caneta
Cada descrição de caneta deve ter o seguinte formato:
PlotPenData {Pen Number, Color**}**
em que Pen Number identifica o número do slot da caneta e Color é um identificador de cor com prefixo PC_IDX_. A seguir estão exemplos de descrições de canetas:
PlotPenData {1, PC_IDX_WHITE}
PlotPenData {2, PC_IDX_BLACK}
PlotPenData {3, PC_IDX_RED}
Descrições de formulário
Cada descrição de formulário deve ter o seguinte formato:
FormInfo {"Form Description", Width**,** Length**,** Left Margin**,** Top Margin**,** Right Margin**,** Bottom Margin**}**
em que Form Description é uma string que descreve o formulário, Largura e Length especifica o tamanho do formulário em unidades de 1/1000 mm, e as margens também são especificadas em unidades de 1/1000 mm. Seguem três exemplos:
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}