在 Python 中為 PowerPoint PPT 添加水印

水印通常用於保護文檔或指定其所有權。另一方面,它們用於顯示文檔的狀態,例如手稿、草稿等。在本文中,我們將演示如何在 PowerPoint 演示文稿中插入水印。您將學習如何在 Python 中向 PowerPoint PPT 幻燈片添加文本或圖像水印。

將水印添加到 PowerPoint 幻燈片的 Python 庫

要在 PPT 幻燈片中添加或刪除水印,我們將使用 Aspose.Slides for Python via .NET。該庫使您能夠從 Python 應用程序中無縫地創建和操作 PowerPoint 演示文稿。使用以下 pip 命令從 PyPI 安裝庫。

> pip install aspose.slides

在 Python 中為 PowerPoint PPT 幻燈片添加水印

有兩種類型的水印可以添加到 PowerPoint 幻燈片中:圖像和文本。在基於圖像的水印中,將圖像添加到 PPT 幻燈片中。然而,在基於文本的水印的情況下,文本片段被放置在幻燈片上。以下部分明確涵蓋了這兩種類型的水印。

在 Python 中向 PowerPoint 幻燈片添加文本水印

下面是用Python給PPT幻燈片添加文字水印的步驟。

  • 首先,使用 Presentation 類加載 PowerPoint PPT/PPTX。
  • 獲取要添加水印的幻燈片的參考。
  • 計算水印的位置。
  • 使用 addautoshape() 方法為水印添加新的自動形狀。
  • 使用 addtextframe() 方法將文本框添加到形狀。
  • 設置水印的字體大小、顏色、順序和旋轉角度。
  • 鎖定水印以避免刪除或修改。
  • 最後,使用 Presentation.save(string, SaveFormat) 方法保存更新後的 PowerPoint 文件。

以下代碼示例顯示如何向 PowerPoint 幻燈片添加文本水印。

import aspose.slides as slides
import aspose.pydrawing as drawing

# 負載演示
with slides.Presentation("presentation.pptx") as presentation:
    # 選擇幻燈片
    slide = presentation.slides[0]

    # 設置水印位置
    center = drawing.PointF(presentation.slide_size.size.width / 2, presentation.slide_size.size.height / 2)
    width = 300
    height = 300
    x = center.x - width / 2
    y = center.y - height / 2

    # 加水印
    watermarkShape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, height, width)
    watermarkShape.name = "watermark"
    watermarkShape.fill_format.fill_type = slides.FillType.NO_FILL
    watermarkShape.line_format.fill_format.fill_type = slides.FillType.NO_FILL

    # 設置水印文字、字體和顏色
    watermarkTextFrame = watermarkShape.add_text_frame("Watermark")
    watermarkPortion = watermarkTextFrame.paragraphs[0].portions[0]
    watermarkPortion.portion_format.font_height = 52        
    watermarkPortion.portion_format.fill_format.fill_type = slides.FillType.SOLID
    watermarkPortion.portion_format.fill_format.solid_fill_color.color = drawing.Color.red

    # 鎖定水印以避免修改
    watermarkShape.shape_lock.select_locked = True
    watermarkShape.shape_lock.size_locked = True
    watermarkShape.shape_lock.text_locked = True
    watermarkShape.shape_lock.position_locked = True
    watermarkShape.shape_lock.grouping_locked = True

    # 設置旋轉
    watermarkShape.rotation = -45

    # 寄回
    slide.shapes.reorder(0, watermarkShape)

    # 保存演示文稿
    presentation.save("text-watermark-slide.pptx", slides.export.SaveFormat.PPTX)

要將水印添加到所有幻燈片,您可以遍歷幻燈片或將水印添加到母版幻燈片,如以下代碼示例所示。

import aspose.slides as slides
import aspose.pydrawing as drawing

# 負載演示
with slides.Presentation("presentation.pptx") as presentation:
    # 選擇幻燈片
    master = presentation.masters[0]

    # 設置水印位置
    center = drawing.PointF(presentation.slide_size.size.width / 2, presentation.slide_size.size.height / 2)
    width = 300
    height = 300
    x = center.x - width / 2
    y = center.y - height / 2

    # 加水印
    watermarkShape = master.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, height, width)
    watermarkShape.name = "watermark"
    watermarkShape.fill_format.fill_type = slides.FillType.NO_FILL
    watermarkShape.line_format.fill_format.fill_type = slides.FillType.NO_FILL

    # 設置水印文字、字體和顏色
    watermarkTextFrame = watermarkShape.add_text_frame("Watermark")
    watermarkPortion = watermarkTextFrame.paragraphs[0].portions[0]
    watermarkPortion.portion_format.font_height = 52        
    watermarkPortion.portion_format.fill_format.fill_type = slides.FillType.SOLID
    watermarkPortion.portion_format.fill_format.solid_fill_color.color = drawing.Color.red

    # 鎖定水印以避免修改
    watermarkShape.shape_lock.select_locked = True
    watermarkShape.shape_lock.size_locked = True
    watermarkShape.shape_lock.text_locked = True
    watermarkShape.shape_lock.position_locked = True
    watermarkShape.shape_lock.grouping_locked = True

    # 寄回
    master.shapes.reorder(0, watermarkShape)

    # 設置旋轉
    watermarkShape.rotation = -45

    # 保存演示文稿
    presentation.save("text-watermark-ppt.pptx", slides.export.SaveFormat.PPTX)

