轉(zhuǎn)帖|使用教程|編輯:黃竹雯|2019-05-22 10:14:27.490|閱讀 291 次
概述:超鏈接指的是在Word文本或者圖片中插入能跳轉(zhuǎn)到其他位置或?qū)ο?的鏈接,常見的超鏈接可以鏈接到網(wǎng)址、電子郵箱地址、外部文件和書簽。本文將介紹如何使用Spire.Doc刪除文本超鏈接和圖片超鏈接,并保留原來的文本和圖片。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
更多資源查看:Spire.Doc文本教程 | Spire.XLS圖表系列教程 | Spire.PDF系列教程
超鏈接指的是在Word文本或者圖片中插入能跳轉(zhuǎn)到其他位置或?qū)ο蟮逆溄?,常見的超鏈接可以鏈接到網(wǎng)址、電子郵箱地址、外部文件和書簽。本文將介紹如何使用Spire.Doc刪除文本超鏈接和圖片超鏈接,并保留原來的文本和圖片。
源文檔:
//創(chuàng)建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; //創(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é)果:
如果你有任何問題或意見,請?jiān)谙路皆u論區(qū)留言~
想要購買正版授權(quán),或者獲取更多Spire.XLS相關(guān)信息的朋友可以點(diǎn)擊" "~
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn