Especificación del manifiesto MSIX para impresora virtual de soporte de impresión
Esta característica permite imprimir en una impresora virtual sin necesidad de controladores de impresión V3/V4 heredados, ya que Windows planea dejar de usar controladores de impresión V3/V4 de terceros. Para obtener más información, consulte Plan de finalización del soporte para los controladores de impresora de terceros en Windows.
La arquitectura de impresora virtual facilita la implementación de impresoras de software sin controladores de terceros. A través de esta arquitectura, los ISV (proveedores de software independientes) pueden implementar una impresora de software como una aplicación que implementa las características compatibles actualmente con controladores V3/V4 de terceros.
En este artículo se describe cómo una aplicación puede registrarse como impresora de software en el manifiesto.
Para obtener más información, consulte los artículos siguientes:
Tema | Descripción |
---|---|
guía de diseño de aplicaciones de soporte de impresión | Proporciona instrucciones y ejemplos para los OEM de impresoras e IHVs que implementan una aplicación de soporte de impresión (PSA) para sus dispositivos. |
Guía de diseño de la API de la App de Soporte de Impresión v3 | Proporciona instrucciones y ejemplos para los OEM de impresora e IHD que implementan una aplicación de soporte de impresión v3 (PSA) para su dispositivo. |
Guía de diseño de la API v4 de aplicaciones para compatibilidad con impresión | Proporciona instrucciones y ejemplos para los OEM de impresora e IHD que implementan una aplicación de soporte de impresión v4 (PSA) para su dispositivo. |
Asociación de aplicaciones de soporte de impresión | Proporciona instrucciones y ejemplos para asociar una aplicación de soporte de impresión (PSA) con una impresora. |
Aplicación para compatibilidad con impresión (PSA) es la arquitectura introducida para ayudar a los IHV a agregar personalización a las impresoras IPP sin recurrir a controladores heredados de terceros. Para facilitar la transición a la impresora de software, todas las API forman parte del espacio de nombres PrintSupportApp API y reutilizan algunos de los contratos PSA que son aplicables a la arquitectura de impresora virtual.
El nuevo contrato de manifiesto es similar al contrato de Windows.printSupportWorkflow, pero este contrato necesita más entradas, ya que se usa para instalar una impresora virtual.
El nuevo controlador de extensión de implementación de Windows (DEH) instala una impresora virtual basada en la declaración de manifiesto y los componentes de impresión de Windows invocan la aplicación cuando el usuario imprime en la impresora virtual instalada.
Atributos de manifiesto
printSupport:Extension - Entrada de extensión para impresora virtual
Categoría - Windows.printSupportVirtualPrinterWorkflow nuevo contrato para la aplicación que implementa una impresora virtual
PrintSupportVirtualPrinter - Cada entrada especifica una cola de impresión de punto de conexión de software que se va a instalar junto con la aplicación. Cada entrada PrintSupportVirtualPrinter puede tener los atributos siguientes:
preferredInputFormat: este atributo indica el formato PDL de entrada preferido para la impresora virtual. El sistema de impresión de Windows genera este formato antes de proporcionar datos PDL a la impresora virtual para todas las rutas de impresión. El campo solo puede ser uno de los siguientes valores: application/oxps o application/postscript. Se produce un error en la instalación si se especifican otros formatos en este campo. Si no se especifica el campo, application/oxps se establece como el formato PDL preferido para la impresora virtual instalada.
OutputFileTypes - cuando se especifica este atributo en el manifiesto appx, el sistema de impresión de Windows crea una cola de impresoras marcada como una impresora de archivos y se muestra el cuadro de diálogo "Guardar como" al usuario cuando una aplicación comienza a imprimir en la impresora virtual. Los valores de este campo deben contener extensiones de archivo de destino, como pdf/pwgr/ps, etc. Estos valores se almacenan en los datos del controlador y se agregan a Guardar como cuadro de diálogo como extensiones permitidas. Si una impresora virtual no desea el comportamiento de impresión de archivos (esto incluye impresoras virtuales que almacenan datos de impresión en la nube o impresoras que envían datos a una aplicación como OneNote), este campo no se debe agregar al manifiesto.
Formatos Admitidos: Este elemento se puede usar en la impresora virtual para especificar todos los formatos PDL que puede procesar. Esto se usa para aplicaciones de impresión directa como Microsoft Edge para identificar el formato admitido, como PDF, y pasar directamente una secuencia PDF a la impresora virtual sin que el sistema de impresión de Windows realice cambios. Este campo puede tener supportedFormat como elementos secundarios.
SupportedFormat - El elemento especifica un único formato PDL de paso directo y puede tener los siguientes atributos.
tipo: este atributo se usa para especificar el tipo MIME compatible con la impresora virtual.
MaxVersion: este atributo especifica la versión máxima de ese formato PDL que puede recibir la impresora virtual. El valor MaxVersion debe tener el formato MajorVersion.MinorVersion. El sistema de impresión de Windows produce un error en la instalación de la impresora si está en cualquier otro formato. MajorVersion y MinorVersion solo pueden ser números. Si hay caracteres presentes, el campo de versión se invalida y se omite.
PdcFile: este atributo debe apuntar a un archivo de recursos dentro del paquete de aplicación. El archivo debe tener contenido en formato XML de capacidades de dispositivos de impresión, que se utiliza para definir las funcionalidades de la impresora y debe usarse para definir cualquier característica, opción o parámetro personalizado. Se trata de un campo obligatorio y se produce un error en la instalación de la impresora si el valor no está presente o si el contenido del archivo no está en formato PDC válido.
PdrFile: si se proporciona, este atributo debe apuntar a un archivo de recursos dentro del paquete de aplicación. El archivo debe contener recursos de dispositivo de impresión en formato XML. Este campo debe proporcionarse si la aplicación quiere localizar preferencias de impresión personalizadas. Este campo es opcional y el sistema de impresión controla la localización de recursos para las preferencias de impresión si este campo no está presente.
DisplayName - Especifica el nombre de la cola de impresoras virtuales que está instalada. Las restricciones de esta cadena son las mismas que las que se aplican a un nombre de impresora de Windows.
PrinterUri: especifica un URI único que las aplicaciones PSA pueden usar para identificar la impresora. Una sola aplicación de impresora virtual puede especificar varios puntos de conexión de software, lo que da como resultado la instalación de varias impresoras. El campo PrinterUri se puede usar para diferenciar entre estas impresoras. Esta salida de URI se proporciona a partir de IppPrintDevice::PrinterUri API. Si no se especifica el URI, Windows asigna un URI único arbitrario a la impresora.
Ejemplo de manifiesto
<Extensions>
<printsupport2:Extension Category="windows.printSupportVirtualPrinterWorkflow" EntryPoint="Tasks.PrintSupportWorkflowBackgroundTask">
<PrintSupportVirtualPrinter DisplayName="ms-resource://PRINTER_NAME1" PrinterUri="contoso-psa:printer1" PreferredInputFormat="application/postscript" OutputFileTypes="ps;pdf" PdcFile="Config\PRINTER_PDC1.xml" PdrFile="Config\PRINTER_PDR1.xml">
<SupportedFormats>
<SupportedFormat Type="application/postscript" />
<SupportedFormat Type="application/pdf" MaxVersion="1.7" />
</SupportedFormats>
</PrintSupportVirtualPrinter>
</printsupport2:Extension>
<printsupport2:Extension Category="windows.printSupportVirtualPrinterWorkflow" EntryPoint="Tasks.PrintSupportWorkflowBackgroundTask">
<PrintSupportVirtualPrinter DisplayName="ms-resource://PRINTER_NAME2" PrinterUri ="contoso-psa:printer2" PreferredInputFormat="application/oxps" OutputFileTypes="pwgr;pdf" PdcFile="ms-appx:///PRINTER_PDC2.xml" PdrFile="ms-appx:///PRINTER_PDR2.xml">
<SupportedFormats>
<SupportedFormat Type="application/pdf" MaxVersion="1.7" />
</SupportedFormats>
</PrintSupportVirtualPrinter>
</printsupport2:Extension>
<printsupport:Extension Category="windows.printSupportExtension" EntryPoint="Tasks.PrintSupportExtensionBackGroundTask"/>
<printsupport:Extension Category="windows.printSupportSettingsUI" EntryPoint="PrintSupportApp.App"/>
<printsupport:Extension Category="windows.printSupportJobUI" EntryPoint="PrintSupportApp.App"/>
</Extensions>
Artículos relacionados
Fin del soporte para controladores de impresora de terceros en Windows