Создание новой презентации
VSTO был разработан для того, чтобы дать разработчикам возможность создавать приложения, которые могут работать внутри Microsoft Office. VSTO основан на COM, но он обернут в объект .NET, чтобы его можно было использовать в приложениях .NET. VSTO требует поддержки .NET framework, а также среды выполнения Microsoft Office для CLR. Хотя его можно использовать для создания надстроек Microsoft Office, практически невозможно использовать его в качестве компонента на стороне сервера. У него также есть серьезные проблемы с развертыванием.
Aspose.Slides для PHP через Java — это компонент, который можно использовать для манипуляции презентациями Microsoft PowerPoint, так же как и VSTO, но у него есть несколько преимуществ:
- Aspose.Slides содержит только управляемый код и не требует установки среды выполнения Microsoft Office.
- Его можно использовать как компонент на стороне клиента или как компонент на стороне сервера.
- Развертывание простое, так как Aspose.Slides содержится в одном jar-файле.
Создание презентации
Ниже приведены два примера кода, которые иллюстрируют, как VSTO и Aspose.Slides для PHP через 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 для PHP через 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); |