C#實(shí)現(xiàn)代碼在PowerPoint演示文稿中添加超鏈接
超鏈接是一種可點(diǎn)擊的元素,通常嵌入在文本或圖片中,用戶可以通過(guò)它快速訪問(wèn)不同的網(wǎng)頁(yè)、文檔或資源。在 PowerPoint 演示文稿中添加超鏈接,可以讓觀眾在查看或展示幻燈片時(shí)方便地訪問(wèn)相關(guān)內(nèi)容,提高演示的便捷性和互動(dòng)性。本文將演示如何使用 Spire.Presentation for .NET 在 PowerPoint 中以編程方式添加超鏈接。
安裝 Spire.Presentation for .NET
首先,需要將 Spire.Presentation for .NET 包含的 DLL 文件添加到你的 .NET 項(xiàng)目中作為引用。這些 DLL 文件可以通過(guò)官方鏈接獲取,也可以通過(guò) NuGet 直接安裝。
PM> Install-Package Spire.Presentation
在幻燈片文本中添加超鏈接
使用 Spire.Presentation for .NET,可以通過(guò) TextRange.ClickAction.Address 屬性輕松地為幻燈片中的文本添加超鏈接。下面是具體步驟:
- 創(chuàng)建一個(gè)新的 PowerPoint 演示文稿。
- 使用
Presentation.LoadFromFile()方法加載現(xiàn)有的 PowerPoint 文件。 - 通過(guò)
Presentation.Slides[]屬性獲取第一張幻燈片。 - 使用
ISlide.Shapes.AppendShape()方法在幻燈片上添加一個(gè)矩形形狀。 - 刪除形狀中的默認(rèn)段落。
- 創(chuàng)建一個(gè)
TextParagraph實(shí)例,用于表示一個(gè)文本段落。 - 創(chuàng)建一個(gè)
TextRange實(shí)例表示文本范圍,并通過(guò)TextRange.ClickAction.Address屬性設(shè)置超鏈接地址。 - 再創(chuàng)建一個(gè)
TextRange實(shí)例,表示段落中其余的文本。 - 使用
TextParagraph.TextRanges.Append()方法將文本范圍添加到段落中。 - 使用
IAutoShape.TextFrame.Paragraphs.Append()方法將段落添加到形狀中。 - 遍歷段落中的所有文本范圍,為它們?cè)O(shè)置字體樣式。
- 使用
Presentation.SaveToFile()方法保存生成的文件。
示例代碼如下:
using Spire.Presentation;
using Spire.Presentation.Drawing;
using System.Drawing;
namespace Hyperlink
{
internal class Program
{
static void Main(string[] args)
{
// 創(chuàng)建一個(gè) Presentation 實(shí)例
Presentation presentation = new Presentation();
// 加載 PowerPoint 文件
presentation.LoadFromFile("sample.pptx", FileFormat.Pptx2010);
// 獲取演示文稿的第一張幻燈片
ISlide slide = presentation.Slides[0];
// 在幻燈片上添加一個(gè)矩形形狀
RectangleF rec = new RectangleF(
presentation.SlideSize.Size.Width / 2 - 120, // X 坐標(biāo)
200, // Y 坐標(biāo)
500, // 寬度
150 // 高度
);
IAutoShape shape = slide.Shapes.AppendShape(ShapeType.Rectangle, rec);
shape.Fill.FillType = FillFormatType.None; // 設(shè)置形狀填充為無(wú)
shape.ShapeStyle.LineColor.Color = Color.White; // 設(shè)置邊框顏色為白色
// 清除形狀中的默認(rèn)段落
shape.TextFrame.Paragraphs.Clear();
// 創(chuàng)建一個(gè) TextParagraph 實(shí)例
TextParagraph para = new TextParagraph();
// 創(chuàng)建一個(gè) TextRange 實(shí)例
TextRange tr = new TextRange("Spire.Presentation for .NET");
// 為文本范圍設(shè)置超鏈接地址
tr.ClickAction.Address = "http://www.e-iceblue.com/Introduce/presentation-for-net-introduce.html";
// 將文本范圍添加到段落中
para.TextRanges.Append(tr);
// 創(chuàng)建另一個(gè) TextRange 實(shí)例,用于其余文本
tr = new TextRange(
"是一個(gè)專業(yè)的 PowerPoint? 兼容 API,開(kāi)發(fā)者可在任意 .NET 平臺(tái)上創(chuàng)建、讀取、修改、轉(zhuǎn)換及打印 PowerPoint 文檔。" +
"作為獨(dú)立的 PowerPoint .NET API,Spire.Presentation for .NET 無(wú)需在電腦上安裝 Microsoft PowerPoint。"
);
// 將文本范圍添加到段落中
para.TextRanges.Append(tr);
// 將段落添加到形狀中
shape.TextFrame.Paragraphs.Append(para);
// 遍歷形狀中的所有段落
foreach (TextParagraph textPara in shape.TextFrame.Paragraphs)
{
if (!string.IsNullOrEmpty(textPara.Text))
{
// 遍歷每個(gè)段落中的文本范圍
foreach (TextRange textRange in textPara.TextRanges)
{
// 設(shè)置字體樣式
textRange.LatinFont = new TextFont("Calibri"); // 字體
textRange.FontHeight = 24; // 字號(hào)
textRange.Fill.FillType = FillFormatType.Solid; // 實(shí)心填充
textRange.Fill.SolidColor.Color = Color.Black; // 文字顏色
}
}
}
// 保存演示文稿
presentation.SaveToFile("TextHyperlink.pptx", FileFormat.Pptx2013);
presentation.Dispose();
}
}
}在幻燈片圖片中添加超鏈接
使用 Spire.Presentation for .NET,你也可以為幻燈片中的圖片添加超鏈接。只需創(chuàng)建一個(gè) ClickHyperlink 對(duì)象,然后通過(guò)圖片的 IEmbedImage.Click 屬性將超鏈接添加到圖片上,即可實(shí)現(xiàn)點(diǎn)擊圖片跳轉(zhuǎn)到指定網(wǎng)頁(yè)或資源。
示例代碼如下:
using Spire.Presentation;
using System.Drawing;
namespace ImageHyperlink
{
class Program
{
static void Main(string[] args)
{
// 初始化 Presentation 類對(duì)象
Presentation presentation = new Presentation();
// 加載 PowerPoint 文件
presentation.LoadFromFile("TextHyperlink.pptx", FileFormat.Pptx2010);
// 獲取演示文稿的第二張幻燈片
ISlide slide = presentation.Slides[1];
// 在幻燈片上添加圖片
RectangleF rect = new RectangleF(100, 50, 150, 150); // 設(shè)置圖片位置和大小
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();
}
}
}到此這篇關(guān)于C#實(shí)現(xiàn)代碼在PowerPoint演示文稿中添加超鏈接的文章就介紹到這了,更多相關(guān)C# PowerPoint添加超鏈接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
winform c#中子窗體關(guān)閉刷新父窗體的實(shí)例
下面小編就為大家?guī)?lái)一篇winform c#中子窗體關(guān)閉刷新父窗體的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
C#函數(shù)式編程中的遞歸調(diào)用之尾遞歸詳解
這篇文章主要介紹了C#函數(shù)式編程中的遞歸調(diào)用詳解,本文講解了什么是尾遞歸、尾遞歸的多種方式、尾遞歸的代碼實(shí)例等內(nèi)容,需要的朋友可以參考下2015-01-01
C#使用 NAudio 實(shí)現(xiàn)音頻可視化的方法
這篇文章主要介紹了[C#] 使用 NAudio 實(shí)現(xiàn)音頻可視化的相關(guān)資料,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05
C#中動(dòng)態(tài)數(shù)組用法實(shí)例
這篇文章主要介紹了C#中動(dòng)態(tài)數(shù)組用法,實(shí)例分析了C#中ArrayList實(shí)現(xiàn)動(dòng)態(tài)數(shù)組的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
C#中GraphicsPath的AddString方法用法實(shí)例
這篇文章主要介紹了C#中GraphicsPath的AddString方法用法,實(shí)例分析了AddString方法添加字符串的相關(guān)使用技巧,需要的朋友可以參考下2015-06-06
C#中一個(gè)高性能異步socket封裝庫(kù)的實(shí)現(xiàn)思路分享
下面小編就為大家分享一篇C#中一個(gè)高性能異步socket封裝庫(kù)的實(shí)現(xiàn)思路,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
C#實(shí)現(xiàn)統(tǒng)計(jì)100以內(nèi)所有素?cái)?shù)的個(gè)數(shù)
這篇文章介紹了C#實(shí)現(xiàn)統(tǒng)計(jì)100以內(nèi)所有素?cái)?shù)個(gè)數(shù)的方法,文中注釋非常詳細(xì),很適合新手學(xué)習(xí)。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-11-11
Quartz.Net任務(wù)和觸發(fā)器實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Quartz.Net任務(wù)和觸發(fā)器實(shí)現(xiàn)方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12

