PowerPoint 中的水印是以微妙的叠加形式放置在幻灯片上的。它们可以是文本或图片,常见的应用包括展示版权信息、公司徽标、保密声明或其他相关标识。通过在 PPT 幻灯片中插入水印,可以提高文档的专业性、强化品牌形象,并阻止未经授权使用或分发资料。在本文中,您将学习如何使用 Spire.Presentation for Python 在 Python 中为 PPT 文档添加文本水印或图片水印。
安装 Spire.Presentation for Python
本教程需要用到 Spire.Presentation for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Presentation
如果您不确定如何安装,请参考此教程:如何在 Windows 中安装 Spire.Presentation for Python
Python 在 PowerPoint 中添加文本水印
与 MS Word 不同,PowerPoint 没有内置的添加水印的功能。不过,您可以使用 ISlide.Shapes.AppendShape() 方法将带有文本或图片的形状添加到幻灯片中来模拟水印效果。为防止形状与幻灯片上的现有内容重叠,最好将其置于底层。
以下是使用 Spire.Presentation for Python 为 PPT 幻灯片添加文本水印的步骤。
- 创建 Presentation 类的对象。
- 使用 Presentation.LoadFromFile() 方法加载 PPT 文件。
- 通过 Prentation.Slides[index] 属性获取特定幻灯片。
- 使用 ISlide.Shapes.AppendShape() 方法在幻灯片中添加形状。
- 设置形状的填充样式、旋转角度、边框样式、颜色等。
- 通过 IAutoShape.TextFrame.Text 属性为形状添加文本。
- 使用 IAutoShape.SetShapeArrange() 方法将形状置于底层。
- 使用 Presentation.SaveToFile() 方法保存结果文件。
- Python
from spire.presentation.common import *
from spire.presentation import *
# 创建Presentation对象
presentation = Presentation()
# 加载PPT文档
presentation.LoadFromFile("工作总结.pptx")
# 定义一个矩形
left = (presentation.SlideSize.Size.Width - 350.0) / 2
top = (presentation.SlideSize.Size.Height - 110.0) / 2
rect = RectangleF(left, top, 350.0, 110.0)
for i in range(0, presentation.Slides.Count):
# 将该矩形形状添加到幻灯片中
shape = presentation.Slides[i].Shapes.AppendShape(
ShapeType.Rectangle, rect)
# 设置形状的样式
shape.Fill.FillType = FillFormatType.none
shape.ShapeStyle.LineColor.Color = Color.get_Transparent()
shape.Rotation = -35
shape.Locking.SelectionProtection = True
shape.Line.FillType = FillFormatType.none
# 在形状中添加文字
shape.TextFrame.Text = "内部文件"
textRange = shape.TextFrame.TextRange
# 设置文本范围的样式
textRange.Fill.FillType = FillFormatType.Solid
textRange.Fill.SolidColor.Color = Color.FromArgb(120, Color.get_Red().R, Color.get_Red().G, Color.get_Red().B)
textRange.FontHeight = 60
textRange.LatinFont = TextFont("微软雅黑")
# 将形状置于底层
shape.SetShapeArrange(ShapeArrange.SendToBack)
# 保存结果文件
presentation.SaveToFile("Output/添加文本水印.pptx", FileFormat.Pptx2013)
presentation.Dispose()
Python 在 PowerPoint 添加图片水印
要添加图片水印,首先需要创建一个与图片大小相同的矩形,然后用图片填充该形状并将其置于幻灯片的中心。为防止形状与幻灯片上的现有内容重叠,还需将其置于底部。
以下是使用 Spire.Presentation for Python 为 PPT 幻灯片添加图片水印的步骤。
- 创建 Presentation 类的对象。
- 使用 Presentation.LoadFromFile() 方法加载 PPT 文件。
- 通过 Prentation.Slides[index] 属性获取特定幻灯片。
- 使用 Presentation.Images.AppendStream() 方法加载图片。
- 使用 ISlide.Shapes.AppendShape() 方法在幻灯片中添加与图片大小相同的形状。
- 通过 IAuotShape.Fill.PictureFill.Picture.EmbedImage 属性将图片填充到形状中。
- 使用 IAutoShape.SetShapeArrange() 方法将形状置于底层。
- 使用 Presentation.SaveToFile() 方法保存结果文件。
- Python
from spire.presentation.common import *
from spire.presentation import *
# 创建Presentation对象
presentation = Presentation()
# 加载PPT文件
presentation.LoadFromFile("工作总结.pptx")
# 加载图片
stream = Stream("图标.jpg")
image = presentation.Images.AppendStream(stream)
stream.Close()
# 获取图像的宽度和高度
width = (float)(image.Width)
height = (float)(image.Height)
# 获取幻灯片尺寸
slideSize = presentation.SlideSize.Size
# 遍历所有幻灯片
for i in range(0, presentation.Slides.Count):
# 获取指定幻灯片
slide = presentation.Slides[i]
# 在幻灯片中添加一个形状
shape = slide.Shapes.AppendShape(ShapeType.Rectangle, RectangleF((slideSize.Width - width )/2, (slideSize.Height - height)/2, width, height))
# 用图像填充形状
shape.Line.FillType = FillFormatType.none
shape.Locking.SelectionProtection = True
shape.Fill.FillType = FillFormatType.Picture
shape.Fill.PictureFill.FillType = PictureFillType.Stretch
shape.Fill.PictureFill.Picture.EmbedImage = image
# 将形状置于底层
shape.SetShapeArrange(ShapeArrange.SendToBack)
# 保存结果文件
presentation.SaveToFile("Output/添加图片水印.pptx", FileFormat.Pptx2013)
presentation.Dispose()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。