超链接简单来讲就是内容链接,通过设置超链接可以实现对象与网页、站点之间的连接。链接目标可以是网页、图片、邮件地址、文件夹或者是应用程序。设置链接的对象可以是文本或者图片。在下面的示例中,将讲述如何通过使用类库来添加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. android ui 最新教程,Android更新UI的五种方式,androidui五种
  2. Spark学习之路 (二十二)SparkStreaming的官方文档
  3. 备份ad_IT管理公开课——备份恢复解决方案
  4. NOIP2017(不算是题解)
  5. python showinfo 方法_Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)
  6. js数组的sort排序(获取中位数)
  7. 保存div与页面滚动条的位置
  8. list mybatis批量保存_如何实现mybatis批量将list数据插入到数据库
  9. 完美企业网站的101项指标
  10. TCP/IP学习 1.2 IP包头(2)
  11. Windows 硬盘分区整数大小计算
  12. html手机表白弹窗,怎么制作抖音弹窗表白代码 制作抖音弹窗表白代码的教程
  13. 华为手机的拨号键有大用处,不仅能用来打电话,还有4个隐藏功能
  14. jmeter.results.shanhe.me.xsl
  15. 菜鸟使用RedHat Linux9.0极品笑话
  16. 如何理解泊松分布和泊松过程
  17. Android中的占位符
  18. ggplot2-数据关系型图表
  19. arduino图形化编程mind+结合A4899驱动步进电机
  20. 2014苹果全球开发者大会:新系统成主角 无硬件发布

热门文章

  1. 内部灵活用工有望成为中国劳动力的源头活水
  2. 8月28日服务器例行维护公告,2008年8月28日维护公告
  3. 邮件审批工作流实现方案
  4. 【Linux】Linux运维必知必会的网络基础一
  5. 仓库管理员怎样做台账_做一名纺织人,需要怎样的自我修养?
  6. 超简单:mac导出微信聊天记录(附上粉丝群全部聊天记录)
  7. 应广单片机型号PMS132B/150G/C/PMS152/PMS171B/PMS154C/PMS134/PMS164/PMS161/PFC161
  8. 基于迁移学习的 PyTorch 狗狗分类器
  9. ggplot 画图出现 Discrete value supplied to continuous scale
  10. css 文字超出部分自动加省略号