Create Anchor Text Link in a Word Processing Document uUing Open XML SDK 2.0

Description

In this blog you will see how to create Anchor Text Link in word processing document using Open XML SDK 2.0

Assembly

DocumentFormat.OpenXml.dll

Namesapces

using DocumentFormat.OpenXml;

using DocumentFormat.OpenXml.Packaging;

using DocumentFormat.OpenXml.Wordprocessing;

Code:

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using DocumentFormat.OpenXml;

using DocumentFormat.OpenXml.Packaging;

using DocumentFormat.OpenXml.Wordprocessing;

using System.IO.Packaging;

 

namespace OpenXMLConsole

{

    class Program

    {

        static void Main(string[] args)

        {        

            string path = @"E:\OpenXMLTable.docx";          

            using (WordprocessingDocument doc = WordprocessingDocument.Open(path,true))

            {

                Body body = doc.MainDocumentPart.Document.Body;

                Paragraph para = body.AppendChild(new Paragraph());

                //// Create an hyperlink

                Hyperlink hyperlink = new Hyperlink();

                //// The anchor attribute specifies that the target of the current hyperlink must be the text contained within the bookmark Description within the document

                //// If no bookmark exists in the current document with the given bookmark name, then the default behavior shall be to navigate to the start of the document

                hyperlink.Anchor = "Description";

                hyperlink.DocLocation = "";

                //// Append the hyperlink to the Paragraph

                para.AppendChild(hyperlink);

                //// Append the run to the hyperlink

                Run run = hyperlink.AppendChild(new Run());

                //// Append the text to the run

                run.AppendChild(new Text("Click on description for more details"));

                //// Save the document

                doc.MainDocumentPart.Document.Save();              

            }

        }

    }



XML:

 

<w:hyperlink w:anchor="Description">

  <w:r>

    <w:t>Click on description for more details</w:t>

  </w:r>

</w:hyperlink>