Condividi tramite


Filtri XPS

Importante

La piattaforma di stampa moderna è il mezzo preferito di Windows per comunicare con le stampanti. Ti consigliamo di usare il driver di classe IPP di Microsoft, insieme a Print Support Apps (PSA), per personalizzare l'esperienza di stampa in Windows 10 e 11 per lo sviluppo di dispositivi per stampanti.

Per altre informazioni, vedere Piattaforma di stampa moderna e guida alla progettazione dell'app di supporto per la stampa.

Per il percorso di stampa XPS, i filtri rappresentano il modo principale in cui un driver prepara i dati di stampa per la stampante. Nelle versioni del sistema operativo Microsoft Windows prima di Windows Vista, i processori di stampa e i moduli di rendering hanno eseguito il lavoro dei filtri.

Un filtro XPS è una DLL che esporta le funzioni DllGetClassObject e DllCanUnloadNow . La gestione pipeline di filtri chiama queste funzioni quando carica e scarica la DLL del filtro XPS. Dopo il caricamento della DLL del filtro, gestione pipeline di filtri esegue le operazioni seguenti:

Prima di scaricare la DLL del filtro, la gestione pipeline di filtri chiama DllCanUnloadNow.

In alcuni filtri XPS meno recenti, la funzione DllGetClassObject recupera un riferimento all'interfaccia IPrintPipelineFilter del filtro anziché a un'interfaccia IClassFactory. Per garantire la compatibilità con le versioni precedenti, gestione pipeline di filtri in Windows Vista e versioni successive di Windows continuerà a supportare questi filtri. Tuttavia, per le nuove progettazioni di filtri, DllGetClassObject deve recuperare un riferimento a un'interfaccia IClassFactory .

I filtri XPS rendono il sottosistema di stampa più affidabile, perché i filtri vengono eseguiti in un processo diverso dallo spooler. Questo "sandboxing" protegge da errori e consente l'esecuzione di un plug-in con autorizzazioni di sicurezza diverse. XPSDrv consente anche di riutilizzare i filtri tra famiglie di stampanti per ridurre i costi e i tempi di sviluppo.

Per la massima flessibilità e riutilizzo, ogni filtro deve eseguire una funzione di elaborazione di stampa specifica. Ad esempio, un filtro applicherà solo una filigrana, mentre un'altra eseguirà solo la contabilità.

Per altre informazioni sulla gestione pipeline di filtri, vedere XPSDrv Render Module( Modulo di rendering XPSDrv).

Per altre informazioni sull'implementazione dei filtri, vedere Implementazione di filtri XPS.

Per altre informazioni sulle notifiche asincrone nei filtri di stampa, vedere Notifiche asincrone nei filtri di stampa.

È necessario configurare i filtri usando il file di configurazione della pipeline di filtro.

Per informazioni su come eseguire il debug del servizio pipeline del filtro di stampa, vedere Collegamento di un debugger al servizio pipeline del filtro di stampa.

In Windows 7, i filtri XPS possono usare il servizio di rasterizzazione XPS per convertire le pagine fisse nei documenti XPS in bitmap.

Per informazioni sul modo in cui Windows usa l'accelerazione GPU per la rasterizzazione XPS, vedere XPSRas GPU Usage Decision Tree.For information about the way Windows uses GPU acceleration for XPS rasterization, see XPSRas GPU Usage Decision Tree.