Compartir a través de


Filtros XPS

Importante

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 Guía de diseño de aplicaciones para compatibilidad con impresión.

Para la ruta de impresión XPS, los filtros son la forma principal en que un controlador prepara los datos de impresión para la impresora. En versiones del sistema operativo Microsoft Windows antes de Windows Vista, los procesadores de impresión y los módulos de representación hicieron el trabajo de filtros.

Un filtro XPS es un archivo DLL que exporta las funciones DllGetClassObject y DllCanUnloadNow . El administrador de canalizaciones de filtro llama a estas funciones cuando carga y descarga el archivo DLL de filtro XPS. Después de cargar el archivo DLL de filtro, el administrador de canalizaciones de filtro hace lo siguiente:

Antes de descargar el archivo DLL de filtro, el administrador de canalizaciones de filtros llama a DllCanUnloadNow.

En algunos filtros XPS anteriores, la función DllGetClassObject recupera una referencia a la interfaz IPrintPipelineFilter del filtro en lugar de a una interfaz IClassFactory. Para la compatibilidad con versiones anteriores, el administrador de canalizaciones de filtro en Windows Vista y versiones posteriores de Windows seguirá admitiendo estos filtros. Sin embargo, para los nuevos diseños de filtro, DllGetClassObject debe recuperar una referencia a una interfaz IClassFactory .

Los filtros XPS hacen que el subsistema de impresión sea más sólido, ya que los filtros se ejecutan en un proceso diferente del de la cola. Este "espacio aislado" protege contra errores y permite que un complemento se ejecute con distintos permisos de seguridad. XPSDrv también le permite reutilizar filtros en familias de impresoras para reducir los costos y el tiempo de desarrollo.

Para una máxima flexibilidad y reutilización, cada filtro debe realizar una función de procesamiento de impresión específica. Por ejemplo, un filtro solo aplicaría una marca de agua, mientras que otro solo realizaría contabilidad.

Para obtener más información sobre el administrador de canalizaciones de filtro, consulte XPSDrv Render Module (Módulo de representación xpSDrv).

Para obtener más información sobre la implementación de filtros, vea Implementación de filtros XPS.

Para obtener más información sobre las notificaciones asincrónicas en filtros de impresión, consulte Notificaciones asincrónicas en filtros de impresión.

Debe configurar filtros mediante el archivo de configuración de canalización de filtro.

Para obtener información sobre cómo depurar el servicio de canalización de filtro de impresión, consulte Asociación de un depurador al servicio de canalización de filtro de impresión.

En Windows 7, los filtros XPS pueden usar el servicio de rasterización XPS para convertir páginas fijas en documentos XPS en mapas de bits.

Para obtener información sobre la forma en que Windows usa la aceleración de GPU para la rasterización XPS, consulte Árbol de decisión de uso de GPU xpSRas.