本文将对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 = ; i < ppt.Slides.Count; i++)
{
for (int j = ; 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 = ; i < ppt.Slides.Count; i++)
{
for (int j = ; 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 = ; i < ppt.Slides.Count; i++)
{
ppt.Slides[].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 = ; i < ppt.Slides.Count; i++)
{
ppt.Slides[].SlideBackground.Fill.FillType = FillFormatType.None;
} //保存结果文档到本地并打开
ppt.SaveToFile("RemovePicWatermak.pptx", FileFormat.Pptx2010);
System.Diagnostics.Process.Start("RemovePicWatermak.pptx");
}
}
}

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

(本文完)

转载请注明出处!

C# 处理PPT水印(二)——去除水印效果(文本水印、图片水印)的更多相关文章

  1. Java 操作Word书签(二):添加文本、图片、表格到书签内容

    在Java操作Word书签(一)中介绍了给Word中的特定段落或文字添加书签.读取及删除已有书签的方法,本文将继续介绍Java 操作Word书签的方法,即如何给已有的书签添加内容,包括添加文本.图片. ...

  2. wordpress图片水印插件DX-Watermark

    DX-Watermark是一款功能齐全的wordpress图片水印插件,可以自动给上传的图片添加文本或者图片水印. 后台截图: 文本水印: 图片水印: 选项说明: 类型:可选择文本或图片水印两种类型, ...

  3. JAVA实用案例之图片水印开发

    写在最前面 上周零零碎碎花了一周的时间研究水印的开发,现在终于写了个入门级的Demo,做下笔记同时分享出来供大家参考. Demo是在我上次写的 JAVA实用案例之文件导入导出(POI方式) 框架基础上 ...

  4. C#图片水印代码整理

    这一段公司有个项目,客户要求上传的图片要带上自定义的水印.以前也经常和朋友讨论C#图片水印方面的问题,但是从来没有实际操作过.所以,借这次项目的机会也研究了一下C#图片水印的功能!本人参考的是disc ...

  5. C# 处理PPT水印(一)——添加水印效果(文字水印、图片水印)

    对文档添加水印可以有效声明和保护文档,是保护重要文件的方式之一.在PPT文档中同样也可以设置水印,包括文本水印和图片水印,本文将讲述如何通过Spire.Presentation for .NET来对P ...

  6. [转]让你的网页文本框增加光晕效果与提示,水印(类似QQ2011)

    本文转自:http://www.cnblogs.com/xiaofengfeng/archive/2013/01/28/2880344.html 让你的网页文本框增加光晕效果(类似QQ2011) 我们 ...

  7. CSDN博客图片水印自定义及去除方法

    小图上传说明 尺寸较小的图片上传后默认不加水印,而且默认水平居中显示.你可以更改markdown格式后面的#pic_center,这是设置图片水平对齐的方式.#pic_left就是左对齐,#pic_r ...

  8. php文字水印和php图片水印实现代码(二种加水印方法)

    文字水印 文字水印就是在图片上加上文字,主要使用gd库的imagefttext方法,并且需要字体文件.效果图如下: $dst_path = 'dst.jpg';//创建图片的实例$dst = imag ...

  9. Java 给Word每一页设置不同图片水印效果

    Word中设置水印时,可加载图片设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法.下面,将以Java代码为例, ...

随机推荐

  1. iptables安装

    1.安装iptable iptable-service #先检查是否安装了iptables service iptables status #安装iptables yum install -y ipt ...

  2. Pyinstaller (python打包为exe文件)

    需求分析: python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速. 当然打包的脚本似乎不是在所有的win平台下都能使用,wi ...

  3. 前端基础之BOM和DOM

    关于网页交互:BOM和DOM javaScript分为ECMAScript,DOM,BOM . BOM(Browser  object  Model)是指浏览器对象模型,它使JavaScript有能力 ...

  4. [转]Understanding OpenStack Authentication: Keystone PKI

    The latest stable release of OpenStack, codenamed Grizzly, revolutionizes the way user authenticatio ...

  5. EF Core中避免贫血模型的三种行之有效的方法(翻译)

    Paul Hiles: 3 ways to avoid an anemic domain model in EF Core 1.引言 在使用ORM中(比如Entity Framework)贫血领域模型 ...

  6. [Java]LeetCode133. 克隆图 | Clone Graph

    Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors. OJ's ...

  7. [Swift]LeetCode448. 找到所有数组中消失的数字 | Find All Numbers Disappeared in an Array

    Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and ot ...

  8. [Swift]LeetCode971.翻转二叉树以匹配先序遍历 | Flip Binary Tree To Match Preorder Traversal

    Given a binary tree with N nodes, each node has a different value from {1, ..., N}. A node in this b ...

  9. Python--(爬虫与数据库的连接)

    (每一天都是属于你的!) Python对于初学后巩固基础的人还是更多的来接触python爬虫会更好一些,在Python爬虫中包含很多基础部分知识,并且在项目中会提升你的成功感!加油! 我在工作之余时间 ...

  10. Python内置函数(28)——hash

    英文文档: hash(object)Return the hash value of the object (if it has one). Hash values are integers. The ...