在PPT幻灯片中,可经过添加形状的方式,来实现相似水印的效果,可添加单一文本水印效果,即幻灯片中只有一个文本水印;也能够添加多行(平铺)文本水印效果,即幻灯片中以必定方式平铺排列多个文本水印效果。本文主要以C#程序代码为例介绍第二种水印添加方法,另附VB.NET代码供参考。html
其中,Spire.Presentation.dll程序集,需下载安装至本地(也能够经过Nuget下载),这里使用的免费版。ide
【C#】spa
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】code
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
完成代码后,执行程序,生成结果文档。在结果文档中可查看水印添加效果,以下图:orm
其余关于C#操做PPT水印的方法可参考如下相关文章:htm
(本文完)blog
转载请注明出处!图片