Nuevos atributos PPD de solo nivel raíz para Windows Vista
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.
En la lista siguiente se describen los atributos de PPD que son nuevos a partir de Windows Vista. Para mantener la compatibilidad con versiones anteriores de Windows Vista, debe rodear estos atributos con el código siguiente.
*Ifdef: WINNT_60 ... *Endif: WINNT_60 blocks
MSPrintSchemaKeywordMap
El atributo MSPrintSchemaKeywordMap define la asignación de una palabra clave de característica PPD a una palabra clave de característica pública del esquema de impresión o una asignación de una palabra clave de opción PPD de una característica PPD a una palabra clave de opción pública del de esquema de impresión de una característica del de esquema de impresión.
MSPrintSchemaKeywordMap tiene dos formatos aceptables:
*MSPrintSchemaKeywordMap: PrintSchema_feature_keyword *<PPD_feature_keyword>
*MSPrintSchemaKeywordMap: PrintSchema_feature_keyword PrintSchema_option_keyword *<PPD_feature_keyword> <PPD_option_keyword>
Se requiere el prefijo de palabra clave de característica PPD (que es un asterisco [*]) en ambos formatos.
Para el formato 1:
La palabra clave de la característica PPD debe hacer referencia a una característica PPD que ya se haya definido en el contenido anterior del archivo PPD.
No se permiten varias definiciones de *MSPrintSchemaKeywordMap para la misma característica PPD. Si se encuentran varias definiciones, solo se aceptará la primera definición y se omitirán otras definiciones.
Para el formato 2:
La definición *MSPrintSchemaKeywordMap para una característica PPD (mediante el formato 1) debe estar presente antes de que aparezcan las definiciones *MSPrintSchemaKeywordMap para las opciones de la característica PPD.
En la definición *MSPrintSchemaKeywordMap para una opción PPD, la asignación de la palabra clave de característica PPD a la palabra clave de característica del esquema de impresión debe ser la misma que la definida en la definición anterior de *MSPrintSchemaKeywordMap para la característica PPD (mediante el formato 1).
La palabra clave de opción PPD debe hacer referencia a una opción de la característica PPD que ya se haya definido en el contenido anterior del archivo PPD.
No se permiten varias definiciones de *MSPrintSchemaKeywordMap para la misma opción PPD de una característica PPD. Si se encuentran varias definiciones, solo se aceptará la primera definición y se omitirán otras definiciones.
Si una entrada *MSPrintSchemaKeywordMap infringe cualquiera de las reglas de formato anteriores, esa entrada se omitirá y recibirá una advertencia de ppdchecker con información detallada.
*MSPrintSchemaKeywordMap no se admite para su uso con las siguientes características de PPD estándar:
*Collate *Duplex *InputSlot *OutputBin *PageSize *Resolution *MediaType También es importante saber que si asigna una característica a una palabra clave del esquema de impresión que ya se está usando en el archivo PPD, el documento PrintCapabilities correspondiente podría enumerar esa característica más de una vez. Es posible que varias apariciones sean confusas, por lo que no debe asignar características a palabras clave de esquema de impresión que se usan en el archivo PPD.
El analizador PPD genera automáticamente la opción FORMSOURCE para la característica InputBin y la asigna a la palabra clave AutoSelect en el esquema de impresión. Si el archivo PPD contiene una opción InputBin que usa el atributo MSPrintSchemaKeywordMap para asignar la opción a una palabra clave del esquema de impresión, la característica del esquema de impresión contendrá una opción FORMSOURCE en el espacio de nombres del dispositivo. La selección automática aparecerá en el documento PrintCapabilities y hará referencia a la opción especificada en el atributo MSPrintSchemaKeywordMap del archivo PPD.
En el ejemplo de código siguiente se muestra un ejemplo del atributo MSPrintSchemaKeywordMap en un archivo PPD parcial.
*OpenUI *IHVStapling:PickOne
*DefaultIHVStapling:Disabled
*IHVStapling Enabled:"..."
*IHVStapling Disabled:"..."
*CloseUI: *IHVStapling
*MSPrintSchemaKeywordMap: Staple*IHVStapling
*MSPrintSchemaKeywordMap: StapleOn*IHVStaplingEnabled
*MSPrintSchemaKeywordMap: StapleOff*IHVStaplingDisabled
MSPrintSchemaPrivateNamespaceURI
El atributo MsPrintSchemaPrivateNamespaceURI define el URI de espacio de nombres privado que el controlador principal debe usar para exponer las características u opciones privadas de PPD en PrintTicket o PrintCapabilities. Este URI se aplicará a las características u opciones que no tengan una asignación explícita (mediante la definición *MSPrintSchemaKeywordMap) en el esquema de impresión público.
MSPrintSchemaPrivateNamespaceURI usa el siguiente formato.
*MSPPrintSchemaPrivateNamespaceURI: "<URI>"
<URI> representa un valor quotedValue de PPD. Tal como se define en la especificación PPD, QuotedValue permite subcadenas ASCII de literales y subcadenas hexadecimales.
Uno o varios archivos PPD del modelo de impresora deben tener solo una definición de *MSPrintSchemaPrivateNamespaceURI. Si se encuentran varias definiciones, solo se aceptará la primera definición y se omitirán las demás.
En el ejemplo de código siguiente se muestra un ejemplo del atributo MsPrintSchemaPrivateNamespaceURI en un archivo PPD parcial.
*MSPrivateNamespaceURI: "https://www.ihv.com/schema/2004"
MSIsXPSDriver
El atributo MSIsXPSDriver usa el siguiente formato.
*MSIsXPSDriver: True | False
Puedes usar el módulo de configuración del controlador PScript5 de Windows Vista (Ps5ui.dll) para los controladores GDI de Microsoft Win32 y los nuevos controladores XPSDrv. Para usar el módulo de configuración del controlador PScript5 para controladores XPSDrv, el archivo de datos PPD del controlador XPSDrv debe especificar MSIsXPSDriver y establecer su valor en True.
En el ejemplo de código siguiente se muestra un ejemplo de este atributo en un archivo PPD parcial:
*MSIsXPSDriver: True
Para usar el módulo de configuración del controlador PScript5 para controladores GDI Win32, no es necesario especificar este atributo PPD.
MSPrintProcDuplexOptions
El atributo MSPrintProcDuplexOptions usa el siguiente formato.
*MSPrintProcDuplexOptions: "int"
Este atributo puede tener uno de los siguientes valores:
1: Invertir las páginas para dúplex inverso
2: Suprimir la generación de páginas en blanco adicionales si es posible
3: Las dos opciones anteriores
0: Ninguna de las anteriores
En el ejemplo de código siguiente se muestra un ejemplo de MSPrintProcDuplexOptions en un archivo PPD parcial:
*MSPrintProcDuplexOptions: "2"
Este atributo controla varias opciones de dúplex en el procesador de impresión.
Si MSPrintProcDuplexOptions es 1, controla si el procesador de impresión debe invertir páginas en dúplex inverso.
Supongamos que tiene que imprimir un documento de cuatro páginas con n-up = 1 y desea usar la impresión inversa y la impresión dúplex. Dado que desea imprimir de forma inversa, desea imprimir la última página antes de la primera página. Dado que desea imprimir en dúplex, desea imprimir dos páginas en una sola hoja de papel. El procesador de impresión puede reproducir las páginas en uno de los dos formatos siguientes (donde cada par de números indica las dos páginas que se imprimirían en las dos caras de una sola hoja de papel):
Formato 1: (4,3),(2,1)
Formato 2: (3,4),(1,2)
Antes de Windows Vista, un procesador de impresión imprimiría las páginas en formato 2 [(3,4),(1,2)]. Pero en Windows Vista y versiones posteriores, el formato predeterminado es el formato 1 [(4,3),(2,1)]. Este cambio se produjo porque muchas impresoras tienen una salida incorrecta con el formato 2; es decir, las páginas que se imprimen no se ordenan en el orden adecuado.
Si la impresora funciona correctamente con el formato 1, no tendrá que cambiar nada para Windows Vista y versiones posteriores. Sin embargo, si la impresora funciona incorrectamente con el formato 1 y desea revertir al formato 2, agregue el atributo MSPrintProcDuplexOptions con el valor 1.
*MSPrintProcDuplexOptions: "1"
Para el controlador PScript de Windows Vista anterior, si tiene un procesador de impresión anterior a Windows Vista, el formato 2 es el predeterminado y no puede cambiar el comportamiento; de lo contrario, si tiene un procesador de impresión de Windows Vista, el formato 1 es el predeterminado y no puede cambiar el comportamiento.
Para el controlador PScript de Windows Vista. Si tiene un procesador de impresión anterior a Windows Vista, el formato 2 es el valor predeterminado y se omitirá el atributo PPD; de lo contrario, si tiene un procesador de impresión de Windows Vista, el formato 1 es el predeterminado, pero puede cambiar el formato mediante el atributo MSPrintProcDuplexOptions.
Si MSPrintProcDuplexOptions es 2, el procesador de impresión suprimirá la generación de páginas en blanco en determinados escenarios dúplex.
Por ejemplo, si el trabajo es un trabajo de una página y dúplex está activado (supongamos que n-up = 1), solo es necesario imprimir una cara de la hoja. Actualmente, las impresoras imprimirán una cara y, a continuación, generarán una página vacía en blanco en la cara inversa. (Dado que el trabajo de impresión se inició con duplex=on, la impresora espera dos páginas antes de expulsar la hoja. Si la segunda página no se imprime, algunas impresoras siguen esperando). Los inconvenientes de la solución actual son los siguientes:
La página generada provoca un recuento de páginas inexacto en el software de contabilidad y el contador de páginas dentro de impresoras.
Cuando la página sale de la impresora (en algunas impresoras de estilo Hewlett Packard DeskJet), es posible que el usuario intente extraerla mientras la impresora intenta recuperarla. Esta situación puede provocar problemas de hardware.
Puede evitar los problemas anteriores especificando *MSPrintProcDuplexOptions: "2" en el archivo PPD.
Tenga en cuenta que, incluso si se establece este atributo, la optimización de página en blanco solo se realiza en los siguientes casos limitados:
Para la impresión inversa, la optimización de páginas en blanco solo se realiza cuando todo el trabajo puede caber en una sola cara del papel (por ejemplo, un trabajo de una página con n-up=1 o un trabajo de cuatro páginas con n-up =4). Si el trabajo necesita más de una hoja, la optimización no se realiza (porque las páginas de impresora se imprimirán en un orden inexacto). Por ejemplo, para un trabajo de tres páginas, las páginas se pueden imprimir en el orden 3,2,1,<en blanco> en lugar de 4,3,2,<en blanco>.
La optimización de páginas en blanco no se realiza si el procesador de impresión tiene que simular copias. El procesador de impresión simula copias si el número de copias necesarias es mayor que el número de copias que puede realizar el procesador de impresión.
La siguiente situación es un ejemplo de cuándo se producen simulaciones y se generan páginas en blanco (si es necesario):
- Dos copias de una impresora que no pueden realizar copias
Las situaciones siguientes son ejemplos de cuándo no se produce la simulación y puede suprimir la generación de páginas adicionales:
- Trabajo de una sola copia para una impresora que no puede realizar copias
- Trabajo de cinco copias para una impresora que puede hacer más de una copia
Para el controlador PScript anterior a Windows Vista, si tiene un procesador de impresión anterior a Windows Vista, una impresora imprimirá una página en blanco adicional, si se considera necesario, y no puede cambiar el comportamiento; de lo contrario, si tiene un procesador de impresión de Windows Vista, una impresora imprimirá una página en blanco adicional, si se considera necesario, y no puede cambiar el comportamiento.
Para el controlador PScript de Windows Vista. Si tiene un procesador de impresión anterior a Windows Vista, una impresora imprimirá una página en blanco adicional, si se considera necesario, y se omitirá el atributo PPD; de lo contrario, si tiene un procesador de impresión de Windows Vista y si el atributo PPD adecuado y las condiciones adecuadas están presentes (es decir, las condiciones descritas anteriormente sobre la prevención de la impresión de páginas en blanco), una impresora no imprimirá páginas en blanco.
MSBidiQueryFile
El atributo MSBiDiQueryFile usa el siguiente formato.
*MSBidiQueryFile: "filename"
Use MSBiDiQueryFile para especificar el nombre de archivo GPD o GDL que contiene los datos de configuración automática BidiQuery y BidiResponse del controlador de impresora. El nombre de archivo GPD o GDL no debe especificar ninguna ruta de acceso.
En el ejemplo de código siguiente se muestra un ejemplo de MSBiDiQueryFile en un archivo PPD parcial.
*MSBidiQueryFile: "ACnfgPS.GDL"
MSXPSMaxCopies
El atributo MSXPSMaxCopies usa el siguiente formato.
*MSXPSMaxCopies: "int"
Use MSXPSMaxCopies para especificar el número máximo de copias que puede admitir un controlador de impresora XPSDrv.
En el ejemplo de código siguiente se muestra un ejemplo de MSXPSMaxCopies en un archivo PPD parcial:
*MSXPSMaxCopies: "99"