Alterações de comportamento da API Win32 DeviceCapabilities
Importante
A plataforma de impressão moderna é o meio preferido 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.
Um driver Unidrv/PScript5 em execução no modo XPSDrv cria as seguintes alterações na função Microsoft Win32 DeviceCapabilities.
Quando um recurso ou opção GPD/PPD é mapeado para uma palavra-chave do Esquema de Impressão usando as palavras-chave PrintSchemaKeywordMap do GPD ou MSPrintSchemaKeywordMap do PPD, o GPD ou o PPD dão suporte a essa palavra-chave do esquema de impressão.
(Na tabela a seguir, "somente PS" significa que a alteração de comportamento é específica para um driver PScript5. "Somente Unidrv" significa que a alteração de comportamento é específica do driver Unidrv. Se ambas as frases não aparecerem, a alteração de comportamento se aplicará aos drivers Unidrv e PScript5.)
Funcionalidade | Comportamento não XPSDrv | Comportamento XPSDrv |
---|---|---|
DC_COPIES | (Somente Unidrv) Quando o EMF está habilitado, DeviceCapabilities retorna um valor embutido em código que é o valor máximo de 9999 ou o valor *MaxCopies especificado do arquivo GPD. Quando o EMF está desabilitado, DeviceCapabilities retorna o valor GPD*MaxCopies. (Somente PS) DeviceCapabilities retorna um valor embutido em código de 9999. |
(Somente Unidrv) DeviceCapabilities retorna o valor GPD *MaxCopis. (Somente PS) DeviceCapabilities retornará o valor *MSXPSMaxCopies do arquivo PPD ou 1 se o valor não for especificado no arquivo PPD. |
DC_TRUETYPE | Para Unidrv, se a palavra-chave GPD *FontFormat for especificada, DeviceCapabilities retornará (DCTT_BITMAP | DCTT_DOWNLOAD); caso contrário, DeviceCapabilities retornará DCTT_BITMAP. Para PS, DeviceCapabilities sempre retorna (DCTT_DOWNLOAD | DCTT_SUBDEV). |
Se o GPD ou o PPD der suporte a um recurso com a palavra-chave "PageDeviceFontSubstitution" do Esquema de Impressão, o sinalizador DCTT_SUBDEV será definido no valor retornado. Se o GPD ou o PPD der suporte a um recurso com a palavra-chave de esquema de impressão "PageTrueTypeFontMode", ocorrerá o seguinte: Se o recurso der suporte a uma opção com a palavra-chave "DownloadAsOutlineFont" Print Schema, os sinalizadores DCTT_DOWNLOAD e DCTT_DOWNLOAD_OUTLINE serão definidos no valor retornado. Se o recurso der suporte a uma opção com a palavra-chave de esquema de impressão "Automatic", "DownloadAsRasterFont" ou "DownloadAsNativeTrueTypeFont", o sinalizador DCTT_DOWNLOAD será definido no valor retornado. Se o recurso der suporte a uma opção com a palavra-chave "RenderAsBitmap" Print Schema, o sinalizador DCTT_BITMAP será definido no valor retornado. Se nenhum dos sinalizadores DCTT_Xxx estiver definido, DeviceCapabilities retornará 0. |
DC_ORIENTATION | (Somente PS) DeviceCapabilities retorna 90 ou 270 com base no valor *LandscapeOrientation do PPD e na configuração para a opção de orientação Paisagem Girada codificada na estrutura DEVMODE de entrada. | (Somente PS) O valor retornado padrão é 0, o que significa que não há orientação paisagem. Se o PPD der suporte a um recurso com a palavra-chave do Esquema de Impressão "PageOrientation", ocorrerá o seguinte: Se o recurso der suporte a uma opção com a palavra-chave do Esquema de Impressão "Landscape", DeviceCapabilities retornará 90. Se o recurso der suporte a uma opção com a palavra-chave do Esquema de Impressão "ReverseLandscape", DeviceCapabilities retornará 270. |
DC_COLLATE | Quando o EMF está habilitado, DeviceCapabilities é codificado para retornar 1 (o que significa que há suporte para agrupamento). Quando o EMF está desabilitado, DeviceCapabilities retornará 1 se GPD ou PPD especificar Collate como um recurso com suporte e se o recurso Collate GPD ou PPD não for restrito por nenhum recurso de configuração do dispositivo. Caso contrário, DeviceCapabilities retornará 0. |
O comportamento é o mesmo dos drivers não XPSDrv com EMF desabilitado. |
DC_NUP | DeviceCapabilities retorna um valor embutido em código para indicar suporte para 1, 2, 4, 6, 9 ou 16 ups. | Se GPD ou PPD definir um recurso com a palavra-chave "DocumentNUp" Print Schema (o recurso "DocumentNUp" só será usado se não existir nenhum recurso "JobNUpAllDocumentsContiguously"), para todas as opções desse recurso que tenham a opção GPD/PPD nome da palavra-chave como um número numérico (ou seja, 1, 2, 6 e assim por diante), o número numérico será relatado como uma das páginas com suporte por valor de planilha. Caso contrário, XPSDrv relata que não há suporte para NUp. |
DC_PERSONALITY | Unidrv retorna a cadeia de caracteres definida pela palavra-chave do GPD Personality ou rcPersonalityID. PS sempre retorna "PostScript". |
Mantenha o mesmo comportamento dos drivers não XPSDrv. |
DC_MEDIAREADY | Se a tabela de atribuição Form-Tray for criada, DeviceCapabilities retornará os nomes de formulário exclusivos listados na tabela que tem uma bandeja atribuída. Se a tabela de atribuição da Bandeja de Formulários não for criada, DeviceCapabilities retornará "Letter" para a localidade padrão do sistema não métrico, "A4" para a localidade padrão do sistema métrico ou um tamanho de papel padrão definido por GPD ou PPD se a impressora não der suporte a "Letter" e "A4". |
O comportamento é o mesmo que com não-XPSDrv sem nenhuma tabela de atribuição de bandeja de formulário criada. |
DC_STAPLE | (Somente PS) O PPD não possui um único recurso de "Grampeamento". Um driver PScript5 verifica se algum dos seguintes recursos PPD está definido no PPD e não restrito pelas configurações do dispositivo para determinar se o dispositivo pode dar suporte ao grampeamento. "StapleLocation" "StapleX", "StapleY" "StapleWhen" "StapleOrientation" |
(Somente PS) Se o PPD der suporte a um recurso com a palavra-chave "JobStapleAllDocuments" ou "DocumentStaple" Print Schema, DeviceCapabilities retornará 1 para indicar o suporte ao grampeamento. Caso contrário, DeviceCapabilities retornará 0. |