Crear una Nueva Presentación
VSTO fue desarrollado para permitir a los desarrolladores construir aplicaciones que pudieran ejecutarse dentro de Microsoft Office. VSTO se basa en COM pero está envuelto dentro de un objeto .NET para que pueda ser utilizado en aplicaciones .NET. VSTO necesita el soporte del framework .NET así como el runtime CLR basado en Microsoft Office. Aunque se puede utilizar para crear complementos de Microsoft Office, es casi imposible usarlo como un componente del lado del servidor. También tiene serios problemas de implementación.
Aspose.Slides para PHP a través de Java es un componente que se puede utilizar para manipular presentaciones de Microsoft PowerPoint, al igual que VSTO, pero tiene varias ventajas:
- Aspose.Slides contiene solo código administrado y no requiere que se instale el runtime de Microsoft Office.
- Puede utilizarse como un componente del lado del cliente o como un componente del lado del servidor.
- La implementación es fácil ya que Aspose.Slides está contenido en un solo archivo jar.
Creando una Presentación
A continuación se muestran dos ejemplos de código que ilustran cómo se pueden utilizar VSTO y Aspose.Slides para PHP a través de Java para lograr el mismo objetivo. El primer ejemplo es VSTO; el segundo ejemplo utiliza Aspose.Slides.
Ejemplo de VSTO
La salida de 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); | |
Ejemplo de Aspose.Slides para PHP a través de Java
La salida de 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); |