-
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.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水印的方法可参考以下相关文章:
- 添加单一水印效果:C# 添加文本和图片水印到PPT
- 删除水印效果:C# 删除PPT中的水印出息
出处:https://www.cnblogs.com/Yesi/p/14463461.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数