彩票走势图

Spire.Doc系列教程(26):添加和删除word超链接

翻译|使用教程|编辑:李显亮|2019-07-25 10:11:41.470|阅读 562 次

概述:Spire.Doc for .NET是一个专业的Word .NET库,设计用于帮助开发人员高效地开发创建、阅读、编写、转换和打印任何来自.NET平台的Word文档文件的功能。本篇文章介绍了如何添加和删除word中的超链接。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

更多资源查看:Spire.XLS工作表教程 | Spire.Doc系列教程 | Spire.PDF系列教程

【下载Spire.Doc最新试用版】


Spire.Doc for .NET是一个专业的Word .NET库,设计用于帮助开发人员高效地开发创建、阅读、编写、转换和打印任何来自.NET( C#, VB.NET, ASP.NET)平台的Word文档文件的功能。

本系列教程将为大家带来Spire.Doc for .NET在使用过程中的各类实际操作,本篇文章介绍了如何添加和删除word中的超链接。

超链接指的是在Word文本或者图片中插入能跳转到其他位置或对象的链接,常见的超链接可以链接到网址、电子邮箱地址、外部文件和书签。


C# 添加 Word 超链接

添加文本超链接

//创建一个Document实例并添加section
Document doc = new Document();
Section section = doc.AddSection();

//添加指向网址的超链接
Paragraph para1 = section.AddParagraph();
para1.AppendHyperlink("www.e-iceblue.com", "www.e-iceblue.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\月销售统计表.xls";
para3.AppendHyperlink(filePath, "点击此处打开另一个文档",HyperlinkType.FileLink);

//设置段落之间的间距
para1.Format.AfterSpacing = 15f;
para2.Format.AfterSpacing = 15f;

//保存文档
doc.SaveToFile("文本超链接.docx", FileFormat.Docx2013);

spire.DOC教程——添加删除超链接

添加图片超链接

//创建一个Document实例并添加section
Document doc = new Document();
Section section = doc.AddSection();

//添加段落
Paragraph para = section.AddParagraph();

//添加图片到段落并插入网站链接
Image image = Image.FromFile(@"C:\Users\Administrator\Desktop\logo.png");
Spire.Doc.Fields.DocPicture picture = para.AppendPicture(image);
para.AppendHyperlink("www.e-iceblue.com", picture, HyperlinkType.WebLink);

//保存文档
doc.SaveToFile("图片超链接.docx", FileFormat.Docx2013);

spire.DOC教程——添加删除超链接

格式化文本超链接

默认状态下,超文本链接通常显示为蓝色带下划线。为了让超链接更醒目,我们也可以更改超链接的显示形式,例如去掉下划线、改变文本颜色、设置字体大小。

//创建一个Document实例并添加section
Document doc = new Document();
Section section = doc.AddSection();

//添加段落
Paragraph para = section.AddParagraph();

//添加超链接到段落并返回到一个TextRange对象
TextRange txtRange = para.AppendHyperlink("www.e-iceblue.com", "WWW.E-ICEBLUE.COM", HyperlinkType.WebLink);

//在TextRange中设置字体名字、大小、颜色、样式
txtRange.CharacterFormat.FontName = "黑体";
txtRange.CharacterFormat.TextColor = Color.Purple;
txtRange.CharacterFormat.FontSize = 15;
txtRange.CharacterFormat.Bold = true;
txtRange.CharacterFormat.UnderlineStyle = UnderlineStyle.None;

//保存文档
doc.SaveToFile("格式化超链接.docx", FileFormat.Docx2013);

spire.DOC教程——添加删除超链接


C# 删除 Word 超链接

源文档:

spire.DOC教程——添加删除超链接

//创建Word对象并加载文档
Document document = new Document();
document.LoadFromFile(@"hyperlinks.docx");

foreach (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);
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);                                 
                }
            }
        }
    }
}

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并把超链接的文本赋给它
                        TextRange 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);
                    }
                }
            }
        }
    }
}

结果

spire.DOC教程——添加删除超链接


*购买Spire.Doc正版授权的朋友可以点击哦~~



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP