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

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

概述:在 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 项目中。您也可以通过 NuGet 安装。

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 = "https://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 = "https://www.e-iceblue.cn/";
                            }
                        }
                    }
                }
            }

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

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

获取更多信息请咨询慧都在线客服  ;技术交流Q群(767755948)


标签:

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


为你推荐

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


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP