Cambios en el comportamiento de la API de DeviceCapabilities de Win32
Importante
La plataforma de impresión moderna es el medio preferido de Windows para comunicarse con impresoras. Se recomienda usar el controlador de clase de bandeja de entrada IPP de Microsoft, junto con aplicaciones de soporte técnico de impresión (PSA), para personalizar la experiencia de impresión en Windows 10 y 11 para el desarrollo de dispositivos de impresora.
Para obtener más información, consulte Plataforma de impresión moderna y la Guía de diseño de aplicaciones para compatibilidad con impresión.
Un controlador Unidrv/PScript5 que se ejecuta en modo XPSDrv crea los siguientes cambios en la función DeviceCapabilities de Microsoft Win32.
Cuando una característica u opción de GPD/PPD se asigna a una palabra clave del esquema de impresión mediante las palabras clave PrintSchemaKeywordMap de GPD o MSPrintSchemaKeywordMap de PPD, GPD o PPD admiten esa palabra clave del esquema de impresión.
(En la tabla siguiente, "solo PS" significa que el cambio de comportamiento es específico de un controlador PScript5. "Solo Unidrv" significa que el cambio de comportamiento es específico del controlador Unidrv. Si ambas frases no aparecen, el cambio de comportamiento se aplica a los controladores Unidrv y PScript5).
Funcionalidad | Comportamiento no de XPSDrv | Comportamiento de XPSDrv |
---|---|---|
DC_COPIES | (Solo Unidrv) Cuando EMF está habilitado, DeviceCapabilities devuelve un valor codificado de forma fija que es el valor máximo de 9999 o el valor *MaxCopies especificado del archivo GPD. Cuando EMF está deshabilitado, DeviceCapabilities devuelve el valor GPD*MaxCopies. (Solo PS) DeviceCapabilities devuelve un valor codificado de forma fija de 9999. |
(Solo Unidrv) DeviceCapabilities devuelve el valor *MaxCopies de GPD. (Solo PS) DeviceCapabilities devuelve el valor *MSXPSMaxCopies del archivo PPD o 1 si el valor no se especifica en el archivo PPD. |
DC_TRUETYPE | Para Unidrv, si se especifica la palabra clave de GPD *FontFormat, DeviceCapabilities devuelve (DCTT_BITMAP | DCTT_DOWNLOAD); de lo contrario, DeviceCapabilities devuelve DCTT_BITMAP. Para PS, DeviceCapabilities siempre devuelve (DCTT_DOWNLOAD | DCTT_SUBDEV). |
Si GPD o PPD admite una característica con la palabra clave del esquema de impresión "PageDeviceFontSubstitution", la marca DCTT_SUBDEV se establece en el valor devuelto. Si GPD o PPD admite una característica con la palabra clave del esquema de impresión "PageTrueTypeFontMode", se produce lo siguiente: Si la característica admite una opción con la palabra clave del esquema de impresión "DownloadAsOutlineFont", las marcas DCTT_DOWNLOAD y DCTT_DOWNLOAD_OUTLINE se establecen en el valor devuelto. Si la característica admite una opción con la palabra clave del esquema de impresión "Automatic", "DownloadAsRasterFont" o "DownloadAsNativeTrueTypeFont", la marca DCTT_DOWNLOAD se establece en el valor devuelto. Si la característica admite una opción con la palabra clave del esquema de impresión "RenderAsBitmap", la marca DCTT_BITMAP se establece en el valor devuelto. Si no se establece ninguna de las marcas de DCTT_Xxx, DeviceCapabilities devuelve 0. |
DC_ORIENTATION | (Solo PS) DeviceCapabilities devuelve 90 o 270 según el valor *LandscapeOrientation de PPD y la configuración de la opción de orientación horizontal girada codificada de forma fija en la estructura DEVMODE de entrada. | (Solo PS) El valor devuelto predeterminado es 0, lo que significa que no hay orientación horizontal. Si PPD admite una característica con la palabra clave del esquema de impresión "PageOrientation", se produce lo siguiente: Si la característica admite una opción con la palabra clave del esquema de impresión "Landscape", DeviceCapabilities devuelve 90. Si la característica admite una opción con la palabra clave del esquema de impresión "ReverseLandscape", DeviceCapabilities devuelve 270. |
DC_COLLATE | Cuando EMF está habilitado, DeviceCapabilities se codifica de forma fija para devolver 1 (lo que significa que se admite la intercalación). Cuando EMF está deshabilitado, DeviceCapabilities devuelve 1 si GPD o PPD especifica Collate como una característica compatible y si la característica de GPD o PPD de Collate no está restringida por ninguna característica de configuración de dispositivo. De lo contrario, DeviceCapabilities devuelve 0. |
El comportamiento es el mismo que para los controladores que no son XPSDrv con EMF deshabilitado. |
DC_NUP | DeviceCapabilities devuelve un valor codificado de forma fija para indicar la compatibilidad con 1, 2, 4, 6, 9 o 16 ups. | Si GPD o PPD define una característica con la palabra clave del esquema de impresión "DocumentNUp" (la característica "DocumentNUp" solo se usa si no existe ninguna característica "JobNUpAllDocumentsContiguously"), para las opciones de esa característica que tienen la opción de nombre de palabra clave de GPD/PPD como un número (es decir, 1, 2, 6, etc.), el número se notifica como uno de los valores admitidos de páginas por hoja. De lo contrario, XPSDrv informa de que no se admite NUp. |
DC_PERSONALITY | Unidrv devuelve la cadena definida por la palabra clave de GPD Personality o rcPersonalityID. PS siempre devuelve "PostScript". |
Mantenga el comportamiento igual que para los controladores que no son XPSDrv. |
DC_MEDIAREADY | Si alguna vez se crea la tabla de asignación de formulario a bandeja, DeviceCapabilities devuelve los nombres de formulario únicos que aparecen en la tabla que tiene una bandeja asignada. Si no se crea la tabla de asignación de formulario a bandeja, DeviceCapabilities devuelve "Letter" para la configuración regional predeterminada del sistema no métrico, "A4" para la configuración regional predeterminada del sistema métrico o un tamaño de papel predeterminado definido por GPD o PPD si la impresora no admite "Letter" ni "A4". |
El comportamiento es el mismo que para no de XPSDrv sin tabla de asignación de formulario a bandeja creada. |
DC_STAPLE | (Solo PS) PPD no tiene una única característica de "grapado". Un controlador PScript5 comprueba si alguna de las siguientes características de PPD se define en PPD y no está restringida por la configuración del dispositivo para determinar si el dispositivo puede admitir el grapado. "StapleLocation" "StapleX", "StapleY" "StapleWhen" "StapleOrientation" |
(Solo PS) Si PPD admite una característica con la palabra clave del esquema de impresión "JobStapleAllDocuments" o "DocumentStaple", DeviceCapabilities devuelve 1 para indicar la compatibilidad con el grapado. De lo contrario, DeviceCapabilities devuelve 0. |