Text dynamisch hinzufügen mit VSTO und Aspose.Slides für Java
Text dynamisch hinzufügen
Beide Methoden folgen diesen Schritten:
- Erstellen Sie eine Präsentation.
- Fügen Sie eine leere Folie hinzu.
- Fügen Sie ein Textfeld hinzu.
- Legen Sie etwas Text fest.
- Schreiben Sie die Präsentation.
VSTO-Codebeispiel
Die folgenden Codeausschnitte führen zu einer Präsentation mit einer einfachen Folie und einem Textstring darauf.
Die Präsentation, wie sie in VSTO erstellt wurde
//Note: PowerPoint is a namespace which has been defined above like this | |
//using PowerPoint = Microsoft.Office.Interop.PowerPoint; | |
//Create a presentation | |
PowerPoint.Presentation pres = Globals.ThisAddIn.Application | |
.Presentations.Add(Microsoft.Office.Core.MsoTriState.msoFalse); | |
//Get the blank slide layout | |
PowerPoint.CustomLayout layout = pres.SlideMaster. | |
CustomLayouts[7]; | |
//Add a blank slide | |
PowerPoint.Slide sld = pres.Slides.AddSlide(1, layout); | |
//Add a text | |
PowerPoint.Shape shp = sld.Shapes.AddTextbox(Microsoft.Office.Core.MsoTextOrientation.msoTextOrientationHorizontal, 150, 100, 400, 100); | |
//Set a text | |
PowerPoint.TextRange txtRange = shp.TextFrame.TextRange; | |
txtRange.Text = "Text added dynamically"; | |
txtRange.Font.Name = "Arial"; | |
txtRange.Font.Bold = Microsoft.Office.Core.MsoTriState.msoTrue; | |
txtRange.Font.Size = 32; | |
//Write the output to disk | |
pres.SaveAs("c:\\outVSTO.ppt", | |
PowerPoint.PpSaveAsFileType.ppSaveAsPresentation, | |
Microsoft.Office.Core.MsoTriState.msoFalse); | |
Aspose.Slides für Java Beispiel
Die folgenden Codeausschnitte verwenden Aspose.Slides, um eine Präsentation mit einer einfachen Folie und einem Textstring darauf zu erstellen.
Die Präsentation, wie sie mit Aspose.Slides für Java erstellt wurde
//Create a presentation | |
Presentation pres = new Presentation(); | |
//Blank slide is added by default, when you create | |
//presentation from default constructor | |
//So, we don't need to add any blank slide | |
ISlide sld = pres.getSlides().get_Item(1); | |
//Add a textbox | |
//To add it, we will first add a rectangle | |
IShape shp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 1200, 800, 3200, 370); | |
//Hide its line | |
shp.getLineFormat().setStyle(LineStyle.NotDefined); | |
//Then add a textframe inside it | |
ITextFrame tf = ((IAutoShape)shp).getTextFrame(); | |
//Set a text | |
tf.setText("Text added dynamically"); | |
IPortion port = tf.getParagraphs().get_Item(0).getPortions().get_Item(0); | |
port.getPortionFormat().setFontBold(NullableBool.True); | |
port.getPortionFormat().setFontHeight(32); | |
//Write the output to disk | |
pres.save("c:\\data\\outAsposeSlides.pptx",SaveFormat.Pptx); |