إنشاء عرض تقديمي جديد
تم تطوير VSTO لتمكين المطورين من بناء تطبيقات يمكن تشغيلها داخل Microsoft Office. VSTO يعتمد على COM لكنه مغلف داخل كائن .NET حتى يمكن استخدامه في تطبيقات .NET. يحتاج VSTO إلى دعم إطار عمل .NET بالإضافة إلى وقت تشغيل CLR الخاص بـ Microsoft Office. على الرغم من أنه يمكن استخدامه لصنع ملحقات 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); |