以下是添加水印後的PowerPoint幻燈片截圖。

在 Python 中向 PowerPoint 幻燈片添加文本水印

在 Python 中將圖像水印添加到 PowerPoint 幻燈片

以下是在 Python 中向 PowerPoint 幻燈片添加圖像水印的步驟。

  • 首先,使用 Presentation 類加載 PowerPoint 演示文稿。
  • 獲取要添加水印的幻燈片的參考。
  • 計算水印的位置。
  • 從文件加載水印圖像。
  • 使用 addautoshape() 方法為水印添加一個新形狀,並將 shape.fillformat.filltype 設置為 FillType.PICTURE。
  • 使用 shape.fillformat.picturefillformat.picture.image 屬性設置水印圖像。
  • 設置水印順序並鎖定,避免修改。
  • 最後,使用 Presentation.save(string, SaveFormat) 方法保存更新後的 PPT。

以下代碼示例演示如何將圖像水印添加到 PowerPoint 幻燈片。

import aspose.slides as slides
import aspose.pydrawing as drawing

# 負載演示
with slides.Presentation("presentation.pptx") as presentation:
    # 選擇幻燈片
    slide = presentation.slides[0]

    # 設置水印位置
    center = drawing.PointF(presentation.slide_size.size.width / 2, presentation.slide_size.size.height / 2)
    width = 100
    height = 100
    x = center.x - width / 2
    y = center.y - height / 2

    # 加載圖片
    with open("python-logo.png", "rb") as fs:
        data = fs.read()
        image = presentation.images.add_image(data)

        # 加水印
        watermarkShape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, height, width)
        watermarkShape.name = "watermark"

        # 設置圖像水印
        watermarkShape.fill_format.fill_type = slides.FillType.PICTURE
        watermarkShape.fill_format.picture_fill_format.picture.image = image
        watermarkShape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH
        watermarkShape.line_format.fill_format.fill_type = slides.FillType.NO_FILL

        # 寄回
        slide.shapes.reorder(0, watermarkShape)

        # 鎖定水印以避免修改
        watermarkShape.shape_lock.select_locked = True
        watermarkShape.shape_lock.size_locked = True
        watermarkShape.shape_lock.text_locked = True
        watermarkShape.shape_lock.position_locked = True
        watermarkShape.shape_lock.grouping_locked = True

    # 保存演示文稿
    presentation.save("image-watermark-ppt.pptx", slides.export.SaveFormat.PPTX)

以下是添加圖片水印後的PPT幻燈片截圖。

在 Python 中將圖像水印添加到 PowerPoint 幻燈片

用 Python 從 PPT 幻燈片中去除水印

在前面的部分中,您一定已經註意到我們已經為水印形狀指定了名稱。此名稱用於過濾用作水印的形狀。因此,我們可以輕鬆訪問、修改或刪除水印形狀。以下代碼示例顯示瞭如何使用 Python 刪除我們添加到 PPT 幻燈片中的水印。

import aspose.slides as slides
import aspose.pydrawing as drawing

# 負載演示
with slides.Presentation("text-watermark-slide.pptx") as presentation:
    # 選擇幻燈片
    slide = presentation.slides[0]

    shapesToRemove=[]

    # 遍歷幻燈片中的所有形狀
   for i in range(len(slide.shapes)):
        shape = slide.shapes[i]

        # 如果形狀是水印
        if shape.name == "watermark":                
            shapesToRemove.append(shape)

    # 遍歷所有要刪除的形狀
   for i in range(len(shapesToRemove)):
        # 刪除形狀
        slide.shapes.remove(shapesToRemove[i])

    # 保存演示文稿
    presentation.save("remove-watermark.pptx", slides.export.SaveFormat.PPTX)

獲得免費許可證

您可以通過 .NET 使用 Aspose.Slides for Python,沒有評估限制,只需申請 臨時許可

結論

在本文中,您學習瞭如何使用 Python 向 PowerPoint 幻燈片添加水印。我們已經介紹瞭如何向 PPT 幻燈片添加文本和圖像水印。此外,您還看到瞭如何以編程方式從 PowerPoint PPT 中刪除水印。此外,您可以閱讀 文檔 來探索 Aspose.Slides for Python 的其他功能。此外,您可以將您的問題發佈到我們的論壇

也可以看看

信息:您可能需要查看 Aspose.Slides 提供的免費在線工具,以便從 PowerPoint 演示文稿中添加水印刪除水印