news 2026/11/1 1:09:49

使用C#代码在 PowerPoint 演示文稿中添加超链接

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用C#代码在 PowerPoint 演示文稿中添加超链接

超链接是一种可点击的元素,通常嵌入在文本或图片中,用户可以通过它快速访问不同的网页、文档或资源。在 PowerPoint 演示文稿中添加超链接,可以让观众在查看或展示幻灯片时方便地访问相关内容,提高演示的便捷性和互动性。本文将演示如何使用Spire.Presentation for .NET在 PowerPoint 中以编程方式添加超链接。

安装 Spire.Presentation for .NET

首先,需要将Spire.Presentation for .NET包含的 DLL 文件添加到你的 .NET 项目中作为引用。这些 DLL 文件可以通过官方链接获取,也可以通过 NuGet 直接安装。

PM> Install-Package Spire.Presentation

在幻灯片文本中添加超链接

使用Spire.Presentation for .NET,可以通过TextRange.ClickAction.Address属性轻松地为幻灯片中的文本添加超链接。下面是具体步骤:

  1. 创建一个新的 PowerPoint 演示文稿。

  2. 使用Presentation.LoadFromFile()方法加载现有的 PowerPoint 文件。

  3. 通过Presentation.Slides[]属性获取第一张幻灯片。

  4. 使用ISlide.Shapes.AppendShape()方法在幻灯片上添加一个矩形形状。

  5. 删除形状中的默认段落。

  6. 创建一个TextParagraph实例,用于表示一个文本段落。

  7. 创建一个TextRange实例表示文本范围,并通过TextRange.ClickAction.Address属性设置超链接地址。

  8. 再创建一个TextRange实例,表示段落中其余的文本。

  9. 使用TextParagraph.TextRanges.Append()方法将文本范围添加到段落中。

  10. 使用IAutoShape.TextFrame.Paragraphs.Append()方法将段落添加到形状中。

  11. 遍历段落中的所有文本范围,为它们设置字体样式。

  12. 使用Presentation.SaveToFile()方法保存生成的文件。

示例代码如下:

