水印通常用于保护文档或指定其所有权。另一方面,它们用于显示文档的状态,例如手稿、草稿等。在本文中,我们将演示如何在 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 幻灯片的步骤。
- 首先,使用 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 中从 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 演示文稿中 添加水印 和 删除水印。