新しいプレゼンテーションを作成する
VSTOは、開発者がMicrosoft Office内で実行できるアプリケーションを構築できるように開発されました。VSTOはCOMベースですが、.NETオブジェクト内にラップされているため、.NETアプリケーションで使用できます。VSTOには.NETフレームワークのサポートとMicrosoft Office CLRベースのランタイムが必要です。Microsoft Officeアドインを作成するために使用することはできますが、サーバーサイドコンポーネントとして使用することはほぼ不可能です。また、深刻な展開の問題があります。
Aspose.Slides for PHP via Javaは、Microsoft PowerPointプレゼンテーションを操作するために使用できるコンポーネントであり、VSTOと同様ですが、いくつかの利点があります:
- Aspose.Slidesは管理コードのみを含んでおり、Microsoft Officeランタイムをインストールする必要がありません。
- クライアントサイドコンポーネントまたはサーバーサイドコンポーネントとして使用できます。
- Aspose.Slidesは単一のjarファイル内に含まれているため、展開が簡単です。
プレゼンテーションの作成
以下は、VSTOとAspose.Slides for PHP via Javaを使用して同じ目的を達成する方法を示す2つのコード例です。最初の例はVSTOであり、2番目の例は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 PHP via 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); |