2021-03-01

C# 处理PPT水印(三)—— 在PPT中添加多行(平铺)文本水印效果

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

程序环境

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

 

 

其中,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.PresentationImports Spire.Presentation.DrawingImports System.DrawingImports System.Windows.FormsNamespace 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 ClassEnd Namespace

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

 

其他关于C#操作PPT水印的方法可参考以下相关文章:

  • 添加单一水印效果:C# 添加文本和图片水印到PPT
  • 删除水印效果:C# 删除PPT中的水印

 

(本文完)

转载请注明出处!









原文转载:http://www.shaoqun.com/a/596620.html

跨境电商:https://www.ikjzd.com/

拍怕:https://www.ikjzd.com/w/2205

凹凸曼:https://www.ikjzd.com/w/1392


在PPT幻灯片中,可通过添加形状的方式,来实现类似水印的效果,可添加单一文本水印效果,即幻灯片中只有一个文本水印;也可以添加多行(平铺)文本水印效果,即幻灯片中以一定方式平铺排列多个文本水印效果。本文主要以C#程序代码为例介绍第二种水印添加方法,另附VB.NET代码供参考。程序环境需引入以下程序集文件,如图:其中,Spire.Presentation.dll程序集,需下载安装至本地(也可以通过Nu
勤商网:https://www.ikjzd.com/w/2219
amazon go:https://www.ikjzd.com/w/67
stadium:https://www.ikjzd.com/w/2729
速卖通如何利用直通车来打造爆款?:https://www.ikjzd.com/home/106754
2020 Wish年度卖家云峰会,人、货、运的全面升级!:https://www.ikjzd.com/home/132153
2019电子营销邮件怎么做?6个小工具赶紧收藏!:https://www.ikjzd.com/home/15186

No comments:

Post a Comment