2008-12-19 10 views
11

Ich habe einen Client meiner Web-basierten Anwendung, die stark die Daten von unserem System für PowerPoint-Präsentationen verwendet.asp.net - Generate Powerpoint-Datei im laufenden Betrieb

Derzeit können Daten in traditionellere Dateitypen exportiert werden ... PDF, CSV, HTML und einige andere. Powerpoint scheint nicht wirklich automatisiert zu sein.

Gibt es eine Möglichkeit, auf der ASP.NET-Serverseite die Erstellung und den bedarfsgesteuerten Download eines PowerPoint-Dateiformats für einen Bericht von einem System zu automatisieren?

Antwort

4

In this article empfiehlt Steve die Verwendung von Aspose Slide-Anwendung.

Er erklärt auch Schritt für Schritt, wie man die PowerPoint-Datei erzeugt.

Hier sind einige Code-Auszüge (in VB):

Öffnen eine vorhandene Powerpoint-Datei:

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() 

die Folien Looping und ihre Vorlage Formate zur Ausgabe:

Dim slides As Slides = MyPres.Slides 

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

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

Next 

In seinem Artikel beschreibt er ausführlicher, wie es geht.

4

Nun, Sie haben zwei Möglichkeiten, dies wirklich zu tun, ohne Drittanbieter-Tools. Der erste wäre mit der Automatisierung von PowerPoint, aber das erfordert, dass auf Ihrem Server PowerPoint installiert ist. Die zweite besteht darin, das neue Dateiformat pptx-Datei zu verwenden und das PowerPoint-Dokument mit XML zu generieren.

Ich habe festgestellt, dass der beste Weg, um auf der XML-Seite zu beginnen, ist einfach einen Powerpoint zu erstellen, der das tut, was Sie wollen, dann speichern Sie es und schauen Sie sich die XML an. Sie können auch die Microsoft-Dokumentation lesen. Insgesamt ist das Arbeiten mit den XML-Formaten ziemlich einfach.

Schließlich gibt es noch einige Drittanbieter-Elemente, aber seien Sie vorsichtig, dass sie keine COM-Automatisierung erfordern.

4

In Bezug auf die vorherigen Poster, Ihre Aussage falsch ist.

Sie haben wirklich nur eine Option für die serverseitige ASP.NET-Automatisierung dieses Prozesses. Verwenden Sie die Open XML-Links von Ben in der ursprünglichen Antwort erwähnt ...

Manipulieren von Excel 2007 und Powerpoint 2007-Dateien mit Open XML-Format API (Teil 1 von 2) Manipulieren von Excel 2007 und Powerpoint 2007-Dateien mit dem Open XML-Format-API (Teil 2 von 2)

Der Grund dafür ist, dass Server-Side-Automatisierung von Office wird vollständig nicht unterstützt und ist eine schlechte Programmierpraxis, laufende com Automatisierungsserver, die für die interaktive Nutzung in einer nicht interaktiven Umgebung konzipiert sind ein mögliches Rezept für eine Katastrophe.

so zusammenfassend verwenden Sie die offene Xml API und generieren Sie Ihre PPTX.

-1

Es gibt eine andere Methode, konvertieren Sie Ihre PowerPoint-Präsentation in Bilder oder XPS (Silberlicht Präsentation) und verwenden Sie dann eine Art von JSON (JQuery), um sie anzuzeigen und herunterzuladen.

i implementieren, um die Bilder und xps Silber Licht Präsentation in meiner Web-Anwendung

0

Es gibt auch andere Optionen von Drittanbietern ähnlich wie Aspose Slides, wie Office der PowerPoint Writer.

Ich bin mir nicht sicher, wie Aspose Slides funktioniert, aber mit PowerPoint Writer haben Sie eine bestehende, formatierte PowerPoint-Präsentation mit Datenmarkierungen darin, die Sie mit PowerPoint Writer verarbeiten, um die Datenmarkierungen durch Daten zu ersetzen. Hier sind einige examples.