2008-12-19 9 views
11

Tengo un cliente de mi aplicación basada en la web que utiliza en gran medida los datos de nuestro sistema para presentaciones de PowerPoint.asp.net - Genere un archivo de Powerpoint sobre la marcha

Actualmente, permitimos que los datos se exporten en tipos de archivos más tradicionales ... PDF, CSV, HTML y algunos otros. Powerpoint no parece estar realmente automatizado.

¿Hay alguna manera, en el lado del servidor ASP.NET, de automatizar la creación y la descarga bajo demanda de un formato de archivo de PowerPoint para un informe de un sistema?

Respuesta

4

En this article, Steve sugiere utilizar la aplicación Aspose's Slide.

También explica paso a paso cómo generar el archivo de PowerPoint.

He aquí algunos extractos de código (en VB):

abrir un archivo de PowerPoint existente:

Dim fs As System.IO.FileStream = _ 

    New System.IO.FileStream("c:\mypath\myfile.ppt", _ 

    System.IO.FileMode.Open, System.IO.FileAccess.Read) 

Dim MyPres As Presentation = New Presentation(fs) 

fs.Close() 

Looping las diapositivas y dar salida a sus formatos de plantilla:

Dim slides As Slides = MyPres.Slides 

For i As Integer = 0 To slides.Count - 1 

    Response.Write(MyPres.Slides(i).Layout.ToString + "<br>") 

Next 

En su artículo, describe más en detalle sobre cómo hacerlo.

4

Bueno, hay dos formas de hacerlo realmente, sin herramientas de terceros. El primero sería con la automatización de PowerPoint, pero eso requiere que su servidor tenga PowerPoint instalado. El segundo es utilizar el nuevo formato de archivo de archivo pptx y generar el documento de PowerPoint utilizando XML.

He encontrado que la mejor manera de comenzar en el lado de XML es simplemente crear un PowerPoint que haga lo que desee, luego guárdelo y observe el XML. También puede revisar la documentación de Microsoft. En general, trabajar con los formatos XML es bastante fácil.

Por último, puede haber algunos elementos de terceros por ahí, pero tenga cuidado de que no requieren automatización COM.

4

En lo que respecta a la crítica anterior, su afirmación es incorrecta.

Realmente solo tiene una opción para la automatización ASP.NET del lado del servidor de este proceso. Utilice los enlaces XML abiertos mencionados por Ben en la respuesta original ...

Manipulación de Excel 2007 y PowerPoint 2007 Contenidos del API de Formato XML abiertos (Parte 1 de 2) Manipulación de Excel 2007 y PowerPoint 2007 Contenidos del Abra XML Format API (Parte 2 de 2)

La razón de esto es que la automatización de la oficina del lado del servidor no está soportada por completo y es una mala práctica de codificación, ejecutar servidores de automatización com que están diseñados para uso interactivo en un entorno no interactivo es una receta potencial para el desastre.

por lo que en resumen usar la API XML abierto y generar sus de pptx.

-1

hay otro método, convertir su presentación de Power Point a las imágenes o XPS (presentación luz de plata) y luego usar algún tipo de JSON (jQuery) para mostrar y descargarlos.

implemento la presentación luz imágenes y XPS de plata en mi aplicación web

0

También hay otras opciones de terceros similares a Aspose Diapositivas, como OfficeWriter de PowerPoint Writer.

No estoy exactamente seguro de cómo funciona Aspose diapositivas, pero con el escritor PowerPoint que tienen una presentación de PowerPoint existente, formateado con marcadores de datos en el mismo, el que procesarlo con el escritor de PowerPoint para reemplazar los marcadores de datos con los datos. Éstos son algunos examples.

Cuestiones relacionadas