Créer une nouvelle présentation
VSTO a été développé pour permettre aux développeurs de créer des applications pouvant s’exécuter à l’intérieur de Microsoft Office. VSTO est basé sur COM mais est encapsulé dans un objet .NET pour pouvoir être utilisé dans des applications .NET. VSTO nécessite le support du framework .NET ainsi qu’un runtime CLR basé sur Microsoft Office. Bien qu’il puisse être utilisé pour créer des compléments Microsoft Office, il est presque impossible de l’utiliser comme un composant côté serveur. Il présente également de sérieux problèmes de déploiement.
Aspose.Slides pour PHP via Java est un composant qui peut être utilisé pour manipuler des présentations Microsoft PowerPoint, tout comme VSTO, mais il présente plusieurs avantages :
- Aspose.Slides contient uniquement du code géré et ne nécessite pas l’installation du runtime Microsoft Office.
- Il peut être utilisé comme un composant côté client ou comme un composant côté serveur.
- Le déploiement est facile car Aspose.Slides est contenu dans un seul fichier jar.
Création d’une présentation
Ci-dessous se trouvent deux exemples de code qui illustrent comment VSTO et Aspose.Slides pour PHP via Java peuvent être utilisés pour atteindre le même objectif. Le premier exemple est VSTO ; le deuxième exemple utilise Aspose.Slides.
Exemple VSTO
La sortie VSTO
//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 title slide layout | |
PowerPoint.CustomLayout layout = pres.SlideMaster. | |
CustomLayouts[PowerPoint.PpSlideLayout.ppLayoutTitle]; | |
//Add a title slide. | |
PowerPoint.Slide slide = pres.Slides.AddSlide(1, layout); | |
//Set the title text | |
slide.Shapes.Title.TextFrame.TextRange.Text = "Slide Title Heading"; | |
//Set the sub title text | |
slide.Shapes[2].TextFrame.TextRange.Text = "Slide Title Sub-Heading"; | |
//Write the output to disk | |
pres.SaveAs("c:\\outVSTO.ppt", | |
PowerPoint.PpSaveAsFileType.ppSaveAsPresentation, | |
Microsoft.Office.Core.MsoTriState.msoFalse); | |
Exemple Aspose.Slides pour PHP via Java
La sortie d’Aspose.Slides
//Create a presentation | |
Presentation pres = new Presentation(); | |
//Add the title slide | |
ISlide slide = pres.getSlides().addEmptySlide(pres.getLayoutSlides().get_Item(0)); | |
//Set the title text | |
((IAutoShape)slide.getShapes().get_Item(0)).getTextFrame().setText("Slide Title Heading"); | |
//Set the sub title text | |
((IAutoShape)slide.getShapes().get_Item(1)).getTextFrame().setText("Slide Title Sub-Heading"); | |
//Write output to disk | |
pres.save("c:\\data\\outAsposeSlides.pptx",SaveFormat.Pptx); |