• <menu id="w2i4a"></menu>
  • logo Spire.Doc系列教程

    文檔首頁(yè)>>Spire.Doc系列教程>>Spire.Doc系列教程(26):添加和刪除word超鏈接

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


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

    【下載Spire.Doc最新試用版】


    Spire.Doc for .NET是一個(gè)專(zhuān)業(yè)的Word .NET庫(kù),設(shè)計(jì)用于幫助開(kāi)發(fā)人員高效地開(kāi)發(fā)創(chuàng)建、閱讀、編寫(xiě)、轉(zhuǎn)換和打印任何來(lái)自.NET( C#, VB.NET, ASP.NET)平臺(tái)的Word文檔文件的功能。

    本系列教程將為大家?guī)?lái)Spire.Doc for .NET在使用過(guò)程中的各類(lèi)實(shí)際操作,本篇文章介紹了如何添加和刪除word中的超鏈接。

    超鏈接指的是在Word文本或者圖片中插入能跳轉(zhuǎn)到其他位置或?qū)ο蟮逆溄?,常?jiàn)的超鏈接可以鏈接到網(wǎng)址、電子郵箱地址、外部文件和書(shū)簽。


    C# 添加 Word 超鏈接

    添加文本超鏈接

    //創(chuàng)建一個(gè)Document實(shí)例并添加section
    Document doc = new Document();
    Section section = doc.AddSection();
    
    //添加指向網(wǎng)址的超鏈接
    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\月銷(xiāo)售統(tǒng)計(jì)表.xls";
    para3.AppendHyperlink(filePath, "點(diǎn)擊此處打開(kāi)另一個(gè)文檔",HyperlinkType.FileLink);
    
    //設(shè)置段落之間的間距
    para1.Format.AfterSpacing = 15f;
    para2.Format.AfterSpacing = 15f;
    
    //保存文檔
    doc.SaveToFile("文本超鏈接.docx", FileFormat.Docx2013);

    spire.DOC教程——添加刪除超鏈接

    添加圖片超鏈接

    //創(chuàng)建一個(gè)Document實(shí)例并添加section
    Document doc = new Document();
    Section section = doc.AddSection();
    
    //添加段落
    Paragraph para = section.AddParagraph();
    
    //添加圖片到段落并插入網(wǎng)站鏈接
    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教程——添加刪除超鏈接

    格式化文本超鏈接

    默認(rèn)狀態(tài)下,超文本鏈接通常顯示為藍(lán)色帶下劃線。為了讓超鏈接更醒目,我們也可以更改超鏈接的顯示形式,例如去掉下劃線、改變文本顏色、設(shè)置字體大小。

    //創(chuàng)建一個(gè)Document實(shí)例并添加section
    Document doc = new Document();
    Section section = doc.AddSection();
    
    //添加段落
    Paragraph para = section.AddParagraph();
    
    //添加超鏈接到段落并返回到一個(gè)TextRange對(duì)象
    TextRange txtRange = para.AppendHyperlink("www.e-iceblue.com", "WWW.E-ICEBLUE.COM", HyperlinkType.WebLink);
    
    //在TextRange中設(shè)置字體名字、大小、顏色、樣式
    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教程——添加刪除超鏈接

    //創(chuàng)建Word對(duì)象并加載文檔
    Document document = new Document();
    document.LoadFromFile(@"hyperlinks.docx");
    
    foreach (Section section in document.Sections)
    {
        //刪除正文里的超鏈接
        foreach (DocumentObject obj in section.Body.ChildObjects)
        {
            RemoveLinks(obj,document);
        }
    
        //刪除頁(yè)眉頁(yè)腳中的超鏈接
        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)
                    {
                        //獲取超鏈的文本或圖片對(duì)象
                        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;
                            //創(chuàng)建TextRange并把超鏈接的文本賦給它
                            TextRange tr = new TextRange(document);
                            tr.Text = field.FieldText;
                            //應(yīng)用樣式
                            tr.ApplyCharacterFormat(format);
                            //刪除文本超鏈接域
                            objs.RemoveAt(i);
                            //重新插入文本
                            objs.Insert(i, tr);
                        }
                        //刪除圖片超鏈接,保留圖片
                        if (dObj is DocPicture) 
                        {
                            //刪除圖片超鏈接域
                            objs.RemoveAt(i);
                            //重新插入圖片
                            objs.Insert(i, dObj);
                        }
                    }
                }
            }
        }
    }

    結(jié)果

    spire.DOC教程——添加刪除超鏈接


    *購(gòu)買(mǎi)Spire.Doc正版授權(quán)的朋友可以點(diǎn)擊"咨詢(xún)?cè)诰€客服"哦~~


    掃碼咨詢(xún)


    添加微信 立即咨詢(xún)

    電話咨詢(xún)

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();