将水印添加到 PowerPoint C#

水印通常用于指定所有权或防止未经授权使用文档。此外,它们还用于显示文档的状态,例如手稿、草稿等。在本文中,我们将演示如何通过以编程方式应用水印来保护 PowerPoint 演示文稿。特别是,您将学习如何使用 C# 在 PowerPoint 幻灯片中添加文本或图像水印。

C# API 为 PowerPoint 幻灯片添加水印

为了给 PowerPoint 幻灯片添加水印,我们将使用 Aspose.Slides for .NET。它是一个功能丰富的 API,可让您从 .NET 应用程序中创建演示文档。此外,它还允许您操作现有的演示文件。您可以 下载 API 或使用 NuGet 安装它。

PM> Install-Package Aspose.Slides.NET

在 C# 中将文本水印添加到 PowerPoint 幻灯片

以下是使用 C# 向 PowerPoint 幻灯片添加文本水印的步骤。

  • 首先,使用 Presentation 类加载 PowerPoint 演示文稿。
  • 获取要在 ISlide 对象中添加水印的幻灯片的引用。
  • 计算水印的位置。
  • 向幻灯片的 Shapes 集合添加一个新的自动形状,并在 IAutoShape 对象中获取它的引用。
  • 将文本框架添加到形状并使用 IAutoShape.AddTextFrame(string) 方法设置其文本。
  • 设置水印的字体大小、颜色和旋转角度。
  • 锁定水印以避免删除或修改。
  • 最后,使用 Presentation.Save(string, SaveFormat) 方法保存更新的 PowerPoint 文件。

下面的代码示例演示如何将文本水印添加到 PowerPoint 幻灯片。

// 加载演示文稿 
Presentation presentation = new Presentation("presentation.pptx");

// 获取幻灯片的参考
ISlide slide = presentation.Slides[0];

// 获取幻灯片的中心并计算水印的位置
PointF center = new PointF(presentation.SlideSize.Size.Width / 2, presentation.SlideSize.Size.Height / 2);
float width = 300;
float height = 300;
float x = center.X - width / 2;
float y = center.Y - height / 2;

// 添加水印形状
IAutoShape watermarkShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, x, y, width, height);

// 设置填充类型
watermarkShape.FillFormat.FillType = FillType.NoFill;
watermarkShape.LineFormat.FillFormat.FillType = FillType.NoFill;

// 设置旋转角度
watermarkShape.Rotation = -45;
            
// 设置文本
ITextFrame watermarkTextFrame = watermarkShape.AddTextFrame("Watermark");
IPortion watermarkPortion = watermarkTextFrame.Paragraphs[0].Portions[0];

// 设置水印的字体大小和填充类型
watermarkPortion.PortionFormat.FontHeight = 52;
watermarkPortion.PortionFormat.FillFormat.FillType = FillType.Solid;
int alpha = 150, red = 200, green = 200, blue = 200;
watermarkPortion.PortionFormat.FillFormat.SolidFillColor.Color = System.Drawing.Color.FromArgb(alpha, red, green, blue);

// 从修改中锁定形状
watermarkShape.ShapeLock.SelectLocked = true;
watermarkShape.ShapeLock.SizeLocked = true;
watermarkShape.ShapeLock.TextLocked = true;
watermarkShape.ShapeLock.PositionLocked = true;
watermarkShape.ShapeLock.GroupingLocked = true;

// 保存演示文稿
presentation.Save("watermarked-presentation.pptx", SaveFormat.Pptx);

输出

以下是添加水印后的 PowerPoint 幻灯片截图。

在 C# 中为 PowerPoint 幻灯片添加水印

在 C# 中为 PPT 幻灯片添加图像水印

以下是在 C# 中为 PPT 幻灯片添加图像水印的步骤。

以下代码示例演示如何将图像水印添加到 PowerPoint 幻灯片。

// 加载演示文稿 
Presentation presentation = new Presentation("presentation.pptx");

// 获取幻灯片的参考
ISlide slide = presentation.Slides[0];

// 获取幻灯片的中心并计算水印的位置
PointF center = new PointF(presentation.SlideSize.Size.Width / 2, presentation.SlideSize.Size.Height / 2);
float width = 300;
float height = 300;
float x = center.X - width / 2;
float y = center.Y - height / 2;

// 加载图像
IPPImage image = presentation.Images.AddImage(File.ReadAllBytes("watermark.png"));

// 添加水印形状并设置图像
IAutoShape watermarkShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, x, y, width, height);
watermarkShape.FillFormat.FillType = FillType.Picture;
watermarkShape.FillFormat.PictureFillFormat.Picture.Image = image;
watermarkShape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch;         
watermarkShape.LineFormat.FillFormat.FillType = FillType.NoFill;

// 从修改中锁定形状
watermarkShape.ShapeLock.SelectLocked = true;
watermarkShape.ShapeLock.SizeLocked = true;
watermarkShape.ShapeLock.TextLocked = true;
watermarkShape.ShapeLock.PositionLocked = true;
watermarkShape.ShapeLock.GroupingLocked = true;

// 保存演示文稿
presentation.Save("watermarked-presentation.pptx", SaveFormat.Pptx);

C# .NET 的 PowerPoint 水印 API - 获得免费许可证

您可以通过申请 临时许可证 来使用 Aspose.Slides for .NET,而不受评估限制。

结论

在本文中,您学习了如何使用 C# 向 PowerPoint 幻灯片添加水印。分步指南和代码示例演示了如何将文本和图像水印添加到 PowerPoint 演示文稿。此外,您可以查阅 文档 以探索 API 的其他功能。此外,您可以随时通过我们的 论坛 告诉我们您的疑问。

也可以看看

信息:您可能想查看免费的 Aspose.Slides 向 PowerPoint 添加水印从 PowerPoint 中删除水印 在线工具。