Dynamisches Hinzufügen von Text mit VSTO und Aspose.Slides für .NET

Dynamisches Hinzufügen von Text

Beide Methoden folgen diesen Schritten:

  1. Eine Präsentation erstellen.
  2. Eine leere Folie hinzufügen.
  3. Ein Textfeld hinzufügen.
  4. Einige Texte festlegen.
  5. Die Präsentation speichern.

VSTO-Codebeispiel

Die folgenden Codeausschnitte ergeben eine Präsentation mit einer einfachen Folie und einem Textstring darauf.

Die in VSTO erstellte Präsentation

todo:image_alt_text

//Hinweis: PowerPoint ist ein Namespace, der oben so definiert wurde
//using PowerPoint = Microsoft.Office.Interop.PowerPoint;

//Eine Präsentation erstellen
PowerPoint.Presentation pres = Globals.ThisAddIn.Application
	.Presentations.Add(Microsoft.Office.Core.MsoTriState.msoFalse);

//Das Layout der leeren Folie erhalten
PowerPoint.CustomLayout layout = pres.SlideMaster.
	CustomLayouts[7];

//Eine leere Folie hinzufügen
PowerPoint.Slide sld = pres.Slides.AddSlide(1, layout);

//Text hinzufügen
PowerPoint.Shape shp = sld.Shapes.AddTextbox(Microsoft.Office.Core.MsoTextOrientation.msoTextOrientationHorizontal, 150, 100, 400, 100);

//Einen Text festlegen
PowerPoint.TextRange txtRange = shp.TextFrame.TextRange;
txtRange.Text = "Text dynamisch hinzugefügt";
txtRange.Font.Name = "Arial";
txtRange.Font.Bold = Microsoft.Office.Core.MsoTriState.msoTrue;
txtRange.Font.Size = 32;

//Die Ausgabe auf die Festplatte schreiben
pres.SaveAs("c:\\outVSTO.ppt",
	PowerPoint.PpSaveAsFileType.ppSaveAsPresentation,
	Microsoft.Office.Core.MsoTriState.msoFalse);

Aspose.Slides für .NET-Beispiel

Die folgenden Codeausschnitte verwenden Aspose.Slides, um eine Präsentation mit einer einfachen Folie und einem Textstring darauf zu erstellen.

Die in Aspose.Slides für .NET erstellte Präsentation

todo:image_alt_text

//Eine Präsentation erstellen
Presentation pres = new Presentation();

//Eine leere Folie wird standardmäßig hinzugefügt, wenn Sie
//eine Präsentation aus dem Standardkonstruktor erstellen
//Deshalb müssen wir keine leere Folie hinzufügen
ISlide sld = pres.Slides[1];

//Ein Textfeld hinzufügen
//Um es hinzuzufügen, fügen wir zuerst ein Rechteck hinzu
IShape shp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 1200, 800, 3200, 370);

//Seine Rahmenlinie ausblenden
shp.LineFormat.Style = LineStyle.NotDefined;

//Dann fügen wir einen Textrahmen darin hinzu
ITextFrame tf = ((IAutoShape)shp).TextFrame;

//Einen Text festlegen
tf.Text = "Text dynamisch hinzugefügt";
IPortion port = tf.Paragraphs[0].Portions[0];

port.PortionFormat.FontBold = NullableBool.True;
port.PortionFormat.FontHeight = 32;

//Die Ausgabe auf die Festplatte schreiben
pres.Save("c:\\outAspose.ppt", SaveFormat.Ppt);