Crear una nueva presentación
VSTO fue desarrollado para permitir a los desarrolladores crear aplicaciones que pudieran ejecutarse dentro de Microsoft Office. VSTO es basado en COM, pero está encapsulado dentro de un objeto .NET para que pueda ser utilizado en aplicaciones .NET. VSTO necesita soporte del framework .NET, así como de tiempo de ejecución basado en CLR de Microsoft Office. Aunque puede ser utilizado para crear complementos de Microsoft Office, es casi imposible utilizarlo como un componente del lado del servidor. También tiene graves problemas de implementación.
Aspose.Slides para Java es un componente que puede ser utilizado 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 tiempo de ejecución de Microsoft Office.
- Puede ser utilizado 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 se encuentra en un solo archivo jar.
Crear una presentación
A continuación, se presentan dos ejemplos de código que ilustran cómo se pueden utilizar VSTO y Aspose.Slides para 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 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); |