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

2023-10-28 18:40

本文主要是介绍C# 在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.FormsNamespace TextWatermark2Class ProgramPrivate 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 = 50Dim y As Single = 80For i As Integer = 0 To 3For 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.Noneshape.ShapeStyle.LineColor.Color = Color.Whiteshape.Rotation = -45shape.Locking.SelectionProtection = Trueshape.Line.FillType = FillFormatType.Noneshape.TextFrame.Text = watermarkTextDim textRange As TextRange = shape.TextFrame.TextRangetextRange.Fill.FillType = FillFormatType.SolidtextRange.Fill.SolidColor.Color = Color.FromArgb(120, Color.HotPink)textRange.EastAsianFont = New TextFont(font.Name)textRange.FontHeight = font.Sizex += (100 + size.Width)Nextx = 30y += (100 + size.Height)Next'保存文档ppt.SaveToFile("TextWatermark.pptx", FileFormat.Pptx2013)System.Diagnostics.Process.Start("TextWatermark.pptx")End SubEnd Class
End Namespace

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

 

 

(本文完)

转载请注明出处!

 

这篇关于C# 在PPT中添加多行(平铺)文本水印效果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/295189

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

C#数据结构之字符串(string)详解

《C#数据结构之字符串(string)详解》:本文主要介绍C#数据结构之字符串(string),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录转义字符序列字符串的创建字符串的声明null字符串与空字符串重复单字符字符串的构造字符串的属性和常用方法属性常用方法总结摘

C#如何动态创建Label,及动态label事件

《C#如何动态创建Label,及动态label事件》:本文主要介绍C#如何动态创建Label,及动态label事件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#如何动态创建Label,及动态label事件第一点:switch中的生成我们的label事件接着,

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

在C#中调用Python代码的两种实现方式

《在C#中调用Python代码的两种实现方式》:本文主要介绍在C#中调用Python代码的两种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#调用python代码的方式1. 使用 Python.NET2. 使用外部进程调用 Python 脚本总结C#调

C#中的 StreamReader/StreamWriter 使用示例详解

《C#中的StreamReader/StreamWriter使用示例详解》在C#开发中,StreamReader和StreamWriter是处理文本文件的核心类,属于System.IO命名空间,本... 目录前言一、什么是 StreamReader 和 StreamWriter?1. 定义2. 特点3. 用