水印通常用於指定所有權或防止未經授權使用文檔。此外,它們還用於顯示手稿、草稿等文檔的狀態。在本文中,我們將演示如何通過以編程方式應用水印來保護 PowerPoint 演示文稿。特別是,您將學習如何使用 C# 向 PowerPoint 幻燈片添加文本或圖像水印。
用於向 PowerPoint 幻燈片添加水印的 C# API
為了給 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#給PPT幻燈片添加圖片水印
下面是用C#給PPT幻燈片添加圖片水印的步驟。
- 首先,使用 Presentation 類加載 PowerPoint 演示文稿。
- 獲取要在 ISlide 對像中添加水印的幻燈片的引用。
- 計算水印的位置。
- 將圖像添加到演示文稿並在 IPPImage 對像中獲取其引用。
- 將新的自動形狀添加到幻燈片的 Shapes 集合,並在 IAutoShape 對像中獲取其引用。
- 將 IAutoShape.FillFormat.FillType 設置為 FillType.Picture。
- 通過將 IPPImage 對象分配給 IAutoShape.FillFormat.PictureFillFormat.Picture.Image 屬性來設置水印圖像。
- 鎖定水印以避免刪除或修改。
- 最後,使用 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;
// 載入圖片
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 Watermarking API - 獲取免費許可證
通過申請臨時許可,您可以在沒有評估限制的情況下使用 Aspose.Slides for .NET。
結論
在本文中,您學習瞭如何使用 C# 向 PowerPoint 幻燈片添加水印。分步指南和代碼示例演示瞭如何向 PowerPoint 演示文稿添加文本和圖像水印。此外,您可以查閱 文檔 來探索 API 的其他功能。此外,您可以隨時通過我們的 論壇 告訴我們您的疑問。
也可以看看
信息:您可能需要查看 Aspose.Slides 免費的 向 PowerPoint 添加水印 和 從 PowerPoint 刪除水印 在線工具。