docx
    Preparing search index...

    Class InternalHyperlink

    Represents an internal hyperlink to a bookmark within the document.

    Internal hyperlinks use the anchor attribute to reference a bookmark by name. The bookmark must exist in the document for the hyperlink to function.

    Reference: http://officeopenxml.com/WPhyperlink.php

    <xsd:element name="hyperlink" type="CT_Hyperlink"/>

    <xsd:complexType name="CT_Hyperlink">
    <xsd:group ref="EG_PContent" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:attribute name="anchor" type="s:ST_String" use="optional"/>
    <xsd:attribute name="history" type="s:ST_OnOff" use="optional"/>
    </xsd:complexType>
    // Create a bookmark
    new Bookmark({
    id: "section1",
    children: [new TextRun("Section 1")],
    });

    // Link to the bookmark
    new InternalHyperlink({
    children: [new TextRun({ text: "Go to Section 1", style: "Hyperlink" })],
    anchor: "section1",
    });

    Hierarchy (View Summary)

    Index
    linkId: string
    • get writtenAs(): readonly BaseXmlComponent[] | undefined
      Internal

      The components written in this one's place, one after another, when it can't be written as a single element, such as a run with another run in its children. Undefined when it is written as itself.

      Returns readonly BaseXmlComponent[] | undefined

    • Creates the a:hlinkClick of a picture in the hyperlink, which links to the same address.

      The hyperlink decides which relationship its pictures use, rather than the pictures reading linkId, because only it knows whether that relationship has lost the fragment to w:anchor. The picture's relationship is added as the picture is written, through the context's relationships, so it lands in the part the picture is in, both when packing and when patching.

      Parameters

      • context: IContext

        The context the picture is written in, whose relationships get the picture's link if it has its own

      • declareNamespace: boolean

        Declares the DrawingML namespace, for elements outside a:graphic such as wp:docPr

      Returns XmlComponent

    • Prepares this component and its children for XML serialization.

      This method is called by the Formatter to convert the component tree into an object structure compatible with the xml library (https://www.npmjs.com/package/xml). It recursively processes all children and handles special cases like attribute-only elements and empty elements.

      The method can be overridden by subclasses to customize XML representation or execute side effects during serialization (e.g., creating relationships).

      Parameters

      • context: IContext

        The serialization context containing document state

      Returns IXmlableObject | undefined

      The XML-serializable object, or undefined to exclude from output

      // Override to add custom serialization logic
      prepForXml(context: IContext): IXmlableObject | undefined {
      // Custom logic here
      return super.prepForXml(context);
      }