创建新演示文稿
VSTO的开发是为了让开发人员构建能够在Microsoft Office内部运行的应用程序。VSTO是基于COM的,但它被封装在一个.NET对象中,以便可以在.NET应用程序中使用。VSTO需要.NET框架支持以及Microsoft Office CLR基础的运行时。尽管可以用于制作Microsoft Office插件,但几乎不可能用作服务器端组件。它还有严重的部署问题。
Aspose.Slides for Java是一个可以操纵Microsoft PowerPoint演示文稿的组件,和VSTO类似,但它有几个优点:
- Aspose.Slides仅包含管理代码,不需要安装Microsoft Office运行时。
- 它可以用作客户端组件或服务器端组件。
- 部署很简单,因为Aspose.Slides包含在一个单独的jar文件中。
创建演示文稿
以下是两个代码示例,说明如何使用VSTO和Aspose.Slides for Java实现相同的目标。第一个示例是VSTO; 第二个示例使用Aspose.Slides。
VSTO示例
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); | |
Aspose.Slides for Java示例
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); |