docx
    Preparing search index...

    Class EmbeddedFileRun

    Represents a file embedded in a WordprocessingML document, as Word's Insert > Object > "Create from File" embeds one: an OLE object, drawn as a picture of it, that opens the file from the document.

    An Excel workbook, Word document or PowerPoint presentation is embedded as itself, so Word opens it in its application, which can change it in the document. Any other file, such as a sound, a video or a PDF, is embedded in an OLE package, which Word for Windows opens with the application the computer opens its type with, as it does a file embedded there. Word for Mac shows it, but can't open it.

    The document shows the picture given in preview, of the file's content or an icon, until the file is opened. The object sits inline with text, in a paragraph, including in a table, header, footer or footnote.

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

    The embedded file combines several elements:

    • w:r (run container)
    • w:object (the embedded object, with its original size)
    • v:shapetype and v:shape (the picture frame it's drawn in)
    • v:imagedata (the picture)
    • o:OLEObject (the application it is for, and the part the file is in)
    new Paragraph({
    children: [
    new EmbeddedFileRun({
    fileName: "budget.xlsx",
    data: fs.readFileSync("./budget.xlsx"),
    preview: { type: "png", data: fs.readFileSync("./budget.png") },
    transformation: { width: 240, height: 120 },
    }),
    ],
    });

    Hierarchy (View Summary)

    • Run
      • EmbeddedFileRun
    Index
    • 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

    • 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);
      }