Windows 8: Il sistema di stampa reinventato

Windows 8 e Windows RT si basano su un'architettura di driver di stampante completamente nuovo.

Adrian Lannin

Windows 8 introduce una nuova architettura di driver di stampante denominata versione 4 (v4). L'architettura v4 genera più piccolo, più veloce driver di stampante. Supporta anche un framework di driver di stampa di classe. In molti casi, questo consente agli utenti di installare stampanti senza dover individuare un driver per quel dispositivo.

V4 è la quarta iterazione dell'architettura di driver di stampante Windows. Versioni di Windows a Windows 7 da Windows 2000 utilizzavano l'architettura v3. V3 è ancora pienamente supportato in Windows 8 per motivi di dispositivo-compatibilità, quindi se avete solo un driver esistente disponibile per la stampante corrente, dovrebbe ancora funzionare in Windows 8.

Il sistema di stampa Windows 8 ha esigenze diverse. Una delle cose che dovevo capire presso la mia azienda era come dare agli sviluppatori di app la possibilità di stampare. Stampa da applicazioni Win32 richiede conoscenze di programmazione grafica, o GDI (Graphics Device Interface) (GDI) o XML Paper Specification (XPS). Quando ho guardato come potrei fare stampa possibile dalle applicazioni di Windows 8, completamente reinventato come ho attivato la stampa da Windows Runtime. Ho fatto la stampa facile da usare da XAML e HTML5/JavaScript / applicazioni c#.

Stampa da un'applicazione Windows Store dovrebbe naturalmente essere un'esperienza di Windows 8-stile. Quando tu hai stampato qualcosa, hai visto un piccolo applet pop-up per dire che la stampante è fuori dalla carta o corto di inchiostro. Questi pop-up sono comuni con stampanti a getto d'inchiostro. Alcuni pop-up solo quando pertinenti (avete inchiostro scarso), mentre gli altri pop-up ogni volta che si stampa. Essi provengono dal software del driver della stampante stessa.

I driver della stampante si sono evoluti per includere un sacco di funzionalità. Alcuni installare servizi, alcuni installare numerose applicazioni poco e molti ora sono abbastanza grandi. Il modello di driver di stampante v3 Windows è usata dal Windows 2000 si è evoluta in un modello altamente complesso e altamente estensibile. Questo dà a produttori di stampanti notevole libertà in quello che si installa nel loro software del driver. Quando ho pensato a come questo dovrebbe funzionare su alcuni dispositivi che verranno eseguito Windows RT (la versione di Windows 8 ottimizzato per uso mobile), sapevo che aveva bisogno di modifiche architettoniche significative. Non volevo influenzare negativamente i sistemi eseguendo servizi inutili. Ho voluto ridurre l'uso di risorse di sistema pur continuando a sostenere tanti dispositivi possibili.

Scegliere la stampante

C'è un'enorme diversità nella funzionalità della stampante, e Windows supporta una vasta gamma di stampanti. In Windows 7 e versioni precedenti di Windows, ognuna di queste stampanti richiesto un driver specifico per poter lavorare (ci sono alcune eccezioni, come driver di stampa universale, ma quelli hanno teso ad essere grandi e risorsa affamato). Questo significava che il numero di piloti che sono stati inclusi con Windows (chiamato driver nella scatola) era abbastanza grande in modo da fornire il buon supporto.

Ci sono molti più driver su Windows Update, ma è importante avere un set di base di driver nella scatola che supportano i più diffusi dispositivi nel caso in cui un utente non può o non scarica un driver da Windows Update. Nella casella driver sono essenziali per Windows RT. Infatti, utilizza solo i driver della stampante nella casella. Qui la sfida è ottenere una rilevante serie di stampanti supportate, ma anche ridurre le risorse necessarie per realizzare questo.

Un'altra sfida interessante nel sostenere numerose stampanti è supporto ottiene non aggiornato nel tempo. Il set di driver inclusi in Windows 7, ad esempio, forniti eccellente supporto per dispositivi usciti nel 2008 e 2009. Come sono stati rilasciati nuovi dispositivi e passare del tempo, il set di driver in Windows 7 è diventato meno rilevanti. Una grande sfida in Windows 8 è garantire che Windows continua a fornire un elevato livello di supporto stampante, tra cui stampanti che non sono ancora stato ancora rilasciate.

Condivisione della stampante

Chiunque ha somministrato un server di stampa può dirvi che sempre i driver corretti installati per supportare la condivisione è la parte più lunga della gestione di un server di stampa. Questo diventa difficile perché il "server di stampa" (che significa solo che il PC a cui è collegata la stampante, non è in realtà Windows Server) deve fornire i driver per i client che si desidera stampare alla stampante condivisa.

In Windows 7, Microsoft ha utilizzato HomeGroup per affrontare questo problema. Funziona molto bene del tempo. Tuttavia, il requisito per caricare i driver per ogni architettura di Windows diventa più problematico quando devi stampare da Windows RT.

Anche se la maggior parte delle persone che stampare da dispositivi Windows RT sono suscettibili di stampare su stampanti wireless, Microsoft non ha voluto escludere totalmente la possibilità di stampa su una stampante USB. D'altra parte, Microsoft non vuole aumentare la complessità di richiedendo persone aggiungere driver per client a 32 bit, 64-bit client e client di Windows RT di condivisione della stampante.

Applicazioni consentono di creare e visualizzare il contenuto. Il sistema di stampa mira a fornire queste applicazioni i mezzi per stampare il contenuto di qualsiasi stampante installata senza doversi preoccupare di cui particolare dispositivo è installato.

Per le applicazioni, aggiungendo il supporto di stampa è abbastanza semplice. Il contenuto che si desidera stampare da un'applicazione è in un formato che l'applicazione specifica. Per le applicazioni Windows Store, questo sarà spesso HTML5 o XAML, ma per le applicazioni Win32 come Word o Photoshop, il contenuto è in un formato specifico per ogni applicazione particolare.

Così quando si desidera stampare da un'applicazione della stampante, una delle cose che deve fare il sistema di stampa è di tradurre il contenuto dal formato dell'app che capisce la stampante nel formato. Purtroppo, stampanti non capiscono gli stessi formati, così questo si trasforma in un bel po' di lavoro.

Per fare un esempio reale, un'app come Word utilizza il sistema di grafica GDI per disegnare il contenuto sullo schermo e la stampante. Quando possibile, il sistema di stampa utilizza XPS (un formato intermedio di alta qualità) come suo formato contenuto interno. Poi Windows converte il contenuto dalla parola in XPS.

XPS è il fondamento del sistema di stampa, perché è un formato flessibile ed è proprio come carta elettronica. Esso supporta il colore ad alta fedeltà, e perché è una descrizione basata su XML senza codice eseguibile incorporato, è grande per scopi di archiviazione. È anche sicuro rispetto alle altre opzioni. Inoltre, Microsoft ha collaborato con l'International ECMA European Computer Manufacturers Association () per renderlo uno standard aperto (TC46 standard ECMA, OpenXPS). Il visualizzatore di desktop sia l'app lettore può visualizzare OpenXPS.

Una volta che il contenuto viene gestito mediante il sistema di stampa, viene convertito nel formato stampante capisce (se necessario — ci sono un sacco di stampanti che capiscono XPS direttamente), e il sistema di stampa questo invia alla stampante con il set di opzioni corrette. Quindi il lavoro viene stampato.

In Windows 8, c'è un netto miglioramento di questa storia perché apps utilizza Direct2D come loro formato di disegno base e Direct2D e XPS condividono lo stesso linguaggio di grafica basata su XML. Così in un altro esempio reale, il Reader app utilizza Direct2D per rendere il contenuto sullo schermo. Inoltre utilizza Direct2D per eseguire il rendering del contenuto stesso per il sistema di stampa. Il contenuto del lettore può facilmente essere presentato il sistema di stampa come XPS, senza costosi conversione da GDI.

Se l'applicazione richiede un layout di stampa è diverso dal layout dello schermo, è possibile farlo utilizzando fogli di stile o XAML. Questo significa che non devi "fare clic qui per una versione stampabile di questa pagina." Se avete una stampante che supporta XPS, poi il percorso dall'app alla stampante non comporta nessuna conversione a tutti, e la stampa è estremamente veloce.

E che, in termini generali, è come un app invia informazioni di stampa per il sistema di stampa. Il prossimo mese, mi occuperò la vasta gamma di stampanti supportate da Windows 8.

Adrian Lannin

Adrian Lannin è il lead program manager per stampa e scansione in Windows e per Windows To Go. All'interno di queste aree, egli è responsabile della progettazione e funzionalità per gli utenti aziendali, nonché gli utenti domestici di spedizione. Lannin ha più di 25 anni di esperienza nel settore imaging.

Contenuti correlati