Search Results for

    Show / Hide Table of Contents

    Interface IDrawContainer

    Represents a container that can hold drawings such as images and shapes.

    Namespace: IronWord.Models.Abstract.Interfaces
    Assembly: IronWord.dll
    Syntax
    public interface IDrawContainer

    IDrawContainer is the contract you reach through whenever a part of a Word document needs to hold pictures and drawn shapes. It is what lets the same drawing calls work on a paragraph, a run, or a whole section, so code that places a logo or a callout box does not care which element it is writing into. Anything that draws is confused with the text-only ITextContainer; a draw container handles images and shapes, while a text container handles runs and strings.

    A developer rarely names this interface directly. You receive it through the concrete types that implement it: Paragraph, Run, and DocumentSection all satisfy IDrawContainer, so you obtain one simply by holding a paragraph or section and calling its drawing methods. The interface belongs to the build-and-edit stage of the render workflow, after the document is open and before it is saved, at the point where visual content is added alongside the words.

    The everyday members are AddImage and AddShape, both of which return the created content so you can position or style it. AddImage has four overloads, accepting an AnyBitmap, an existing ImageContent, a Stream, or a file-path string, and each returns an ImageContent. AddShape takes a ShapeContent and returns it. To read drawings back out, ExtractImages returns a List<ImageContent> and ExtractShapes returns a List<ShapeContent>, which is how you audit or relocate the visuals already in a container.

    IDrawContainer container = paragraph;
    ImageContent logo = container.AddImage("logo.png");

    The add image how-to walks through placing a picture, and the extract images how-to pulls them back out. The document element tutorial shows where containers sit in the object model.

    Methods

    AddImage(AnyBitmap)

    Adds an Image to the draw container from an AnyBitmap instance.

    Declaration
    ImageContent AddImage(AnyBitmap anyBitmap)
    Parameters
    Type Name Description
    IronSoftware.Drawing.AnyBitmap anyBitmap

    The AnyBitmap instance containing the Image data.

    Returns
    Type Description
    ImageContent

    The added Image.

    AddImage(ImageContent)

    Adds an Image to the draw container.

    Declaration
    ImageContent AddImage(ImageContent imageContent)
    Parameters
    Type Name Description
    ImageContent imageContent

    The Image to be added.

    Returns
    Type Description
    ImageContent

    The added Image.

    AddImage(Stream)

    Adds an Image to the draw container from a stream.

    Declaration
    ImageContent AddImage(Stream imageStream)
    Parameters
    Type Name Description
    System.IO.Stream imageStream

    The stream containing the Image data.

    Returns
    Type Description
    ImageContent

    The added Image.

    AddImage(String)

    Adds an Image to the draw container from a file path.

    Declaration
    ImageContent AddImage(string imagePath)
    Parameters
    Type Name Description
    System.String imagePath

    The file path of the Image.

    Returns
    Type Description
    ImageContent

    The added Image.

    AddShape(ShapeContent)

    Adds a Shape to the draw container.

    Declaration
    ShapeContent AddShape(ShapeContent shapeContent)
    Parameters
    Type Name Description
    ShapeContent shapeContent

    The Shape to be added.

    Returns
    Type Description
    ShapeContent

    The added Shape.

    ExtractImages()

    Extract all images from this container

    Declaration
    List<ImageContent> ExtractImages()
    Returns
    Type Description
    System.Collections.Generic.List<ImageContent>

    List of images

    ExtractShapes()

    Extract all shapes from this container

    Declaration
    List<ShapeContent> ExtractShapes()
    Returns
    Type Description
    System.Collections.Generic.List<ShapeContent>

    List of path segment collections

    ☀
    ☾
    Downloads
    • Download with NuGet
    • Start for Free
    In This Article
    Back to top
    Install with NuGet