Робота з фігурами в слайдах у C#.jpg

Фігури — чудовий спосіб зробити ваші презентації PowerPoint більш складними та привабливими. PowerPoint надає широкий вибір форм, які можна додати до слайдів презентації, наприклад еліпси, лінії, прямокутники, з’єднувачі тощо. Щоб автоматизувати цю функцію, у цій статті описано, як програмно додавати, клонувати та видаляти фігури в слайдах PowerPoint за допомогою C#.

C# API для роботи з фігурами PowerPoint

Aspose.Slides for .NET – це API C#, розроблений для роботи з презентаціями PowerPoint у програмах .NET. Разом з іншими функціями роботи з презентацією, API надає прості способи роботи з фігурами в слайдах PowerPoint. Ви можете завантажити API DLL або встановити його через NuGet.

Install-Package Aspose.Slides.NET

Форми PowerPoint

Aspose.Slides for .NET підтримує широкий спектр типів фігур, які можна додати до слайдів PowerPoint. Найбільш часто використовувані форми включають:

Додайте форму до слайдів PowerPoint за допомогою C#

Щоб додати форму, наприклад еліпс, лінію, прямокутник тощо, Aspose.Slides надає метод IShapeCollection.AddAutoShape(ShapeType, Single, Single, Single, Single). Перелік ShapeType дозволяє вказати тип фігури, яку потрібно додати. Нижче наведено кроки, щоб додати форму до слайда PowerPoint.

У наведеному нижче прикладі коду показано, як додати фігуру до слайда PowerPoint за допомогою C#.

// Створення екземпляра об’єкта презентації, який представляє файл презентації
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Отримайте перший слайд
    ISlide sld = pres.Slides[0];

    // Додати автофігуру типу еліпса
    sld.Shapes.AddAutoShape(ShapeType.Ellipse, 50, 150, 150, 50);

    // Зберегти презентацію
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

Додайте конектор для підключення фігур PowerPoint у C#

З’єднувач – це лінія, яка використовується для з’єднання фігур, щоб з’єднати їх. З’єднувач може бути прямою або кривою лінією. Давайте подивимося, як додати з’єднувач між двома фігурами на слайді PowerPoint.

  1. Створіть екземпляр класу Presentation, щоб створити нову презентацію.
  2. Отримайте посилання на слайд за допомогою Presentation.Slides[index] в об’єкт ISlide.
  3. Додайте дві фігури так само, як ви додали в попередньому прикладі, і отримайте їх посилання в об’єктах IAutoShape.
  4. Створіть новий об’єкт IConnector за допомогою методу IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single).
  5. З’єднайте фігури за допомогою властивостей IConnector.StartShapeConnectedTo і IConnector.EndShapeConnectedTo.
  6. Викличте метод IConnector.Reroute(), щоб створити найкоротший шлях автоматичного підключення.
  7. Збережіть файл PPTX за допомогою методу Presentation.Save(String, SaveFormat).

У наведеному нижче прикладі коду показано, як з’єднати фігури на слайді PowerPoint за допомогою C#.

// Створення екземпляра об’єкта презентації, який представляє файл презентації
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Доступ до колекції фігур для вибраного слайда
    IShapeCollection shapes = pres.Slides[0].Shapes;

    // Додайте автофігуру Еліпс
    IAutoShape ellipse = shapes.AddAutoShape(ShapeType.Ellipse, 0, 100, 100, 100);

    // Додайте автофігуру Прямокутник
    IAutoShape rectangle = shapes.AddAutoShape(ShapeType.Rectangle, 100, 300, 100, 100);

    // Додавання форми з’єднувача до колекції фігур слайдів
    IConnector connector = shapes.AddConnector(ShapeType.BentConnector2, 0, 0, 10, 10);

    // Приєднання фігур до сполучників
    connector.StartShapeConnectedTo = ellipse;
    connector.EndShapeConnectedTo = rectangle;

    // Викличте перенаправлення, щоб установити автоматичний найкоротший шлях між фігурами
    connector.Reroute();

    // Зберегти презентацію
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

