> 文章列表 > C# 在PPT中添加多行(平铺)水印效果

C# 在PPT中添加多行(平铺)水印效果

在PPT幻灯片中,可通过添加形状的方式,来实现类似水印的效果,可添加单一文本水印效果,即幻灯片中只有一个文本水印;也可以添加多行(平铺)文本水印效果,即幻灯片中以一定方式平铺排列多个文本水印效果。本文主要以C#程序代码为例介绍第二种水印添加方法,另附VB.NET代码供参考。

程序环境

l  需引入以下程序集文件,如图:

C# 在PPT中添加多行(平铺)水印效果

其中,Spire.Presentation.dll程序集,需下载安装至本地(也可以通过Nuget下载)。

|.NET Framework 4.8

详细代码

【C#】

using Spire.Presentation;

using Spire.Presentation.Drawing;

using System;

using System.Drawing;

using System.Windows.Forms;

namespace TextWatermark2

{

class Program

{

static void Main(string[] args)

{

//加载PPT文档

Presentation ppt = new Presentation();

ppt.LoadFromFile(\"test.pptx\");

//获取需要添加的水印的幻灯片(第一张幻灯片)

ISlide slide = ppt.Slides[0];

//创建水印文本

Font font = new Font(\"宋体\", 20);

String watermarkText = \"内部资料\";

SizeF size = TextRenderer.MeasureText(watermarkText, font);

//指定水印添加的起始坐标位置

float x = 50;

float y = 80;

for (int i = 0; i < 4; i++)

{

for (int j = 0; j < 4; j++)

{

//绘制文本,设置文本格式

RectangleF rect = new RectangleF(x, y, size.Width, size.Height);

IAutoShape shape = slide.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 = watermarkText;

TextRange textRange = shape.TextFrame.TextRange;

textRange.Fill.FillType = FillFormatType.Solid;

textRange.Fill.SolidColor.Color = Color.FromArgb(120, Color.HotPink);

textRange.EastAsianFont = new TextFont(font.Name);

textRange.FontHeight = font.Size;

x += (100 + size.Width);

}

x = 30;

y += (100 + size.Height);

}

//保存文档

ppt.SaveToFile(\"TextWatermark.pptx\", FileFormat.Pptx2013);

System.Diagnostics.Process.Start(\"TextWatermark.pptx\");

}

}

}

【VB.NET】

Imports Spire.Presentation

Imports Spire.Presentation.Drawing

Imports System.Drawing

Imports System.Windows.Forms

Namespace TextWatermark2

Class Program

Private Shared Sub Main(args As String())

\'加载PPT文档

Dim ppt As New Presentation()

ppt.LoadFromFile(\"test.pptx\")

\'获取需要添加的水印的幻灯片(第一张幻灯片)

Dim slide As ISlide = ppt.Slides(0)

\'创建水印文本

Dim font As New Font(\"宋体\", 20)

Dim watermarkText As [String] = \"内部资料\"

Dim size As SizeF = TextRenderer.MeasureText(watermarkText, font)

\'指定水印添加的起始坐标位置

Dim x As Single = 50

Dim y As Single = 80

For i As Integer = 0 To 3

For j As Integer = 0 To 3

\'绘制文本,设置文本格式

Dim rect As New RectangleF(x, y, size.Width, size.Height)

Dim shape As IAutoShape = slide.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 = watermarkText

Dim textRange As TextRange = shape.TextFrame.TextRange

textRange.Fill.FillType = FillFormatType.Solid

textRange.Fill.SolidColor.Color = Color.FromArgb(120, Color.HotPink)

textRange.EastAsianFont = New TextFont(font.Name)

textRange.FontHeight = font.Size

x += (100 + size.Width)

Next

x = 30

y += (100 + size.Height)

Next

\'保存文档

ppt.SaveToFile(\"TextWatermark.pptx\", FileFormat.Pptx2013)

System.Diagnostics.Process.Start(\"TextWatermark.pptx\")

End Sub

End Class

End Namespace

完成代码后,执行程序,生成结果文档。在结果文档中可查看水印添加效果,如下图:

C# 在PPT中添加多行(平铺)水印效果

注:以上代码中的文件路径为VS项目文件夹路径,如本次测试环境中为C:\\Users\\Administrator\\Documents\\Visual Studio 2013\\Projects\\InsertWatermark_PPT\\TextWatermark2\\bin\\Debug,这里的文件路径可自行定义。

(本文完)

转载请注明出处!!