2012-02-24 24 views
5

Me gustaría desarrollar una biblioteca de clases que pueda procesar plantillas de PowerPoint y completar datos formateados. Principalmente involucrando tablas, etiquetas, clonación de diapositivas. Me gustaría utilizar Open Xml para esto con .Net 4.Comenzar OpenXml y PowerPoint

Me gustaría obtener algunas recomendaciones y referencias para esto. También me gustaría saber qué enfoque es el mejor, ya sea que vaya con OpenXml SDK 2.0 o System.Packaging porque leo en algunos lugares que usar Open Xml SDK consume poco más memoria.

Gracias, Aneef

+0

Creo que Se requiere Open XML SDK 2.5 para .NET 4? – Coops

Respuesta

2

Un buen comienzo para mí estaba usando el Documento reflector (Reflect Código herramienta en la herramienta de productividad de Open XML SDK 2.5). Cargue un .pptx y obtenga el código C# para generar ese .pptx - para que aprenda la estructura de PresentationML y tenga una idea de dónde colocar los parámetros y opciones que desea - no es fácil, pero es un buen comienzo

4

El Open XML SDK 2.0 se construye en la parte superior de System.Packaging por lo que será más fácil de escribir y mantener el código. Descubrí que podía escribir dos líneas de código Open XML SDK, mientras que cuando lo escribí usando System.Packaging, superaba las 200 líneas. En cuanto al uso de más memoria, no me he encontrado con ningún problema y he encontrado facilidad de mantenimiento y legibilidad para sopesar el aumento mínimo en el uso de la memoria.

No hay muchos recursos que hay para con el SDK de XML abierto con Power Point, pero aquí hay dos para empezar:

Brian Jones & Zeyad Rajabi blog

MSDN

3

primera vez que te recomendaría comprender el lenguaje de marcado de presentación (PresentationML) antes de comenzar a utilizar cualquiera de las API.

Hay un libro en línea gratuito que describe PresentationML, WordML y SpreadsheetML llamado Open XML Explained. El Capítulo 3 describe PresentationML y le brinda los conocimientos necesarios para utilizar mejor la API de OpenXML para realizar todas las tareas que necesita hacer.