Add shapes to slide

  • VSTO
  • Spire.Presentation
  • Download Sample Code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Office = Microsoft.Office.Core;

namespace VSTO
{
    public partial class ThisAddIn
    {
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            //Create ppt document
            PowerPoint.Presentation ppt = Globals.ThisAddIn.Application.Presentations.Add();

            //Add a blank slide
            PowerPoint.Slide slide = ppt.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutBlank);

            //Add rectangle shape
            slide.Shapes.AddShape(Office.MsoAutoShapeType.msoShapeRectangle, 50, 100, 100, 100);

            //Add arrow shape
            slide.Shapes.AddShape(Office.MsoAutoShapeType.msoShapeRightArrow, 200, 100, 100, 100);

            //Add triangle shape
            slide.Shapes.AddShape(Office.MsoAutoShapeType.msoShapeRightTriangle, 350, 100, 100, 100);

            //Save the file
            ppt.SaveAs("Shape.pptx");
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        #region VSTO generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        
        #endregion
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Spire.Presentation;
using System.Drawing;

namespace Spire.Presentation
{
    class Program
    {
        static void Main(string[] args)
        {
            //Create ppt document
            Presentation ppt = new Presentation();
            
            //Append rectangle shape
            IAutoShape shape = ppt.Slides[0].Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(50,100,100,100));

            //Append arrow shape
            shape = ppt.Slides[0].Shapes.AppendShape(ShapeType.RightArrow, new RectangleF(200, 100, 100, 100));

            //Append triangle shape
            shape = ppt.Slides[0].Shapes.AppendShape(ShapeType.RightTriangle, new RectangleF(350, 100, 100, 100));

            //Save and Launch
            ppt.SaveToFile("Shape.pptx",FileFormat.Pptx2010);
            System.Diagnostics.Process.Start("Shape.pptx");

        }
    }
}