PowerPoint2007 DatenExport mit .NET

Topsen

Mitglied
Hallo,

ich habe folgendes Problem. Ich beschäftige mich momentan mit dem neuen Office 12 OpenXML Format.
Ich möchte Objekte aus einer Powerpoint Präsentation exportieren.
Bei Bildern ist dieses mit Hilfe des System.IO.Packaging Paket (Framework 3.0) und System.XML kein Problem.

Jetzt möchte ich aber auch Forms (Objekte, wie Kreis, Ellipse, Dreieck...) als Grafik exportieren. Diese werden allerdings nicht als Grafik im OpenXML Container abgelegt.

Hat jemand eine Idee, ob man in .NET diese Forms anlegen kann? Oder über Office Automatisierung aus PowerPoint auslesen kann?

Gruß,

Topsen
 
Nachdem diese nicht als Objekte eingebettet sind, musst du diese entweder selbst erstellen und dann entsprechend speichern oder via Office Automatisierung lösen.
 
Hmm ok, selbst erstellen, könnte recht aufwendig werden, bei gut 100 Forms.

Könntest du mir bei dem Export per Office Automatisation noch ein paar Tipps geben, oder hast du vielleicht Beispiel Code Schnipsel?
 
Nein. Dazu müsste ich auch erst eine Testanwendung erstellen. Aber du kannst dir ja die Interop-Files zu Powerpoint einbinden und dir das Objektmodell genauer ansehen. Eventuell gibt es auch in den Weiten des Internets Lösungen.

Probier zuerst einmal via Automation das entsprechende File zu öffnen und schau dir dann an, was du alles machen kannst. Wenn schon mal was da ist, kann ich dir bei Fragen auch weiterhelfen.
 
So, ich habs geschaft, die einzelnen Shapes via:

Code:
            foreach(PowerPoint.Shape Shape in objSlides[1].Shapes)
            {
                width = Shape.Width;
                height = Shape.Height;
                Shape.Export("C:\\PP_" + Shape.Name + ".png", PowerPoint.PpShapeFormat.ppShapeFormatPNG, (int)width , (int)height , PowerPoint.PpExportMode.ppScaleXY);
            }

auszulesen. Habe jetzt nur ein Problem mit den Größen. Die exportierten Bilder, stimmen von ihrer Größe nicht mit denen in der Präsentation überein.
Kennt jemand das Problem?

MfG,

Topsen
 
Zuletzt bearbeitet:
Inwiefern stimmen diese nicht überein? Sind sie zu groß? Wenn ja, runterskalieren. Es kann auch sein, dass Office und .NET unterschiedliche Größenangaben verwendet, kann ich jetzt aber nicht fix sagen.
 
Die Größen unterscheiden sich... Aber hab da noch keine Lösung gefunden.

Habe momentan ein größeres Problem. Mein VisualStudio wirft beim Aufruf der Export-Funktion eine NotImplemented Exception.
Wie kann denn sowas?
 
Anscheinend hast einen Punkt erwischt, der noch nicht implementiert wurde. Ist eher nicht so nett. Schon auf den Microsoft-Seiten etwas darüber gefunden?
 
Ne hab ich nix zu gefunden. Aber meine Vermutung:
Da ich nur mit einer Office 2007 beta arbeite, sind vielleicht auch die entsprechenden COM libraries noch nicht vervollständigt.
Ich konvertiere momentan alles in älteres Office und exportiere es auf Office 2003 Standard.
Ich hoffe mal das es mit der Final implementiert ist.
 
Zurück