半岛权威十大直营(官方)网站

文档处理控件Spire.Doc系列教程:C# 修改 Word 文档中图片和形状的超链接

翻译|使用教程|编辑:吉炜炜|2025-01-23 11:45:06.637|阅读 14 次

概述:在 Word 文档中,图片和形状可以添加超链接,用于跳转到外部网站、文件,或文档中的特定位置。这篇文章将介绍如何使用 Spire.Doc for .NET 在 C# 中以编程方式修改 Word 文档中图片和形状的超链接。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

相关链接:

在 Word 文档中,图片和形状可以添加超链接,用于跳转到外部网站、文件,或文档中的特定位置。然而,随着外部资源的变动或文档结构的调整,超链接指向的目标地址或文件路径可能会发生变化。这种情况下,如果不及时更新超链接,可能会导致链接失效,进而影响文档的正常使用和用户体验。这篇文章将介绍如何使用 Spire.Doc for .NET 在 C# 中以编程方式修改 Word 文档中图片和形状的超链接。

安装 Spire.Doc for .NET

 首先,您需要将 Spire.Doc for.NET 包含的 DLL 文件作为引用添加到您的 .NET 项目中。您也可以通过  安装。

PM> Install-Package Spire.Doc

C# 修改 Word 中图片的超链接

Spire.Doc for .NET 提供了 DocPicture.HasHyperlink 属性,用于检测图片是否包含超链接。一旦检测到超链接,可以通过 DocPicture.HRef 属性来更新或修改超链接。详细步骤如下:

  • 创建 Document 类的实例。
  • 使用 Document.LoadFromFile() 方法加载 Word 文档。
  • 遍历文档中的所有节、段落和段落中的子对象。
  • 检查对象是否为 DocPicture 类型(即图片)。
  • 使用 DocPicture.HasHyperlink 属性检查图片是否包含超链接。
  • 使用 DocPicture.HRef 属性修改超链接内容(若需删除超链接,将其值设为空)。
  • 使用 Document.SaveToFile() 方法保存修改后的文档。
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;

namespace UpdateHyperlinkForImage
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 创建 Document 类的实例
            Document doc = new Document();
            // 加载 Word 文档
            doc.LoadFromFile("示例1.docx");

            // 遍历文档中的所有节
            foreach (Section section in doc.Sections)
            {
                // 遍历节中的所有段落
                foreach (Paragraph paragraph in section.Paragraphs)
                {
                    // 遍历段落中的所有子对象
                    foreach (DocumentObject documentObject in paragraph.ChildObjects)
                    {
                        // 检查子对象是否为 DocPicture 类型
                        if (documentObject is DocPicture)
                        {
                            DocPicture pic = documentObject as DocPicture;

                            // 检查该图片是否包含超链接
                            if (pic.HasHyperlink)
                            {
                                // 更新图片超链接(若需删除超链接,将值设置为空)
                                pic.HRef = "//www.e-iceblue.cn/";
                            }
                        }
                    }
                }
            }

            // 保存修改后的文档到指定路径
            doc.SaveToFile("修改图片超链接.docx", FileFormat.Docx2016);
            // 关闭文档,释放资源
            doc.Close();
        }
    }
}
C# 修改 Word 中图片的超链接


C# 修改 Word 中形状的超链接

与修改图片超链接类似,你可以使用 ShapeObject.HasHyperlink 属性检测形状是否包含超链接,并通过 ShapeObject.HRef 属性更新或修改超链接。详细步骤如下:

  • 创建 Document 类的实例。
  • 使用 Document.LoadFromFile() 方法加载 Word 文档。
  • 遍历文档中的所有节、段落和段落中的子对象。
  • 检查对象是否为 ShapeObject 类型(即形状)。
  • 使用 ShapeObject.HasHyperlink 属性检查形状是否包含超链接。
  • 使用 ShapeObject.HRef 属性修改超链接内容(若需删除超链接,将其值设为空)。
  • 使用 Document.SaveToFile() 方法保存修改后的文档。
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;

namespace UpdateHyperlinkForShape
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 创建 Document 类的实例
            Document doc = new Document();
            // 加载 Word 文档
            doc.LoadFromFile("示例2.docx");

            // 遍历文档中的所有节
            foreach (Section section in doc.Sections)
            {
                // 遍历节中的所有段落
                foreach (Paragraph paragraph in section.Paragraphs)
                {
                    // 遍历段落中的所有子对象
                    foreach (DocumentObject documentObject in paragraph.ChildObjects)
                    {
                        // 检查子对象是否为 ShapeObject 类型
                        if (documentObject is ShapeObject)
                        {
                            ShapeObject shape = documentObject as ShapeObject;

                            // 检查该形状是否包含超链接
                            if (shape.HasHyperlink)
                            {
                                // 更新形状超链接(若需删除超链接,将值设置为空)
                                shape.HRef = "//www.e-iceblue.cn/";
                            }
                        }
                    }
                }
            }

            // 保存修改后的文档到指定路径
            doc.SaveToFile("修改形状超链接.docx", FileFormat.Docx2016);
            // 关闭文档,释放资源
            doc.Close();
        }
    }
}
C# 修改 Word 中形状的超链接

欢迎下载|体验更多E-iceblue产品

获取更多信息请咨询  ;技术交流Q群(767755948)


标签:

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


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关产品
Spire.Doc for .NET

Spire.Doc for .NET 是一款专门对 Word 文档进行操作的 .NET 类库。

Spire.DocViewer for .NET

强大的Word查看器,可以轻松实现Word文档显示、转换、交互

Spire.Doc for Silverlight

Spire.Doc for Silverlight是一款在Silverlight平台上操作的MS Word组件,让用户可以执行基本的文字处理任务。

Spire.Doc for Java

Spire.Doc for Java是Java Word组件,具有生成、读取、转换Word文档等功能

Spire.Doc for Python

Spire.Doc for Python是专为开发人员设计的专业 Word Python API

title
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP