Un'alternativa ai PDF: i documenti XPS

di Cristian Civera, in Windows Presentation Foundation,

La diffusione di internet, la molteplicità di piattaforme (Windows, Unix, Linux, ecc) e di diverso hardware ha fatto nascere sempre di più l'esigenza di poter scambiare informazioni in modo comprensibile tra le parti.
Il web ha così risposto con standards, come l'(X)HTML che mostrano informazioni adattandole nel formato in funzione delle variabili di sistema e delle preferenze dell'utente. Affianco ad essi si è però inoltre diffuso l'uso di documenti, conosciuti anche con il nome di WYSIWYG (what you see is what you get), che permettono di essere visualizzati e stampati così come sono stati prodotti. Il più conosciuto è il formato PDF, una creazione di Adobe.

Documenti XPS

Microsoft durante la preparazione di Windows Vista e del .NET Framework 3.0 ha sviluppato un nuovo formato documentale, ma con lo scopo di colmare i limiti dei PDF. Conosciute dapprima con il nome in codice di Metro, Microsoft ha dato vita alle Open Packaging Conventions e alle Open XML Markup Compatibility ancora in corso di standardizione e che descrivono come creare un pacchetto di contenuti, risorse e metadati, basato su XML, la compressione ZIP e che supporti il versioning e l'estendibilità del markup.
Su queste specifiche si basano poi le XML Paper Specification che descrivono il formato di un documento XPS per la rappresentazione di un foglio elettronico che possa essere condiviso, stampato, cross-platform e soprattutto royalty-free. Si basano sempre sulle convezioni di packaging anche i formati di Office 2007, quali docx, pptx, xslx ecc e su di esse possiamo inoltre costruire dei propri formati per applicazioni personalizzate.

Un documento XPS si distingue dall'estensione del file .xps e si basa principalmente su tecnologie e standard già esistenti. Rinominando il file in .zip (così come quelli di Office 2007) possiamo infatti vedere come il pacchetto sia costituito da file .xml e da file binari. Ciò significa che gli odierni linguaggi di programmazione possono, senza aver bisogno di librerie aggiuntive, leggere e generare documenti XPS.
In generale un pacchetto è costituito da una serie di part ognuna delle quali può essere una risorsa, un'immagine, un font, un thumbnail, un file XML oppure una o più relazioni che legano le part tra di loro, così da generare delle dipendenze, consentendo inoltre di ottimizzare la dimensione del pacchetto. Un pacchetto non si limita comunque ad essere un semplice ZIP, ma permette di associare ad ogni file un content type, di firmare digitalmente le parti che lo compongono così da proteggere il documento dalle manomissioni e fornische un sistema di gestione dei diritti sul package.

L'organizzazione fisica e logica di un pacchetto XPS si identifica in una gerarchia di cartelle che permette ad un file di contenere più documenti che formano una sequenza di FixedDocument raccolti tramite una FixedDocumentSequence. Ogni documento referenzia poi una o più FixedPage contenenti il markup del testo e referenzia a sua volta immagini e font che possono essere condivisi tra le pagine.

La figura seguente mostra come l'organizzazione del file "End User.xps" rispecchi questa logica e contenga diverse part e le relazioni.

Organizzazione file XPS

4 pagine in totale: 1 2 3 4
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti