Text formatieren mit VSTO und Aspose.Slides für .NET
Contents
[
Hide
]
Manchmal müssen Sie den Text in Folien programmgesteuert formatieren. Dieser Artikel zeigt, wie man eine Beispielpräsentation mit etwas Text auf der ersten Folie entweder mit VSTO und Aspose.Slides for .NET liest. Der Code formatiert den Text im dritten Textfeld auf der Folie, sodass er wie der Text im letzten Textfeld aussieht.
Text formatieren
Sowohl die VSTO- als auch die Aspose.Slides-Methoden führen die folgenden Schritte aus:
- Öffnen Sie die Quellpräsentation.
- Greifen Sie auf die erste Folie zu.
- Greifen Sie auf das dritte Textfeld zu.
- Ändern Sie die Formatierung des Textes im dritten Textfeld.
- Speichern Sie die Präsentation auf dem Datenträger.
Die Screenshots unten zeigen die Beispiel‑Folie vor und nach der Ausführung des VSTO‑ und Aspose.Slides‑für‑.NET‑Codes.
Die Eingabepäsentation

VSTO-Codebeispiel
Der folgende Code zeigt, wie man Text auf einer Folie mit VSTO neu formatiert.
Der mit VSTO neu formatierte Text

//Hinweis: PowerPoint ist ein Namespace, der oben wie folgt definiert wurde
//using PowerPoint = Microsoft.Office.Interop.PowerPoint;
PowerPoint.Presentation pres = null;
//Öffne die Präsentation
pres = Globals.ThisAddIn.Application.Presentations.Open("c:\\source.ppt",
Microsoft.Office.Core.MsoTriState.msoFalse,
Microsoft.Office.Core.MsoTriState.msoFalse,
Microsoft.Office.Core.MsoTriState.msoTrue);
//Greife auf die erste Folie zu
PowerPoint.Slide slide = pres.Slides[1];
//Greife auf das dritte Shape zu
PowerPoint.Shape shp = slide.Shapes[3];
//Ändere die Schriftart des Textes zu Verdana und die Höhe auf 32
PowerPoint.TextRange txtRange = shp.TextFrame.TextRange;
txtRange.Font.Name = "Verdana";
txtRange.Font.Size = 32;
//Mache es fett
txtRange.Font.Bold = Microsoft.Office.Core.MsoTriState.msoCTrue;
//Stelle es kursiv
txtRange.Font.Italic = Microsoft.Office.Core.MsoTriState.msoCTrue;
//Ändere die Textfarbe
txtRange.Font.Color.RGB = 0x00CC3333;
//Ändere die Hintergrundfarbe des Shapes
shp.Fill.ForeColor.RGB = 0x00FFCCCC;
//Positioniere es horizontal neu
shp.Left -= 70;
//Schreibe die Ausgabe auf die Festplatte
pres.SaveAs("c:\\outVSTO.ppt",
PowerPoint.PpSaveAsFileType.ppSaveAsPresentation,
Microsoft.Office.Core.MsoTriState.msoFalse);
Aspose.Slides für .NET‑Beispiel
Um Text mit Aspose.Slides zu formatieren, fügen Sie die Schriftart vor dem Formatieren des Textes hinzu.
Die mit Aspose.Slides erstellte Ausgabepäsentation

//Öffne die Präsentation
Presentation pres = new Presentation("c:\\source.ppt");
//Greife auf die erste Folie zu
ISlide slide = pres.Slides[0];
//Greife auf das dritte Shape zu
IShape shp = slide.Shapes[2];
//Ändere die Schriftart des Textes zu Verdana und die Höhe auf 32
ITextFrame tf = ((IAutoShape)shp).TextFrame;
IParagraph para = tf.Paragraphs[0];
IPortion port = para.Portions[0];
port.PortionFormat.LatinFont = new FontData("Verdana");
port.PortionFormat.FontHeight = 32;
//Fett formatieren
port.PortionFormat.FontBold = NullableBool.True;
//Kursiv formatieren
port.PortionFormat.FontItalic = NullableBool.True;
//Textfarbe ändern
//Schriftfarbe festlegen
port.PortionFormat.FillFormat.FillType = FillType.Solid;
port.PortionFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(0x33, 0x33, 0xCC);
//Shape-Hintergrundfarbe ändern
shp.FillFormat.FillType = FillType.Solid;
shp.FillFormat.SolidFillColor.Color = Color.FromArgb(0xCC, 0xCC, 0xFF);
//Ausgabe auf die Festplatte schreiben
pres.Save("c:\\outAspose.ppt", SaveFormat.Ppt);