Применение 3D-эффектов в PowerPoint с помощью Python

MS PowerPoint предоставляет 3D-эффекты, чтобы сделать презентации более привлекательными. Вы можете использовать 3D-текст, фигуры и изображения для повышения интерактивности контента. В этой статье вы узнаете, как программно применять 3D-эффекты в PowerPoint PPT на Python. Мы расскажем, как создавать 3D-эффекты для текста, фигур и изображений в презентациях.

Библиотека Python для применения 3D-эффектов в PowerPoint

Aspose.Slides for Python через .NET — это многофункциональная библиотека Python, предназначенная для создания презентаций PowerPoint и управления ими. Мы будем использовать эту библиотеку для применения 3D-эффектов в презентациях PowerPoint PPT/PPTX. Используйте следующую команду для установки библиотеки из PyPI.

> pip install aspose.slides

Создайте 3D-текст в PowerPoint на Python

Ниже приведены шаги для создания фрагмента 3D-текста в PowerPoint PPT с использованием Python.

  • Сначала создайте новый PPT или загрузите существующий с помощью класса Presentation.
  • Затем добавьте новую форму прямоугольника, используя метод addautoshape().
  • Задайте свойства фигуры, такие как тип заливки, текст и т. д.
  • Получить ссылку на текстовую часть внутри фигуры в объект.
  • Примените форматирование к текстовой части.
  • Получить ссылку на текстовый фрейм внутри фигуры.
  • Применяйте 3D-эффекты, используя свойства в textframe.textframeformat.threedformat.
  • Наконец, сохраните презентацию с помощью метода Presentation.save(String, SaveFormat).

В следующем примере кода показано, как создать трехмерный текст в PowerPoint на Python.

with slides.Presentation() as pres:
    # add shape
    shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 200, 150, 250, 250)
    shape.fill_format.fill_type = slides.FillType.NO_FILL
    shape.fill_format.fill_type = slides.FillType.NO_FILL
    shape.line_format.fill_format.fill_type = slides.FillType.NO_FILL
    shape.text_frame.text = "3D text"

    # access text portion and apply formatting
    portion = shape.text_frame.paragraphs[0].portions[0]
    portion.portion_format.fill_format.fill_type = slides.FillType.PATTERN
    portion.portion_format.fill_format.pattern_format.fore_color.color = drawing.Color.dark_orange
    portion.portion_format.fill_format.pattern_format.back_color.color = drawing.Color.white
    portion.portion_format.fill_format.pattern_format.pattern_style = slides.PatternStyle.LARGE_GRID

    shape.text_frame.paragraphs[0].paragraph_format.default_portion_format.font_height = 128

    # access text frame
    textFrame = shape.text_frame

    # set up "Arch Up" WordArt transform effect
    textFrame.text_frame_format.transform = slides.TextShapeType.ARCH_UP

    # apply 3D effects
    textFrame.text_frame_format.three_dformat.extrusion_height = 3.5
    textFrame.text_frame_format.three_dformat.depth = 3
    textFrame.text_frame_format.three_dformat.material = slides.MaterialPresetType.PLASTIC
    textFrame.text_frame_format.three_dformat.light_rig.direction = slides.LightingDirection.TOP
    textFrame.text_frame_format.three_dformat.light_rig.light_type = slides.light_rigPresetType.BALANCED
    textFrame.text_frame_format.three_dformat.light_rig.set_rotation(0, 0, 40)

    textFrame.text_frame_format.three_dformat.camera.camera_type = slides.CameraPresetType.PERSPECTIVE_CONTRASTING_RIGHT_FACING

    # save as image (optional)
    pres.slides[0].get_thumbnail(2, 2).save("3D-text.png")

    # save presentation
    pres.save("3D-text.pptx", slides.export.SaveFormat.PPTX)

На следующем снимке экрана показан вывод приведенного выше примера кода.

Создайте 3D-текст в PowerPoint на питоне

Создание 3D-фигуры в PowerPoint на Python

Подобно тексту, вы можете применять 3D-эффекты к фигурам в презентациях PowerPoint. Ниже приведены шаги по созданию 3D-фигуры в PowerPoint на Python.

  • Сначала создайте новый PPT, используя класс Presentation.
  • Затем добавьте новую форму прямоугольника, используя метод addautoshape().
  • Установите текст формы, используя свойство shape.textframe.text.
  • Примените 3D-эффекты к фигуре, используя свойства в shape.threedformat.
  • Наконец, сохраните презентацию с помощью метода Presentation.save(String, SaveFormat).

В следующем примере кода показано, как применять 3D-эффекты к фигурам в PowerPoint с помощью Python.

with slides.Presentation() as pres:
    # add shape
    shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 200, 150, 200, 200)
    shape.text_frame.text = "3D"
    shape.text_frame.paragraphs[0].paragraph_format.default_portion_format.font_height = 64

    # apply 3D effects
    shape.three_dformat.camera.camera_type = slides.CameraPresetType.ORTHOGRAPHIC_FRONT
    shape.three_dformat.camera.set_rotation(20, 30, 40)
    shape.three_dformat.light_rig.light_type = slides.LightRigPresetType.FLAT
    shape.three_dformat.light_rig.direction = slides.LightingDirection.TOP
    shape.three_dformat.material = slides.MaterialPresetType.FLAT 
    shape.three_dformat.extrusion_height = 100
    shape.three_dformat.extrusion_color.color = drawing.Color.blue

    # save as image (optional)
    pres.slides[0].get_thumbnail(2, 2).save("3D-shape.png")

    # save presentation
    pres.save("3D-shape.pptx", slides.export.SaveFormat.PPTX)

