水印是一种有效的文档防伪手段,在工作中非常实用。在接下来的示例中,将介绍如何通过C#编程语言来实现Power Point幻灯片添加水印。我们知道,水印可以分为文本水印、图片水印,在此也将分别介绍实现两种水印效果的具体方法。另外,水印幻灯片中已经存在的水印,如果我们想要去除水印效果,也可以参考下面的关于删除水印的方法。
成都创新互联公司是一家专业提供涵江企业网站建设,专注与成都网站建设、成都网站设计、H5高端网站建设、小程序制作等业务。10年已为涵江众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。* Free Spire.Presentation for .NET 3.3 (社区版)
编辑代码时,注意添加引用Spire.Presentation.dll(dll文件可在安装路径下的Bin文件夹中获取)
using System;
using System.Text;
using Spire.Presentation;
using System.Drawing;
using Spire.Presentation.Drawing;
using System.Windows.Forms;
namespace InsertWatermark_PPT
{
class Program
{
static void Main(string[] args)
{
//初始化一个Presentation类实例并加载文档
Presentation ppt = new Presentation();
ppt.LoadFromFile("test.pptx", FileFormat.Pptx2010);
//初始化一个Font类字体实例并实例化字体格式
Font stringFont = new Font("Arial", 90);
Size size = TextRenderer.MeasureText("内部资料", stringFont);
//绘制一个Shape并指定大小、填充颜色、边框颜色和旋转度
RectangleF rect = new RectangleF((ppt.SlideSize.Size.Width - size.Width) / 2, (ppt.SlideSize.Size.Height - size.Height) / 2, size.Width, size.Height);
IAutoShape shape = ppt.Slides[0].Shapes.AppendShape(Spire.Presentation.ShapeType.Rectangle, rect);
shape.Fill.FillType = FillFormatType.None;
shape.ShapeStyle.LineColor.Color = Color.White;
shape.Rotation = -45;
//设定形状保护属性、填充模式
shape.Locking.SelectionProtection = true;
shape.Line.FillType = FillFormatType.None;
//设置文本水印文字,并设置水印填充模式、水印颜色、大小等
shape.TextFrame.Text = "内部资料";
TextRange textRange = shape.TextFrame.TextRange;
textRange.Fill.FillType = Spire.Presentation.Drawing.FillFormatType.Solid;
textRange.Fill.SolidColor.Color = Color.FromArgb(150, Color.LightBlue);
textRange.FontHeight = 90;
//保存并打开文档
ppt.SaveToFile("TextWatermark.pptx", FileFormat.Pptx2010);
System.Diagnostics.Process.Start("TextWatermark.pptx");
}
}
}
文本水印添加效果:
using System;
using System.Drawing;
using Spire.Presentation;
using Spire.Presentation.Drawing;
namespace ImageWatermark_PPT
{
class Program
{
static void Main(string[] args)
{
//初始化一个Presentation类实例并加载文档
Presentation ppt = new Presentation();
ppt.LoadFromFile("test.pptx", FileFormat.Pptx2010);
//为第一张幻灯片设置背景图片类型和样式
ppt.Slides[0].SlideBackground.Type = Spire.Presentation.Drawing.BackgroundType.Custom;
ppt.Slides[0].SlideBackground.Fill.FillType = FillFormatType.Picture;
ppt.Slides[0].SlideBackground.Fill.PictureFill.FillType = PictureFillType.Stretch;
//加载图片并为第一张幻灯片设置水印效果
Image img = Image.FromFile("1.jpg");
IImageData image = ppt.Images.Append(img);
ppt.Slides[0].SlideBackground.Fill.PictureFill.Picture.EmbedImage = image;
//保存并打开文档
ppt.SaveToFile("ImageWatermark.pptx", FileFormat.Pptx2010);
System.Diagnostics.Process.Start("ImageWatermark.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");
}
}
}
删除效果:
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");
}
}
}
删除效果:
(本文完)
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。