使用 Python 在 PowerPoint 中應用 3D 效果

MS PowerPoint 提供 3D 效果,使演示文稿更具吸引力。您可以使用 3D 文本、形狀和圖像來增強內容的交互性。在本文中,您將學習如何在 Python 中以編程方式在 PowerPoint PPT 中應用 3D 效果。我們將介紹如何在演示文稿中為文本、形狀和圖像創建 3D 效果。

在 PowerPoint 中應用 3D 效果的 Python 庫

Aspose.Slides for Python via .NET 是一個功能豐富的 Python 庫,旨在創建和操作 PowerPoint 演示文稿。我們將使用此庫在 PowerPoint PPT/PPTX 演示文稿中應用 3D 效果。使用以下命令從 PyPI 安裝庫。

> pip install aspose.slides

使用 Python 在 PowerPoint 中創建 3D 文本

以下是使用 Python 在 PowerPoint PPT 中創建 3D 文本片段的步驟。

  • 首先,創建一個新的 PPT 或使用 Presentation 類加載現有的 PPT。
  • 然後,使用 addautoshape() 方法添加一個新的矩形形狀。
  • 設置形狀的屬性,例如填充類型、文本等。
  • 將形狀內的文本部分引用到對像中。
  • 將格式應用於文本部分。
  • 獲取形狀內文本框的引用。
  • 使用 textframe.textframeformat.threedformat 中的屬性應用 3D 效果。
  • 最後,使用 Presentation.save(String, SaveFormat) 方法保存演示文稿。

以下代碼示例展示瞭如何使用 Python 在 PowerPoint 中創建 3D 文本。

with slides.Presentation() as pres:
    # 添加形狀
    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"

    # 訪問文本部分並應用格式
    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

    # 訪問文本框
    textFrame = shape.text_frame

    # 設置“Arch Up”藝術字變換效果
    textFrame.text_frame_format.transform = slides.TextShapeType.ARCH_UP

    # 應用 3D 效果
    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

    # 另存為圖像(可選)
    pres.slides[0].get_thumbnail(2, 2).save("3D-text.png")

    # 保存演示文稿
    pres.save("3D-text.pptx", slides.export.SaveFormat.PPTX)

以下屏幕截圖顯示了上述代碼示例的輸出。

在 python 中的 PowerPoint 中創建 3D 文本

使用 Python 在 PowerPoint 中創建 3D 形狀

與文本類似,您可以將 3D 效果應用於 PowerPoint 演示文稿中的形狀。以下是使用 Python 在 PowerPoint 中創建 3D 形狀的步驟。

  • 首先,使用 Presentation 類創建一個新的 PPT。
  • 然後,使用 addautoshape() 方法添加一個新的矩形形狀。
  • 使用 shape.textframe.text 屬性設置形狀的文本。
  • 使用 shape.threedformat 中的屬性將 3D 效果應用於形狀。
  • 最後,使用 Presentation.save(String, SaveFormat) 方法保存演示文稿。

以下代碼示例演示如何使用 Python 將 3D 效果應用於 PowerPoint 中的形狀。

with slides.Presentation() as pres:
    # 添加形狀
    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

    # 應用 3D 效果
    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

    # 另存為圖像(可選)
    pres.slides[0].get_thumbnail(2, 2).save("3D-shape.png")

    # 保存演示文稿
    pres.save("3D-shape.pptx", slides.export.SaveFormat.PPTX)

以下是我們執行這段代碼後得到的 3D 形狀。

使用 Python 在 PowerPoint 中創建 3D 形狀

為 3D 形狀創建漸變

您還可以按照以下步驟對形狀應用漸變效果。

  • 首先,使用 Presentation 類創建一個新的 PPT。
  • 然後,使用 addautoshape() 方法添加一個新的矩形形狀。
  • 使用 shape.textframe.text 屬性設置形狀的文本。
  • 將 shape.fillformat.filltype 設置為 FillType.GRADIENT 並設置漸變顏色。
  • 使用 shape.threedformat 中的屬性將 3D 效果應用於形狀。
  • 最後,使用 Presentation.save(String, SaveFormat) 方法保存演示文稿。

以下代碼示例演示如何將漸變效果應用於 PowerPoint 中的形狀。

with slides.Presentation() as pres:
    # 添加形狀
    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

    # 將填充類型設置為漸變
    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)

    # 應用 3D 效果
    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

    # 另存為圖像(可選)
    pres.slides[0].get_thumbnail(2, 2).save("3D-shape-gradient.png")

    # 保存演示文稿
    pres.save("3D-shape-gradient.pptx", slides.export.SaveFormat.PPTX)

以下是應用漸變效果後的 3D 形狀。

在 PPT 中為 3D 形狀創建漸變

在 Python 中將 3D 效果應用於 PowerPoint 中的圖像

您還可以將 3D 效果應用於 PowerPoint 演示文稿中的圖像。以下是在 Python 中執行此操作的步驟。

  • 使用 Presentation 類創建一個新的 PPT。
  • 然後,使用 addautoshape() 方法添加一個新的矩形形狀。
  • 將 shape.fillformat.filltype 設置為 FillType.PICTURE 並添加圖像。
  • 使用 shape.threedformat 中的屬性將 3D 效果應用於形狀。
  • 使用 Presentation.save(String, SaveFormat) 方法保存演示文稿。

以下是使用 Python 對 PPT 中的圖像應用 3D 效果的步驟。

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

    # 設置填充類型為圖片
    shape.fill_format.fill_type = slides.FillType.PICTURE

    # 從文件加載圖像
    with open("tiger.bmp", "rb") as fs : 
        data = fs.read()

        # 設置圖像
        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

        # 對圖像應用 3D 效果
        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

    # 另存為圖像(可選)
    pres.slides[0].get_thumbnail(2, 2).save("image_3d.png")

    # 保存演示文稿
    pres.save("3D-image.pptx", slides.export.SaveFormat.PPTX)

以下是我們應用 3D 效果後得到的結果圖像。

在 Python 中將 3D 效果應用於 PowerPoint 中的圖像

獲得免費許可證

您可以獲得免費臨時許可證,通過 .NET 使用 Aspose.Slides for Python,沒有評估限制。

結論

在本文中,您學習瞭如何使用 Python 在 PowerPoint 演示文稿中應用 3D 效果。我們已經介紹瞭如何創建 3D 文本或形狀以及如何將 3D 效果應用於 PPT 或 PPTX 演示文稿中的圖像。如果您想通過 .NET 探索更多關於 Aspose.Slides for Python 的信息,您可以訪問 文檔。此外,您可以將您的問題發佈到我們的論壇

也可以看看