C# 处理PPT水印(二)——去除水印效果(文本水印、图片水印)
本文将对C#处理PPT幻灯片中的水印进一步说明和介绍。在C# 处理PPT水印(一)一文中,分享了如何插入水印效果的方法,包括插入文字水印效果、插入图片作为水印效果两种情况,那对于不需要水印效果的情况,要如何来去除PPT中已有的水印效果呢,具体实现步骤,可参考下面将要讲述的方法。
工具
PS:安装后,注意在编辑代码时,添加引用Spire.Presentation.dll(dll文件可在安装路径下的Bin文件夹中获取)
代码示例(供参考)
【示例1】去除文字水印效果
测试文件中的文字水印效果如下:
步骤1 :实例化Presentation类,加载含有水印效果的PPT文档
Presentation ppt = new Presentation(); ppt.LoadFromFile("TextWatermark.pptx");
步骤2 :遍历所有幻灯片,查找包含水印字样的shape,并删除
for (int i = 0; i < ppt.Slides.Count; i++) { for (int j = 0; j < ppt.Slides[i].Shapes.Count; j++) { if (ppt.Slides[i].Shapes[j] is IAutoShape) { IAutoShape shape = ppt.Slides[i].Shapes[j] as IAutoShape; if (shape.TextFrame.Text.Contains("内部资料")) { ppt.Slides[i].Shapes.Remove(shape); } } } }
步骤3:保存文档并打开
ppt.SaveToFile("RemoveTextWatermak.pptx", FileFormat.Pptx2010); System.Diagnostics.Process.Start("RemoveTextWatermak.pptx");
文字水印去除效果:
全部代码:

using Spire.Presentation; namespace DeleteTextWatermark_PPT { class Program { static void Main(string[] args) { //实例化Presentation类,加载有水印的PowerPoint文档 Presentation ppt = new Presentation(); ppt.LoadFromFile("TextWatermark.pptx"); //遍历每一张幻灯片, 查找水印文字内容所在的形状并删除 for (int i = 0; i < ppt.Slides.Count; i++) { for (int j = 0; j < ppt.Slides[i].Shapes.Count; j++) { if (ppt.Slides[i].Shapes[j] is IAutoShape) { IAutoShape shape = ppt.Slides[i].Shapes[j] as IAutoShape; if (shape.TextFrame.Text.Contains("内部资料")) { ppt.Slides[i].Shapes.Remove(shape); } } } } //保存并打开文档 ppt.SaveToFile("RemoveTextWatermak.pptx", FileFormat.Pptx2010); System.Diagnostics.Process.Start("RemoveTextWatermak.pptx"); } } }
【示例2】去除图片水印效果
测试文件中的图片水印效果如下:
步骤1 :实例化Presentation类,加载测试文档
Presentation ppt = new Presentation(); ppt.LoadFromFile("ImageWatermark.pptx");
步骤2 :遍历每一张幻灯片, 设置背景填充类型为None
for (int i = 0; i < ppt.Slides.Count; i++) { ppt.Slides[0].SlideBackground.Fill.FillType = FillFormatType.None; }
步骤3 :保存文档并打开
ppt.SaveToFile("RemovePicWatermak.pptx", FileFormat.Pptx2010); System.Diagnostics.Process.Start("RemovePicWatermak.pptx");
图片水印去除效果:
全部代码:

using Spire.Presentation; using Spire.Presentation.Drawing; namespace DeleteImageWatermark_PPT { class Program { static void Main(string[] args) { //实例化Presentation类,加载有图片水印的PowerPoint文档 Presentation ppt = new Presentation(); ppt.LoadFromFile("ImageWatermark.pptx"); //遍历每一张幻灯片, 设置背景填充类型为None for (int i = 0; i < ppt.Slides.Count; i++) { ppt.Slides[0].SlideBackground.Fill.FillType = FillFormatType.None; } //保存结果文档到本地并打开 ppt.SaveToFile("RemovePicWatermak.pptx", FileFormat.Pptx2010); System.Diagnostics.Process.Start("RemovePicWatermak.pptx"); } } }
以上是关于C# 去除PPT水印效果的方法介绍。
(本文完)
转载请注明出处!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
2017-10-12 C# 如何添加Word文本和图片超链接
2016-10-12 C#中如何调整图像大小