经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C# » 查看文章
C# 处理PPT水印(二)——去除水印效果(文本水印、图片水印) - E-iceblue
来源:cnblogs  作者:E-iceblue  时间:2018/10/15 9:30:55  对本文有异议

本文将对C#处理PPT幻灯片中的水印进一步说明和介绍。在C# 处理PPT水印(一)一文中,分享了如何插入水印效果的方法,包括插入文字水印效果、插入图片作为水印效果两种情况,那对于不需要水印效果的情况,要如何来去除PPT中已有的水印效果呢,具体实现步骤,可参考下面将要讲述的方法。

工具

PS:安装后,注意在编辑代码时,添加引用Spire.Presentation.dll(dll文件可在安装路径下的Bin文件夹中获取)

代码示例(供参考)

【示例1】去除文字水印效果

测试文件中的文字水印效果如下:

 

步骤1 :实例化Presentation类,加载含有水印效果的PPT文档

  1. Presentation ppt = new Presentation();
  2. ppt.LoadFromFile("TextWatermark.pptx");

步骤2 :遍历所有幻灯片,查找包含水印字样的shape,并删除

  1. for (int i = 0; i < ppt.Slides.Count; i++)
  2. {
  3. for (int j = 0; j < ppt.Slides[i].Shapes.Count; j++)
  4. {
  5. if (ppt.Slides[i].Shapes[j] is IAutoShape)
  6. {
  7. IAutoShape shape = ppt.Slides[i].Shapes[j] as IAutoShape;
  8. if (shape.TextFrame.Text.Contains("内部资料"))
  9. {
  10. ppt.Slides[i].Shapes.Remove(shape);
  11. }
  12. }
  13. }
  14. }

步骤3:保存文档并打开

  1. ppt.SaveToFile("RemoveTextWatermak.pptx", FileFormat.Pptx2010);
  2. System.Diagnostics.Process.Start("RemoveTextWatermak.pptx");

 

文字水印去除效果:

 

全部代码:

  1. using Spire.Presentation;
  2. namespace DeleteTextWatermark_PPT
  3. {
  4. class Program
  5. {
  6. static void Main(string[] args)
  7. {
  8. //实例化Presentation类,加载有水印的PowerPoint文档
  9. Presentation ppt = new Presentation();
  10. ppt.LoadFromFile("TextWatermark.pptx");
  11. //遍历每一张幻灯片, 查找水印文字内容所在的形状并删除
  12. for (int i = 0; i < ppt.Slides.Count; i++)
  13. {
  14. for (int j = 0; j < ppt.Slides[i].Shapes.Count; j++)
  15. {
  16. if (ppt.Slides[i].Shapes[j] is IAutoShape)
  17. {
  18. IAutoShape shape = ppt.Slides[i].Shapes[j] as IAutoShape;
  19. if (shape.TextFrame.Text.Contains("内部资料"))
  20. {
  21. ppt.Slides[i].Shapes.Remove(shape);
  22. }
  23. }
  24. }
  25. }
  26. //保存并打开文档
  27. ppt.SaveToFile("RemoveTextWatermak.pptx", FileFormat.Pptx2010);
  28. System.Diagnostics.Process.Start("RemoveTextWatermak.pptx");
  29. }
  30. }
  31. }
View Code

 

【示例2】去除图片水印效果

测试文件中的图片水印效果如下:

步骤1 :实例化Presentation类,加载测试文档

  1. Presentation ppt = new Presentation();
  2. ppt.LoadFromFile("ImageWatermark.pptx");

步骤2 :遍历每一张幻灯片, 设置背景填充类型为None

  1. for (int i = 0; i < ppt.Slides.Count; i++)
  2. {
  3. ppt.Slides[0].SlideBackground.Fill.FillType = FillFormatType.None;
  4. }

步骤3 :保存文档并打开

  1. ppt.SaveToFile("RemovePicWatermak.pptx", FileFormat.Pptx2010);
  2. System.Diagnostics.Process.Start("RemovePicWatermak.pptx");

图片水印去除效果:

全部代码:

  1. using Spire.Presentation;
  2. using Spire.Presentation.Drawing;
  3. namespace DeleteImageWatermark_PPT
  4. {
  5. class Program
  6. {
  7. static void Main(string[] args)
  8. {
  9. //实例化Presentation类,加载有图片水印的PowerPoint文档
  10. Presentation ppt = new Presentation();
  11. ppt.LoadFromFile("ImageWatermark.pptx");
  12. //遍历每一张幻灯片, 设置背景填充类型为None
  13. for (int i = 0; i < ppt.Slides.Count; i++)
  14. {
  15. ppt.Slides[0].SlideBackground.Fill.FillType = FillFormatType.None;
  16. }
  17. //保存结果文档到本地并打开
  18. ppt.SaveToFile("RemovePicWatermak.pptx", FileFormat.Pptx2010);
  19. System.Diagnostics.Process.Start("RemovePicWatermak.pptx");
  20. }
  21. }
  22. }
View Code

 

以上是关于C# 去除PPT水印效果的方法介绍。

(本文完)

转载请注明出处!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号