2010-07-23 16 views

risposta

6

L'SDK OpenXML è un livello pratico per il formato di file OpenXML. Usando questo SDK puoi fare tutto ciò che è possibile fare con il formato del file, ad es. inserire, modificare e rimuovere il contenuto, i metadati e la formattazione.

Contrariamente all'automazione COM di Office, non è possibile eseguire operazioni correlate alla logica dell'applicazione. Per fornirti alcuni esempi: utilizzando l'SDK OpenXML, non puoi conoscere il numero di pagina di un determinato elemento in un documento di testo perché ciò richiederebbe l'impaginazione, non è possibile ricalcolare le formule di un foglio di calcolo perché richiede il motore matematico di Excel, oppure non è possibile convertire una diapositiva di presentazione in un'immagine perché è necessario che PowerPoint esegua il rendering della diapositiva.

Per quanto riguarda Word, è possibile dare un'occhiata al seguente presentazione che dimostra quando utilizzare l'OpenXML SDK vs Office automation:

Open XML SDK + Word Automation Services Presentation at PDC

+2

+1. Esattamente. Il modo più semplice per pensarci (almeno per me) è che l'SDK in realtà non * rende * nulla, ma aggiunge o elimina da ciò che sarà il rendering se apri il file con un'app client (come Word) che interpreterà il formato e lo renderà. Ecco un esempio di un problema su SO che dimostra un problema di rendering: http://stackoverflow.com/questions/2638046/how-to-split-table-to-new-powerpoint-slide-when-content-flows-off- corrente-slide-u /. Personalmente, non uso quasi mai l'SDK perché non offre nulla che non possa fare da solo con 'System.IO.Packaging'. –

+0

@Otaku: hai dato un'occhiata alla versione 2.0 dell'SDK che ti dà accesso completo al modello in formato file (per documenti di testo)? Questo è utile ad es. in combinazione con Linq o durante la creazione di documenti, poiché ciò non richiede il lavoro a livello XML. Ma naturalmente, nessuna funzionalità aggiuntiva, solo un po 'più di convenienza in cima ... –

+0

Sì, ho guardato attraverso 2.0. Io faccio la maggior parte del mio lavoro nei formati XML comunque con Linq-to-XML, quindi non mi offre nulla. Ho iniziato con i markup a mano, quindi è solo più comodo e conveniente per me. Non dicendo che l'SDK è inutile, l'ho usato molto negli ultimi 6 mesi, specialmente quando ho provato ad apprendere un nuovo concetto e tutti gli esempi di codice e gli esempi provengono dall'SDK. Lo raccomanderei sicuramente anche ad altri se stavo iniziando con la programmazione Open XML - è molto più facile che mandare le tue routine a fare cose come impostare le relazioni. –

Problemi correlati