在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
轉載請註明出處!圖片