Клонування фігур у слайдах PowerPoint за допомогою C#

Ви також можете клонувати фігури з одного слайда PowerPoint на інший за допомогою Aspose.Slides for .NET. Нижче наведено кроки для виконання цієї операції.

  1. Створіть екземпляр класу Presentation.
  2. Отримайте посилання на слайд за допомогою Presentation.Slides[index] в об’єкт ISlide.
  3. Отримайте доступ до вихідних форм слайдів за допомогою колекції ISlide.Shapes.
  4. Отримайте доступ до цільових форм слайдів за допомогою колекції ISlide.Shapes.
  5. Клонуйте фігури з колекції фігур вихідного слайда в цільовий слайд за допомогою методу IShapeCollection.AddClone(ISlide).
  6. Збережіть оновлений файл презентації.

У наведеному нижче прикладі коду показано, як клонувати фігури в слайдах PowerPoint за допомогою C#.

// Створення екземпляра об’єкта презентації, який представляє файл презентації
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Отримайте колекцію форм із вихідного слайда
    IShapeCollection sourceShapes = pres.Slides[0].Shapes;
    ILayoutSlide blankLayout = pres.Masters[0].LayoutSlides.GetByType(SlideLayoutType.Blank);
    ISlide destSlide = pres.Slides.AddEmptySlide(blankLayout);
    
    // Отримайте колекцію форм із цільового слайда
    IShapeCollection destShapes = destSlide.Shapes;
    destShapes.AddClone(sourceShapes[1], 50, 150 + sourceShapes[0].Height);
    destShapes.AddClone(sourceShapes[2]);
    
    // Форма клону
    destShapes.InsertClone(0, sourceShapes[0], 50, 150);

    // Зберегти презентацію
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

Видалення фігур із слайдів PowerPoint за допомогою C#

Нижче наведено кроки, щоб видалити фігури зі слайда PowerPoint.

  1. Створіть екземпляр класу Presentation, щоб завантажити файл PPTX.
  2. Перейдіть до потрібного слайда з Presentation.Slides[index] в об’єкт ISlide.
  3. Знайдіть форму за допомогою певного IShape.AlternativeText.
  4. Видаліть фігуру за допомогою методу ISlide.Shapes.Remove(IShape).
  5. Збережіть оновлений файл презентації.

У наведеному нижче прикладі коду показано, як видалити фігури зі слайда PowerPoint за допомогою C#.

// Створення екземпляра об’єкта презентації, який представляє файл презентації
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Отримайте перший слайд
    ISlide sld = pres.Slides[0];

    // Додайте автофігуру прямокутного типу
    IShape shp1 = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 40, 150, 50);
    IShape shp2 = sld.Shapes.AddAutoShape(ShapeType.Moon, 160, 40, 150, 50);
    
    String alttext = "User Defined";
    int iCount = sld.Shapes.Count;
   for (int i = 0; i < iCount; i++)
    {
        // Отримати форму
        AutoShape ashp = (AutoShape)sld.Shapes[0];
        if (String.Compare(ashp.AlternativeText, alttext, StringComparison.Ordinal) == 0)
        {
            // Зняти форму
            sld.Shapes.Remove(ashp);
        }
    }

    // Зберегти презентацію
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

Висновок

MS PowerPoint дозволяє використовувати різні типи фігур, щоб зробити ваші слайди більш складними. Ви можете використовувати еліпси, прямокутники, лінії тощо, щоб малювати фігури та з’єднувати їх. За допомогою кроків і зразків коду в цій статті описано, як програмно додавати, клонувати та видаляти фігури в слайдах PowerPoint за допомогою C#. Якщо ви хочете дізнатися більше про API, ви можете відвідати документацію.

Дивись також