using Spire.Presentation; using Spire.Presentation.Drawing; using System.Drawing; namespace Hyperlink { internal class Program { static void Main(string[] args) { // 创建一个 Presentation 实例 Presentation presentation = new Presentation(); // 加载 PowerPoint 文件 presentation.LoadFromFile("sample.pptx", FileFormat.Pptx2010); // 获取演示文稿的第一张幻灯片 ISlide slide = presentation.Slides[0]; // 在幻灯片上添加一个矩形形状 RectangleF rec = new RectangleF( presentation.SlideSize.Size.Width / 2 - 120, // X 坐标 200, // Y 坐标 500, // 宽度 150 // 高度 ); IAutoShape shape = slide.Shapes.AppendShape(ShapeType.Rectangle, rec); shape.Fill.FillType = FillFormatType.None; // 设置形状填充为无 shape.ShapeStyle.LineColor.Color = Color.White; // 设置边框颜色为白色 // 清除形状中的默认段落 shape.TextFrame.Paragraphs.Clear(); // 创建一个 TextParagraph 实例 TextParagraph para = new TextParagraph(); // 创建一个 TextRange 实例 TextRange tr = new TextRange("Spire.Presentation for .NET"); // 为文本范围设置超链接地址 tr.ClickAction.Address = "http://www.e-iceblue.com/Introduce/presentation-for-net-introduce.html"; // 将文本范围添加到段落中 para.TextRanges.Append(tr); // 创建另一个 TextRange 实例,用于其余文本 tr = new TextRange( "是一个专业的 PowerPoint® 兼容 API,开发者可在任意 .NET 平台上创建、读取、修改、转换及打印 PowerPoint 文档。" + "作为独立的 PowerPoint .NET API,Spire.Presentation for .NET 无需在电脑上安装 Microsoft PowerPoint。" ); // 将文本范围添加到段落中 para.TextRanges.Append(tr); // 将段落添加到形状中 shape.TextFrame.Paragraphs.Append(para); // 遍历形状中的所有段落 foreach (TextParagraph textPara in shape.TextFrame.Paragraphs) { if (!string.IsNullOrEmpty(textPara.Text)) { // 遍历每个段落中的文本范围 foreach (TextRange textRange in textPara.TextRanges) { // 设置字体样式 textRange.LatinFont = new TextFont("Calibri"); // 字体 textRange.FontHeight = 24; // 字号 textRange.Fill.FillType = FillFormatType.Solid; // 实心填充 textRange.Fill.SolidColor.Color = Color.Black; // 文字颜色 } } } // 保存演示文稿 presentation.SaveToFile("TextHyperlink.pptx", FileFormat.Pptx2013); presentation.Dispose(); } } }

在幻灯片图片中添加超链接

使用Spire.Presentation for .NET,你也可以为幻灯片中的图片添加超链接。只需创建一个ClickHyperlink对象,然后通过图片的IEmbedImage.Click属性将超链接添加到图片上,即可实现点击图片跳转到指定网页或资源。

示例代码如下:

using Spire.Presentation; using System.Drawing; namespace ImageHyperlink { class Program { static void Main(string[] args) { // 初始化 Presentation 类对象 Presentation presentation = new Presentation(); // 加载 PowerPoint 文件 presentation.LoadFromFile("TextHyperlink.pptx", FileFormat.Pptx2010); // 获取演示文稿的第二张幻灯片 ISlide slide = presentation.Slides[1]; // 在幻灯片上添加图片 RectangleF rect = new RectangleF(100, 50, 150, 150); // 设置图片位置和大小 IEmbedImage image = slide.Shapes.AppendEmbedImage(ShapeType.Rectangle, @"logo.png", rect); // 为图片添加超链接 ClickHyperlink hyperlink = new ClickHyperlink("http://www.e-iceblue.com/Introduce/presentation-for-net-introduce.html"); image.Click = hyperlink; // 保存生成的演示文稿 presentation.SaveToFile("ImageHyperlink.pptx", FileFormat.Pptx2010); presentation.Dispose(); } } }

申请临时许可证

如果您希望移除生成文档中的评估提示,或解除功能限制,请为自己申请 30 天试用许可证。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/30 23:52:12

新手必学:UV 展开基础与松弛工具使用方法

在3D建模流程中,UV展开是连接三维模型与二维纹理的关键环节,如同给模型“裁剪布料”,直接决定纹理贴图的贴合效果。对新手而言,掌握UV展开基础与松弛工具的使用,能有效避免纹理拉伸、扭曲等常见问题,为后续…

作者头像 李华
网站建设 2026/10/30 23:50:46

3步掌握的LaTeX模板高效排版指南:从安装到定稿的零障碍流程

3步掌握的LaTeX模板高效排版指南:从安装到定稿的零障碍流程 【免费下载链接】ECNU-Undergraduate-LaTeX 华东师范大学本科毕业论文模板(不再维护) 项目地址: https://gitcode.com/gh_mirrors/ec/ECNU-Undergraduate-LaTeX 一、核心价值…

作者头像 李华
网站建设 2026/10/31 0:26:02

Claude与RMBG-2.0协作:多模态AI处理流程设计

Claude与RMBG-2.0协作:多模态AI处理流程设计 1. 当电商运营遇到图片处理瓶颈 上周帮朋友看一个新上架的宠物用品店铺,他发来十几张商品图让我提建议。第一眼就发现所有图片背景都不统一——有的在阳台拍的,有的在厨房台面,还有几…

作者头像 李华
网站建设 2026/10/31 0:26:03

5大场景落地实时降噪:开发者必备的RNNoise全栈指南

5大场景落地实时降噪:开发者必备的RNNoise全栈指南 【免费下载链接】rnnoise Recurrent neural network for audio noise reduction 项目地址: https://gitcode.com/gh_mirrors/rn/rnnoise 问题象限:音频降噪的技术困境与突破方向 1.1 现代音频场…

作者头像 李华
网站建设 2026/10/31 0:25:05

DeepAnalyze效果展示:多语言文本处理能力实测

DeepAnalyze效果展示:多语言文本处理能力实测 1. 引言 在全球化时代,多语言文本处理能力已成为AI模型的核心竞争力。DeepAnalyze作为一款面向数据科学的Agentic大模型,不仅在数据分析领域表现出色,其多语言文本处理能力同样令人…

作者头像 李华