超链接简单来讲就是内容链接,通过设置超链接可以实现对象与网页、站点之间的连接。链接目标可以是网页、图片、邮件地址、文件夹或者是应用程序。设置链接的对象可以是文本或者图片。在下面的示例中,将讲述如何通过使用类库来添加Word超链接。同理,我们也可以格式化超链接,例如,设置超链接文本颜色,下划线,链接地址等,也可以删除文档中已经存在的一些超链接,例如:页眉处的链接、正文段落中的链接、表格中的链接、图片中的链接。以上操作我们都可以通过借助下面的类库来实现。

内容要点:

  • 添加Word超链接
  • 格式化Word超链接
  • 删除Word超链接

工具使用

  • Free Spire.Doc for .NET 6.3 (社区版)

1. 添加Word超链接

1.1 添加文本链接

C#

using System;
using Spire.Doc;
using System.Drawing;
using Spire.Doc.Documents;namespace Insert_Word
{class Program{static void Main(string[] args){//创建一个Document实例并添加sectionDocument doc = new Document();Section section = doc.AddSection();//添加指向网址的超链接Paragraph para1 = section.AddParagraph();para1.AppendHyperlink("www.google.com", "www.google.com", HyperlinkType.WebLink);//添加指向邮件地址的超链接Paragraph para2 = section.AddParagraph();para2.AppendHyperlink("mailto:support@e-iceblue.com", "support@e-iceblue.com", HyperlinkType.EMailLink);//添加指向外部文件的超链接Paragraph para3 = section.AddParagraph();string filePath = @"C:\Users\Administrator\Desktop\2017NobelPrize.docx";para3.AppendHyperlink(filePath, "点击打开文档", HyperlinkType.FileLink);//设置段落之间的间距    para1.Format.AfterSpacing = 15f;para2.Format.AfterSpacing = 15f;//保存文档doc.SaveToFile("文本超链接.docx", FileFormat.Docx2013);}}
}

测试效果:

1.2 添加图片链接

C#

using System;
using Spire.Doc;
using System.Drawing;
using Spire.Doc.Documents;namespace ImageHyperlink_Word
{class Program{static void Main(string[] args){//创建一个Document实例并添加sectionDocument doc = new Document();Section section = doc.AddSection();//添加段落Paragraph para = section.AddParagraph();//添加图片到段落并插入网站链接Image image = Image.FromFile(@"C:\Users\Administrator\Desktop\images\Google.jpg");Spire.Doc.Fields.DocPicture picture = para.AppendPicture(image);para.AppendHyperlink("www.google.com", picture, HyperlinkType.WebLink);//保存文档doc.SaveToFile("图片超链接.docx", FileFormat.Docx2013);}}
}

测试效果:

2.设置超链接格式

一般情况下,对文本设置超链接都是默认的蓝色字体,带有下划线,在下面的操作中,我们可以自行设置超链接的文本字体、字号、颜色、下划线等。

C#

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;namespace FormatHyperlink
{class Program{static void Main(string[] args){//初始化一个Document类对象,并添加sectionDocument document = new Document();Section section = document.AddSection();//添加段落,并设置超链接文本和链接网址。设置字体、字号、字体颜色、下划线等。Paragraph para = section.AddParagraph();para.AppendText("HyperLink: ");TextRange txtRange = para.AppendHyperlink("www.google.com", "www.google.com", HyperlinkType.WebLink);txtRange.CharacterFormat.FontName = "Times New Roman";txtRange.CharacterFormat.FontSize = 14;txtRange.CharacterFormat.TextColor = System.Drawing.Color.Green;txtRange.CharacterFormat.UnderlineStyle = UnderlineStyle.None;//保存并打开文档document.SaveToFile("result1.docx", FileFormat.Docx2013);System.Diagnostics.Process.Start("result1.docx");}}
}

测试效果:

3. 删除超链接

下面的测试文档中,多处文档内容包含超链接,包括页眉处的文字超链接、正文段落中的文字超链接、表格中的图片超链接等,可通过下面的代码将超链接删除。

测试文档:

C#

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using Spire.Doc.Formatting;
using System.Drawing;namespace RemoveHyperlink_Doc
{class Program{static void Main(string[] args){//创建Word对象并加载文档Document document = new Document();document.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.docx");//遍历文档中所有sectionforeach (Section section in document.Sections){//删除正文里的超链接foreach (DocumentObject obj in section.Body.ChildObjects){RemoveLinks(obj, document);}//删除页眉页脚中的超链接foreach (HeaderFooter hf in section.HeadersFooters){foreach (DocumentObject hfobj in hf.ChildObjects){RemoveLinks(hfobj, document);}}}//保存文档document.SaveToFile("RemoveLinks.docx", FileFormat.Docx);System.Diagnostics.Process.Start("RemoveLinks.docx");}
//自定义方法RemoveLinks()删除段落、表格中的超链接private static void RemoveLinks(DocumentObject obj,Document document){//删除段落中的超链接RemoveLinksInPara(obj,document);//删除表格中的超链接if (obj.DocumentObjectType == DocumentObjectType.Table){foreach (TableRow row in (obj as Table).Rows){foreach (TableCell cell in row.Cells){foreach (DocumentObject cobj in cell.ChildObjects){RemoveLinksInPara(cobj,document);                                 }}}}}
//自定义方法RemoveLinksInPara()删除文档段落中的所有超链接private static void RemoveLinksInPara(DocumentObject obj,Document document)        {//遍历文档段落中所有子对象if (obj.DocumentObjectType == DocumentObjectType.Paragraph){var objs = (obj as Paragraph).ChildObjects;for (int i = 0; i < objs.Count; i++){if (objs[i].DocumentObjectType == DocumentObjectType.Field){//获取超链接域Field field = objs[i] as Field;if (field.Type == FieldType.FieldHyperlink){//获取超链接的文本或图片对象DocumentObject dObj = field.NextSibling.NextSibling as DocumentObject;//删除文本超链接,保留文本和样式if (dObj is TextRange){ //获取超链接文本样式CharacterFormat format = (dObj as TextRange).CharacterFormat;format.UnderlineStyle = UnderlineStyle.None;format.TextColor = Color.Black;//创建TextRange并把超链接的文本赋予TextRangeTextRange tr = new TextRange(document);tr.Text = field.FieldText;//应用样式tr.ApplyCharacterFormat(format);//删除文本超链接域objs.RemoveAt(i);//重新插入文本objs.Insert(i, tr);}//删除图片超链接,保留图片if (dObj is DocPicture) {//删除图片超链接域objs.RemoveAt(i);//重新插入图片objs.Insert(i, dObj);}}}}}}}
}

测试效果:

以上全部内容为本次关于“添加、格式化和删除Word文档超链接”的全部介绍。

(本文完)

C# 如何添加、格式化、删除Word超链接相关推荐

  1. java中添加文本框_Java 添加、删除Word文档中的文本框

    在Word文档中,文本框是指一种可移动.可调大小的文字或图形容器.使用文本框,能够使文档在内容和形式上更为饱满.本文将通过使用Java编程来演示如何添加.删除Word文档中的文本框. Jar文件获取及 ...

  2. C# 批量删除Word超链接

    对于Word文档中包含较多的超链接,如果一个个来删除很花费时间和精力,本篇文章将提供一种可用于批量删除Word中的超链接的方法.这里的超链接可以是页眉页脚处的超链接.正文中的超链接.表格中的超链接.文 ...

  3. java去除水印_Java添加、删除Word水印

    水印是一种常用于各种文档的声明.防伪手段.在Word文档里面,一般可设置文字水印(默认添加方式)或者加载图片作为水印(自定义水印)以及删除水印.以下内容将分享通过Java编程来实现以上Word水印操作 ...

  4. Java 添加和删除Word文档水印

    Word中水印分为文本水印和图片水印两种.文本水印可以表明当前文档的一种状态,比如草稿.保密.已认证等,图片水印则可以用于指定一个公司的logo. 这篇文章介绍如何使用Java和Free Spire. ...

  5. java word 超链接到文档内部_Java 添加、修改Word超链接

    在日常使用Word编辑文档时,有时需通过某些内容链接到其他内容,比如链接到特定的段落,图片或其他的文档,甚至是网页或邮箱地址.通过点击这些超链接,可以快速从当前文档跳转至指定的网页或打开指定的外部文件 ...

  6. Java 操作Word书签(一):添加、删除、读取书签

    Word中,书签功能常用于查找.定位.标记特定字符或段落,对于篇幅较大的文档,此功能非常实用.下面,将介绍通过Java程序来添加及删除Word书签的方法.示例要点包括: 1. 添加书签 1.1 给指定 ...

  7. java书签_Java 操作Word书签(一):添加、删除、读取书签

    Word中,书签功能常用于查找.定位.标记特定字符或段落,对于篇幅较大的文档,此功能非常实用.下面,将介绍通过Java程序来添加及删除Word书签的方法.示例要点包括: 1. 添加书签 1.1 给指定 ...

  8. word转PDF空白页的添加与删除

    word转PDF空白页的添加与删除 word转PDF空白页的添加与删除 **关于论文排版中页面设置的一些小技巧. 1:不希望用换行的方式将"第二章"的标题赶到下一页,如下图: 这样 ...

  9. java实现for文件删除_Java 添加、删除、替换、格式化Word中的文本的步骤详解(基于Spire.Cloud.SDK for Java)...

    Spire.Cloud.SDK for Java提供了TextRangesApi接口可通过addTextRange()添加文本.deleteTextRange()删除文本.updateTextRang ...

最新文章

  1. 接口设计文档_app端接口用例设计方法和测试方法(一)
  2. 解决编译twrp3.0.3遇到的问题
  3. 判断多个点在多边形内的在线算法
  4. [javaweb] servlet的生命周期 (二)
  5. OkHttp3中的代理与路由
  6. 安卓基本控件及应用总结
  7. flask-sqlalchemy分表解决方案
  8. RabbitMQ和Kafka的显著差异(5)
  9. 易班显示服务器错误,易班常见问题汇总
  10. matlab差分法解拉普拉斯方程,拉普拉斯方程有限差分法的MATLAB实现
  11. 功率放大器的性能指标
  12. 2015中国(深圳)互联网金融创新峰会暨第二届云海汇梦想年会圆满成功
  13. 在用友U8V13.0erp软件供应链管理的存货核算模块中正常单据记账后,查看存货核算的收发存汇总表时,发现存货有数量但没有结存金额,应如何调整?
  14. 牛客 | C 选择颜色
  15. vue全家桶都有哪些
  16. Cesium.js解析第一篇 Cartesian3
  17. dedecms教程:单页制作教程
  18. Excel功能及实现
  19. iOS 此时无法下载应用程序
  20. Android拦截黑名单(简易版)

热门文章

  1. iptables转发mysql_CentOS系统中使用iptables设置端口转发
  2. 【Brain】登上国际顶刊 PNAS!科学家从理论计算机出发,提出了一个意识模型——「有意识的图灵机」...
  3. Educoder–Java高级特性(第一章)- IO流【笔记+参考代码】
  4. easyUI 中datagrid 上下左右移动编辑器
  5. excel中一个表格拆分为多个表格的代码
  6. DWDM的原理及应用
  7. ubuntu上向日葵被控端连接停止问题的解决办法
  8. IOS,ANDROID,.NET通用AES加密算法
  9. asp编程工具_asp.net core 成为构建企业首选
  10. 机甲大师s1 python_大疆机甲大师S1,可视化模块编程机器人