So fügen Sie mithilfe von OpenXML eine Form in eine PowerPoint-Folie ein

8

Diese Frage könnte ziemlich einfach erscheinen, aber wie füge ich eine Form (d. h. ein Rechteck) in eine Folie ein, die OpenXML in c # verwendet?

Ich habe gesucht und alles, was ich sehe, ist "Erstellen Sie eine Folie mit der Form und verwenden Sie das SDK Productivity Tool, um den Code zu reflektieren. Das ist nicht wirklich hilfreich: (

    
Yván Ecarri 15.09.2013, 07:31
quelle

1 Antwort

14

Nachdem ich meinen Kopf eine Weile gegen die Wand geschlagen hatte, nahm ich schließlich den Ratschlag an, erstellte eine Folie mit der Form und verwendete das Werkzeug, um den Code zu reflektieren. Also für die nächsten Generationen, hier ist eine kurze Erklärung, wie man es von Hand macht.

Zuallererst müssen Sie wissen, dass eine Form in einen ShapeTree eingefügt wird, der Teil eines CommonSlideData ist:

%Vor%

Zweitens sollten Sie wissen, dass eine Form mindestens 4 Childs enthalten muss, die ihr Verhalten beschreiben:

  • Ein ShapeStyle-Objekt
  • Ein ShapeProperties-Objekt
  • Ein TextBody-Objekt
  • A NonVisualShapeProperties

Im folgenden Beispielcode verwende ich die folgenden Namespaces und Variablen:

%Vor%

ShapeStyle-Objekt

Das Shape-Stil-Objekt beschreibt allgemeine Shape-Stil-Attribute wie die Rahmen, den Füllstil, die Textschrift und den visuellen Effekt (Schatten und andere).

%Vor%

ShapeProperties

Definieren Sie die visuellen Eigenschaften der Form wie die Fill-Methode (Volumenkörper, Gradient usw.) Geometrie (Größe, Position, Spiegeln, Rotarion) Füllung und Umriss.

%Vor%

TextBody

Definiert die Textfeldattribute wie Anzahl der Spalten, Ausrichtung, Verankerung usw.

%Vor%

NonVisualShapeProperties

Definieren Sie nicht-visuelle Eigenschaften wie den Namen und die ID.

%Vor%

Alles zusammenfügen

Schließlich müssen Sie das Shape-Objekt erstellen und diese Eigenschaften anfügen:

%Vor%

Fügen Sie die Form dann dem Formbaum der Folie hinzu:

%Vor%     
Yván Ecarri 15.09.2013, 07:31
quelle

Tags und Links