Ниже представлена трехмерная форма, которую мы получаем после выполнения этого кода.

Создание 3D-фигуры в PowerPoint на Python

Создание градиента для 3D-фигур

Вы также можете применить эффекты градиента к фигурам, следуя инструкциям ниже.

  • Сначала создайте новый PPT, используя класс Presentation.
  • Затем добавьте новую форму прямоугольника, используя метод addautoshape().
  • Установите текст формы, используя свойство shape.textframe.text.
  • Установите для shape.fillformat.filltype значение FillType.GRADIENT и задайте цвета градиента.
  • Примените 3D-эффекты к фигуре, используя свойства в shape.threedformat.
  • Наконец, сохраните презентацию с помощью метода Presentation.save(String, SaveFormat).

В следующем примере кода показано, как применить эффекты градиента к фигурам в PowerPoint.

with slides.Presentation() as pres:
    # add shape
    shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 200, 150, 250, 250)
    shape.text_frame.text = "3D"
    shape.text_frame.paragraphs[0].paragraph_format.default_portion_format.font_height = 64

    # set fill type as gradient
    shape.fill_format.fill_type = slides.FillType.GRADIENT
    shape.fill_format.gradient_format.gradient_stops.add(0, drawing.Color.blue)
    shape.fill_format.gradient_format.gradient_stops.add(100, drawing.Color.orange)

    # apply 3D effects
    shape.three_dformat.camera.camera_type = slides.CameraPresetType.ORTHOGRAPHIC_FRONT
    shape.three_dformat.camera.set_rotation(10, 20, 30)
    shape.three_dformat.light_rig.light_type = slides.LightRigPresetType.FLAT
    shape.three_dformat.light_rig.direction = slides.LightingDirection.TOP
    shape.three_dformat.extrusion_height = 150
    shape.three_dformat.extrusion_color.color = drawing.Color.dark_orange

    # save as image (optional)
    pres.slides[0].get_thumbnail(2, 2).save("3D-shape-gradient.png")

    # save presentation
    pres.save("3D-shape-gradient.pptx", slides.export.SaveFormat.PPTX)

Ниже представлена 3D-форма после применения эффекта градиента.

Создание градиента для 3D-фигур в PPT

Применение 3D-эффектов к изображению в PowerPoint на Python

Вы также можете применять 3D-эффекты к изображениям в презентациях PowerPoint. Ниже приведены шаги для выполнения этой операции в Python.

  • Создайте новый PPT, используя класс Presentation.
  • Затем добавьте новую форму прямоугольника, используя метод addautoshape().
  • Установите для shape.fillformat.filltype значение FillType.PICTURE и добавьте изображение.
  • Примените 3D-эффекты к фигуре, используя свойства в shape.threedformat.
  • Сохраните презентацию с помощью метода Presentation.save(String, SaveFormat).

Ниже приведены шаги по применению 3D-эффектов к изображению в PPT с использованием Python.

with slides.Presentation() as pres:
    # add shape
    shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 200, 150, 250, 250)

    # set fill type as picture
    shape.fill_format.fill_type = slides.FillType.PICTURE

    # load image from file
    with open("tiger.bmp", "rb") as fs : 
        data = fs.read()

        # set image
        shape.fill_format.picture_fill_format.picture.image = pres.images.add_image(data)
        shape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH

        # apply 3D effects to image
        shape.three_dformat.camera.camera_type = slides.CameraPresetType.ORTHOGRAPHIC_FRONT
        shape.three_dformat.camera.set_rotation(10, 20, 30)
        shape.three_dformat.light_rig.light_type = slides.LightRigPresetType.FLAT
        shape.three_dformat.light_rig.direction = slides.LightingDirection.TOP
        shape.three_dformat.extrusion_height = 150
        shape.three_dformat.extrusion_color.color = drawing.Color.dark_orange

    # save as image (optional)
    pres.slides[0].get_thumbnail(2, 2).save("image_3d.png")

    # save presentation
    pres.save("3D-image.pptx", slides.export.SaveFormat.PPTX)

Ниже приведено результирующее изображение, которое мы получаем после применения 3D-эффектов.

Применение 3D-эффектов к изображению в PowerPoint на Python

Получить бесплатную лицензию

Вы можете получить бесплатную временную лицензию для использования Aspose.Slides for Python через .NET без ограничений на пробную версию.

Вывод

В этой статье вы узнали, как применять 3D-эффекты в презентациях PowerPoint с помощью Python. Мы рассмотрели, как создавать трехмерный текст или фигуры и применять трехмерные эффекты к изображениям в презентациях PPT или PPTX. Если вы хотите узнать больше об Aspose.Slides для Python через .NET, вы можете посетить документацию. Кроме того, вы можете оставлять свои вопросы на нашем форуме.

Смотрите также