Skip to main content

Search OfficeIMO

Enter a topic, API type, or PowerShell command.

Documentation Search all OfficeIMO/

API Reference

Class

OfficeDrawing

Namespace OfficeIMO.Drawing
Assembly OfficeIMO.Core
Modifiers sealed

Dependency-free vector drawing canvas shared by OfficeIMO document packages. Coordinates are expressed in the caller's layout unit and use a local top-left origin.

Inheritance

  • Object
  • OfficeDrawing

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Returned or exposed by

Accepted by parameters

Constructors

public OfficeDrawing(Double width, Double height) #

Creates a drawing canvas.

Parameters

width System.Double requiredposition: 0
height System.Double requiredposition: 1

Methods

public OfficeDrawing AddActualTextDrawing(String actualText, OfficeDrawing drawing, Double actualTextAnchorX, Double actualTextAnchorY) #
Returns: OfficeDrawing

Adds vector paint that represents one logical text string. The paint remains native while PDF and SVG exporters can expose the string once for extraction and accessibility.

Parameters

actualText System.String requiredposition: 0
drawing OfficeIMO.Drawing.OfficeDrawing requiredposition: 1
actualTextAnchorX System.Double requiredposition: 2
actualTextAnchorY System.Double requiredposition: 3
public OfficeDrawing AddBorderBox(Double x, Double y, Double width, Double height, Nullable<OfficeColor> fillColor, OfficeBorderBox borders, Nullable<OfficeTransform> transform = null) #
Returns: OfficeDrawing

Adds a filled rectangle and independent edge borders in paint order.

Parameters

x System.Double requiredposition: 0
y System.Double requiredposition: 1
width System.Double requiredposition: 2
height System.Double requiredposition: 3
fillColor System.Nullable{OfficeIMO.Drawing.OfficeColor} requiredposition: 4
borders OfficeIMO.Drawing.OfficeBorderBox requiredposition: 5
transform System.Nullable{OfficeIMO.Drawing.OfficeTransform} = null optionalposition: 6
AddClippedDrawing 4 overloads
public OfficeDrawing AddClippedDrawing(OfficeDrawing drawing, Double x, Double y, OfficeClipPath clipPath) #
Returns: OfficeDrawing

Adds another drawing as a clipped nested group at a local destination offset.

Parameters

drawing OfficeIMO.Drawing.OfficeDrawing requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
clipPath OfficeIMO.Drawing.OfficeClipPath requiredposition: 3
public OfficeDrawing AddClippedDrawing(OfficeDrawing drawing, Double x, Double y, OfficeClipPath clipPath, OfficeImageFrameTransform frameTransform) #
Returns: OfficeDrawing

Adds another drawing as a clipped nested group at a local destination offset with a shared frame transform.

Parameters

drawing OfficeIMO.Drawing.OfficeDrawing requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
clipPath OfficeIMO.Drawing.OfficeClipPath requiredposition: 3
frameTransform OfficeIMO.Drawing.OfficeImageFrameTransform requiredposition: 4
public OfficeDrawing AddClippedDrawing(OfficeDrawing drawing, Double x, Double y, OfficeClipPath clipPath, Double contentOffsetX, Double contentOffsetY) #
Returns: OfficeDrawing

Adds another drawing as a clipped group with an independent content offset.

Parameters

drawing OfficeIMO.Drawing.OfficeDrawing requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
clipPath OfficeIMO.Drawing.OfficeClipPath requiredposition: 3
contentOffsetX System.Double requiredposition: 4
contentOffsetY System.Double requiredposition: 5
public OfficeDrawing AddClippedDrawing(OfficeDrawing drawing, Double x, Double y, OfficeClipPath clipPath, Double contentOffsetX, Double contentOffsetY, OfficeImageFrameTransform frameTransform) #
Returns: OfficeDrawing

Adds another drawing as a clipped group with independent content offset and frame transform.

Parameters

drawing OfficeIMO.Drawing.OfficeDrawing requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
clipPath OfficeIMO.Drawing.OfficeClipPath requiredposition: 3
contentOffsetX System.Double requiredposition: 4
contentOffsetY System.Double requiredposition: 5
frameTransform OfficeIMO.Drawing.OfficeImageFrameTransform requiredposition: 6
public OfficeDrawing AddClippedImage(Byte[] bytes, String contentType, OfficeImageProjection projection, Double clipX, Double clipY, OfficeClipPath clipPath, String alternativeText = null, Double opacity = 1) #
Returns: OfficeDrawing

Adds an image clipped by a drawing-local clipping path.

Parameters

bytes System.Byte[] requiredposition: 0
contentType System.String requiredposition: 1
projection OfficeIMO.Drawing.OfficeImageProjection requiredposition: 2
clipX System.Double requiredposition: 3
clipY System.Double requiredposition: 4
clipPath OfficeIMO.Drawing.OfficeClipPath requiredposition: 5
alternativeText System.String = null optionalposition: 6
opacity System.Double = 1 optionalposition: 7
public OfficeDrawing AddClippedImageWithInterpolation(Byte[] bytes, String contentType, OfficeImageProjection projection, Boolean interpolate, Double clipX, Double clipY, OfficeClipPath clipPath, String alternativeText = null, Double opacity = 1) #
Returns: OfficeDrawing

Adds an image with explicit scaling interpolation behavior, clipped by a drawing-local path.

Parameters

bytes System.Byte[] requiredposition: 0
contentType System.String requiredposition: 1
projection OfficeIMO.Drawing.OfficeImageProjection requiredposition: 2
interpolate System.Boolean requiredposition: 3
clipX System.Double requiredposition: 4
clipY System.Double requiredposition: 5
clipPath OfficeIMO.Drawing.OfficeClipPath requiredposition: 6
alternativeText System.String = null optionalposition: 7
opacity System.Double = 1 optionalposition: 8
AddClippedPositionedText 2 overloads
public OfficeDrawing AddClippedPositionedText(String text, Double x, Double y, Double width, Double height, Double clipX, Double clipY, OfficeClipPath clipPath, Nullable<OfficeFontInfo> font = null, Nullable<OfficeColor> color = null, OfficeTextAlignment alignment = Left, Nullable<Double> lineHeight = null, Nullable<Double> textAdvanceWidth = null) #
Returns: OfficeDrawing

Adds an already-positioned single text run clipped by a drawing-local clipping path. The clipping frame is independent from the resolved glyph advance retained for rendering.

Parameters

text System.String requiredposition: 0
Text content to draw.
x System.Double requiredposition: 1
Horizontal frame position in drawing units.
y System.Double requiredposition: 2
Vertical frame position in drawing units.
width System.Double requiredposition: 3
Text frame width in drawing units.
height System.Double requiredposition: 4
Text frame height in drawing units.
clipX System.Double requiredposition: 5
Horizontal clip position in drawing units.
clipY System.Double requiredposition: 6
Vertical clip position in drawing units.
clipPath OfficeIMO.Drawing.OfficeClipPath requiredposition: 7
Clip path relative to clipX and clipY.
font System.Nullable{OfficeIMO.Drawing.OfficeFontInfo} = null optionalposition: 8
Optional font descriptor.
color System.Nullable{OfficeIMO.Drawing.OfficeColor} = null optionalposition: 9
Optional text color.
alignment OfficeIMO.Drawing.OfficeTextAlignment = Left optionalposition: 10
Horizontal alignment inside the frame.
lineHeight System.Nullable{System.Double} = null optionalposition: 11
Optional resolved line height.
textAdvanceWidth System.Nullable{System.Double} = null optionalposition: 12
Resolved horizontal glyph advance, or null to use width.

Returns

The current drawing.

public OfficeDrawing AddClippedPositionedText(String text, Double x, Double y, Double width, Double height, Double clipX, Double clipY, OfficeClipPath clipPath, OfficeImageFrameTransform frameTransform, Nullable<OfficeFontInfo> font = null, Nullable<OfficeColor> color = null, OfficeTextAlignment alignment = Left, Nullable<Double> lineHeight = null, Nullable<Double> textAdvanceWidth = null) #
Returns: OfficeDrawing

Adds a transformed source text run inside a drawing-local clip path, retaining the resolved glyph advance and complete source text.

Parameters

text System.String requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
clipX System.Double requiredposition: 5
clipY System.Double requiredposition: 6
clipPath OfficeIMO.Drawing.OfficeClipPath requiredposition: 7
frameTransform OfficeIMO.Drawing.OfficeImageFrameTransform requiredposition: 8
font System.Nullable{OfficeIMO.Drawing.OfficeFontInfo} = null optionalposition: 9
color System.Nullable{OfficeIMO.Drawing.OfficeColor} = null optionalposition: 10
alignment OfficeIMO.Drawing.OfficeTextAlignment = Left optionalposition: 11
lineHeight System.Nullable{System.Double} = null optionalposition: 12
textAdvanceWidth System.Nullable{System.Double} = null optionalposition: 13
public OfficeDrawing AddClippedText(String text, Double x, Double y, Double width, Double height, Double clipX, Double clipY, OfficeClipPath clipPath, Nullable<OfficeFontInfo> font = null, Nullable<OfficeColor> color = null, OfficeTextAlignment alignment = Left, Nullable<Double> lineHeight = null, OfficeTextVerticalAlignment verticalAlignment = Top, Double rotationDegrees = 0, Nullable<Double> rotationCenterX = null, Nullable<Double> rotationCenterY = null, Boolean wrapText = false, Boolean shrinkToFit = false, Boolean stackedText = false, Boolean flipHorizontal = false, Boolean flipVertical = false, Nullable<OfficeTextPadding> padding = null, Nullable<OfficeTextParagraphIndent> paragraphIndent = null) #
Returns: OfficeDrawing

Adds text clipped by a drawing-local clipping path.

Parameters

text System.String requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
clipX System.Double requiredposition: 5
clipY System.Double requiredposition: 6
clipPath OfficeIMO.Drawing.OfficeClipPath requiredposition: 7
font System.Nullable{OfficeIMO.Drawing.OfficeFontInfo} = null optionalposition: 8
color System.Nullable{OfficeIMO.Drawing.OfficeColor} = null optionalposition: 9
alignment OfficeIMO.Drawing.OfficeTextAlignment = Left optionalposition: 10
lineHeight System.Nullable{System.Double} = null optionalposition: 11
verticalAlignment OfficeIMO.Drawing.OfficeTextVerticalAlignment = Top optionalposition: 12
rotationDegrees System.Double = 0 optionalposition: 13
rotationCenterX System.Nullable{System.Double} = null optionalposition: 14
rotationCenterY System.Nullable{System.Double} = null optionalposition: 15
wrapText System.Boolean = false optionalposition: 16
shrinkToFit System.Boolean = false optionalposition: 17
stackedText System.Boolean = false optionalposition: 18
flipHorizontal System.Boolean = false optionalposition: 19
flipVertical System.Boolean = false optionalposition: 20
padding System.Nullable{OfficeIMO.Drawing.OfficeTextPadding} = null optionalposition: 21
paragraphIndent System.Nullable{OfficeIMO.Drawing.OfficeTextParagraphIndent} = null optionalposition: 22
AddDrawing 2 overloads
public OfficeDrawing AddDrawing(OfficeDrawing drawing, Double x, Double y) #
Returns: OfficeDrawing

Adds all elements from another drawing at a local destination offset and returns this drawing.

Parameters

drawing OfficeIMO.Drawing.OfficeDrawing requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
public OfficeDrawing AddDrawing(OfficeDrawing drawing, Double x, Double y, OfficeImageFrameTransform frameTransform) #
Returns: OfficeDrawing

Adds all elements from another drawing at a local destination offset with a shared frame transform.

Parameters

drawing OfficeIMO.Drawing.OfficeDrawing requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
frameTransform OfficeIMO.Drawing.OfficeImageFrameTransform requiredposition: 3
AddEffectDrawing 2 overloads
public OfficeDrawing AddEffectDrawing(OfficeDrawing drawing, OfficeTransform transform, Double opacity = 1) #
Returns: OfficeDrawing

Adds another drawing as one affine-transformed, isolated opacity group.

Parameters

drawing OfficeIMO.Drawing.OfficeDrawing requiredposition: 0
transform OfficeIMO.Drawing.OfficeTransform requiredposition: 1
opacity System.Double = 1 optionalposition: 2
public OfficeDrawing AddEffectDrawing(OfficeDrawing drawing, OfficeTransform transform, OfficeBlendMode blendMode, OfficeDrawingSoftMask softMask = null, Double opacity = 1) #
Returns: OfficeDrawing

Adds another drawing as one affine-transformed group with managed blending and an optional vector soft mask.

Parameters

drawing OfficeIMO.Drawing.OfficeDrawing requiredposition: 0
transform OfficeIMO.Drawing.OfficeTransform requiredposition: 1
blendMode OfficeIMO.Drawing.OfficeBlendMode requiredposition: 2
softMask OfficeIMO.Drawing.OfficeDrawingSoftMask = null optionalposition: 3
opacity System.Double = 1 optionalposition: 4
public OfficeDrawing AddFont(String familyName, Byte[] data, OfficeFontStyle style = Regular) #
Returns: OfficeDrawing

Adds or replaces a scoped TrueType face and returns this drawing.

Parameters

familyName System.String requiredposition: 0
data System.Byte[] requiredposition: 1
style OfficeIMO.Drawing.OfficeFontStyle = Regular optionalposition: 2
public OfficeDrawing AddImage(Byte[] bytes, String contentType, OfficeImageProjection projection, String alternativeText = null, Double opacity = 1) #
Returns: OfficeDrawing

Adds an image using a shared placement/crop/transform projection and returns this drawing.

Parameters

bytes System.Byte[] requiredposition: 0
contentType System.String requiredposition: 1
projection OfficeIMO.Drawing.OfficeImageProjection requiredposition: 2
alternativeText System.String = null optionalposition: 3
opacity System.Double = 1 optionalposition: 4
public OfficeDrawing AddImageBehindContent(Byte[] bytes, String contentType, OfficeImageProjection projection, String alternativeText = null, Double opacity = 1) #
Returns: OfficeDrawing

Adds an image behind existing foreground content while keeping an initial page background underneath it.

Parameters

bytes System.Byte[] requiredposition: 0
contentType System.String requiredposition: 1
projection OfficeIMO.Drawing.OfficeImageProjection requiredposition: 2
alternativeText System.String = null optionalposition: 3
opacity System.Double = 1 optionalposition: 4
public OfficeDrawing AddImagePattern(Byte[] bytes, String contentType, OfficeImagePatternLayout layout, Int32 maximumTileCount = 16384, Double opacity = 1) #
Returns: OfficeDrawing

Adds a clipped repeating image pattern and returns this drawing.

Parameters

bytes System.Byte[] requiredposition: 0
contentType System.String requiredposition: 1
layout OfficeIMO.Drawing.OfficeImagePatternLayout requiredposition: 2
maximumTileCount System.Int32 = 16384 optionalposition: 3
opacity System.Double = 1 optionalposition: 4
public OfficeDrawing AddImageWithInterpolation(Byte[] bytes, String contentType, OfficeImageProjection projection, Boolean interpolate, String alternativeText = null, Double opacity = 1) #
Returns: OfficeDrawing

Adds an image using explicit scaling interpolation behavior.

Parameters

bytes System.Byte[] requiredposition: 0
contentType System.String requiredposition: 1
projection OfficeIMO.Drawing.OfficeImageProjection requiredposition: 2
interpolate System.Boolean requiredposition: 3
alternativeText System.String = null optionalposition: 4
opacity System.Double = 1 optionalposition: 5
AddPositionedText 5 overloads
public OfficeDrawing AddPositionedText(String text, Double x, Double y, Double width, Double height, Nullable<OfficeFontInfo> font, Nullable<OfficeColor> color, OfficeTextAlignment alignment, Nullable<Double> lineHeight) #
Returns: OfficeDrawing

Adds an already-positioned single text run. The frame width may be clipped independently from the resolved glyph advance retained for backend-consistent positioning.

Parameters

text System.String requiredposition: 0
Text content to draw.
x System.Double requiredposition: 1
Horizontal frame position in drawing units.
y System.Double requiredposition: 2
Vertical frame position in drawing units.
width System.Double requiredposition: 3
Clipping frame width in drawing units.
height System.Double requiredposition: 4
Clipping frame height in drawing units.
font System.Nullable{OfficeIMO.Drawing.OfficeFontInfo} requiredposition: 5
Optional font descriptor.
color System.Nullable{OfficeIMO.Drawing.OfficeColor} requiredposition: 6
Optional text color.
alignment OfficeIMO.Drawing.OfficeTextAlignment requiredposition: 7
Horizontal alignment inside the frame.
lineHeight System.Nullable{System.Double} requiredposition: 8
Optional resolved line height.

Returns

The current drawing.

public OfficeDrawing AddPositionedText(String text, Double x, Double y, Double width, Double height, Nullable<OfficeFontInfo> font = null, Nullable<OfficeColor> color = null, OfficeTextAlignment alignment = Left, Nullable<Double> lineHeight = null, Nullable<Double> textAdvanceWidth = null) #
Returns: OfficeDrawing

Adds an already-positioned single text run with an explicit resolved glyph advance.

Parameters

text System.String requiredposition: 0
Text content to draw.
x System.Double requiredposition: 1
Horizontal frame position in drawing units.
y System.Double requiredposition: 2
Vertical frame position in drawing units.
width System.Double requiredposition: 3
Clipping frame width in drawing units.
height System.Double requiredposition: 4
Clipping frame height in drawing units.
font System.Nullable{OfficeIMO.Drawing.OfficeFontInfo} = null optionalposition: 5
Optional font descriptor.
color System.Nullable{OfficeIMO.Drawing.OfficeColor} = null optionalposition: 6
Optional text color.
alignment OfficeIMO.Drawing.OfficeTextAlignment = Left optionalposition: 7
Horizontal alignment inside the frame.
lineHeight System.Nullable{System.Double} = null optionalposition: 8
Optional resolved line height.
textAdvanceWidth System.Nullable{System.Double} = null optionalposition: 9
Resolved horizontal glyph advance, or null to use width.

Returns

The current drawing.

public OfficeDrawing AddPositionedText(String text, Double x, Double y, Double width, Double height, Nullable<OfficeFontInfo> font, Nullable<OfficeColor> color, OfficeTextAlignment alignment, Nullable<Double> lineHeight, Nullable<Double> textAdvanceWidth, OfficeTextDecorationStyle underlineStyle, OfficeTextDecorationStyle strikethroughStyle, OfficeTextBaseline baseline) #
Returns: OfficeDrawing

Adds an already-positioned text run with typed decoration and baseline styling.

Parameters

text System.String requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
font System.Nullable{OfficeIMO.Drawing.OfficeFontInfo} requiredposition: 5
color System.Nullable{OfficeIMO.Drawing.OfficeColor} requiredposition: 6
alignment OfficeIMO.Drawing.OfficeTextAlignment requiredposition: 7
lineHeight System.Nullable{System.Double} requiredposition: 8
textAdvanceWidth System.Nullable{System.Double} requiredposition: 9
underlineStyle OfficeIMO.Drawing.OfficeTextDecorationStyle requiredposition: 10
strikethroughStyle OfficeIMO.Drawing.OfficeTextDecorationStyle requiredposition: 11
baseline OfficeIMO.Drawing.OfficeTextBaseline requiredposition: 12
public OfficeDrawing AddPositionedText(String text, Double x, Double y, Double width, Double height, Nullable<OfficeFontInfo> font, Nullable<OfficeColor> color, OfficeTextAlignment alignment, Nullable<Double> lineHeight, Nullable<Double> textAdvanceWidth, OfficeTextDecorationStyle underlineStyle, OfficeTextDecorationStyle strikethroughStyle, OfficeTextBaseline baseline, Int32 baselineLevel) #
Returns: OfficeDrawing

Adds an already-positioned text run with typed decoration and a cumulative script nesting level.

Parameters

text System.String requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
font System.Nullable{OfficeIMO.Drawing.OfficeFontInfo} requiredposition: 5
color System.Nullable{OfficeIMO.Drawing.OfficeColor} requiredposition: 6
alignment OfficeIMO.Drawing.OfficeTextAlignment requiredposition: 7
lineHeight System.Nullable{System.Double} requiredposition: 8
textAdvanceWidth System.Nullable{System.Double} requiredposition: 9
underlineStyle OfficeIMO.Drawing.OfficeTextDecorationStyle requiredposition: 10
strikethroughStyle OfficeIMO.Drawing.OfficeTextDecorationStyle requiredposition: 11
baseline OfficeIMO.Drawing.OfficeTextBaseline requiredposition: 12
baselineLevel System.Int32 requiredposition: 13
public OfficeDrawing AddPositionedText(String text, Double x, Double y, Double width, Double height, OfficeImageFrameTransform frameTransform, Nullable<OfficeFontInfo> font = null, Nullable<OfficeColor> color = null, OfficeTextAlignment alignment = Left, Nullable<Double> lineHeight = null, Nullable<Double> textAdvanceWidth = null) #
Returns: OfficeDrawing

Adds a resolved source text run with its glyph advance and a destination-space rotation or mirror transform. Source text is clipped, never shortened with an ellipsis.

Parameters

text System.String requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
frameTransform OfficeIMO.Drawing.OfficeImageFrameTransform requiredposition: 5
font System.Nullable{OfficeIMO.Drawing.OfficeFontInfo} = null optionalposition: 6
color System.Nullable{OfficeIMO.Drawing.OfficeColor} = null optionalposition: 7
alignment OfficeIMO.Drawing.OfficeTextAlignment = Left optionalposition: 8
lineHeight System.Nullable{System.Double} = null optionalposition: 9
textAdvanceWidth System.Nullable{System.Double} = null optionalposition: 10
public OfficeDrawing AddRichText(IReadOnlyList<OfficeRichTextRun> runs, Double x, Double y, Double width, Double height, OfficeTextAlignment alignment = Left, Nullable<Double> lineHeight = null, OfficeTextVerticalAlignment verticalAlignment = Top, Double rotationDegrees = 0, Nullable<Double> rotationCenterX = null, Nullable<Double> rotationCenterY = null, Boolean wrapText = true, Boolean shrinkToFit = false, Boolean flipHorizontal = false, Boolean flipVertical = false, Nullable<OfficeTextPadding> padding = null, Nullable<OfficeTextParagraphIndent> paragraphIndent = null) #
Returns: OfficeDrawing

Adds rich text inside a local drawing rectangle and returns this drawing.

Parameters

runs System.Collections.Generic.IReadOnlyList{OfficeIMO.Drawing.OfficeRichTextRun} requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
alignment OfficeIMO.Drawing.OfficeTextAlignment = Left optionalposition: 5
lineHeight System.Nullable{System.Double} = null optionalposition: 6
verticalAlignment OfficeIMO.Drawing.OfficeTextVerticalAlignment = Top optionalposition: 7
rotationDegrees System.Double = 0 optionalposition: 8
rotationCenterX System.Nullable{System.Double} = null optionalposition: 9
rotationCenterY System.Nullable{System.Double} = null optionalposition: 10
wrapText System.Boolean = true optionalposition: 11
shrinkToFit System.Boolean = false optionalposition: 12
flipHorizontal System.Boolean = false optionalposition: 13
flipVertical System.Boolean = false optionalposition: 14
padding System.Nullable{OfficeIMO.Drawing.OfficeTextPadding} = null optionalposition: 15
paragraphIndent System.Nullable{OfficeIMO.Drawing.OfficeTextParagraphIndent} = null optionalposition: 16
public OfficeDrawing AddRichTextBehindContent(IReadOnlyList<OfficeRichTextRun> runs, Double x, Double y, Double width, Double height, OfficeTextAlignment alignment = Left, Nullable<Double> lineHeight = null, OfficeTextVerticalAlignment verticalAlignment = Top, Double rotationDegrees = 0, Nullable<Double> rotationCenterX = null, Nullable<Double> rotationCenterY = null, Boolean wrapText = true, Boolean shrinkToFit = false, Boolean flipHorizontal = false, Boolean flipVertical = false, Nullable<OfficeTextPadding> padding = null, Nullable<OfficeTextParagraphIndent> paragraphIndent = null) #
Returns: OfficeDrawing

Adds rich text behind existing foreground content while keeping an initial page background underneath it.

Parameters

runs System.Collections.Generic.IReadOnlyList{OfficeIMO.Drawing.OfficeRichTextRun} requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
alignment OfficeIMO.Drawing.OfficeTextAlignment = Left optionalposition: 5
lineHeight System.Nullable{System.Double} = null optionalposition: 6
verticalAlignment OfficeIMO.Drawing.OfficeTextVerticalAlignment = Top optionalposition: 7
rotationDegrees System.Double = 0 optionalposition: 8
rotationCenterX System.Nullable{System.Double} = null optionalposition: 9
rotationCenterY System.Nullable{System.Double} = null optionalposition: 10
wrapText System.Boolean = true optionalposition: 11
shrinkToFit System.Boolean = false optionalposition: 12
flipHorizontal System.Boolean = false optionalposition: 13
flipVertical System.Boolean = false optionalposition: 14
padding System.Nullable{OfficeIMO.Drawing.OfficeTextPadding} = null optionalposition: 15
paragraphIndent System.Nullable{OfficeIMO.Drawing.OfficeTextParagraphIndent} = null optionalposition: 16
public OfficeDrawing AddShape(OfficeShape shape, Double x, Double y) #
Returns: OfficeDrawing

Adds a shape at a local top-left coordinate and returns this drawing.

Parameters

shape OfficeIMO.Drawing.OfficeShape requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
public OfficeDrawing AddShapeBehindContent(OfficeShape shape, Double x, Double y) #
Returns: OfficeDrawing

Adds a shape behind existing foreground content while keeping an initial page background underneath it.

Parameters

shape OfficeIMO.Drawing.OfficeShape requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
AddStyledText 2 overloads
public OfficeDrawing AddStyledText(String text, Double x, Double y, Double width, Double height, Nullable<OfficeFontInfo> font, Nullable<OfficeColor> color, OfficeTextAlignment alignment, Nullable<Double> lineHeight, OfficeTextVerticalAlignment verticalAlignment, Double rotationDegrees, Nullable<Double> rotationCenterX, Nullable<Double> rotationCenterY, Boolean wrapText, Boolean shrinkToFit, Boolean stackedText, Boolean flipHorizontal, Boolean flipVertical, Nullable<OfficeTextPadding> padding, Nullable<OfficeTextParagraphIndent> paragraphIndent, OfficeTextDecorationStyle underlineStyle, OfficeTextDecorationStyle strikethroughStyle, OfficeTextBaseline baseline) #
Returns: OfficeDrawing

Adds text with typed decoration and baseline styling inside a local drawing rectangle.

Parameters

text System.String requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
font System.Nullable{OfficeIMO.Drawing.OfficeFontInfo} requiredposition: 5
color System.Nullable{OfficeIMO.Drawing.OfficeColor} requiredposition: 6
alignment OfficeIMO.Drawing.OfficeTextAlignment requiredposition: 7
lineHeight System.Nullable{System.Double} requiredposition: 8
verticalAlignment OfficeIMO.Drawing.OfficeTextVerticalAlignment requiredposition: 9
rotationDegrees System.Double requiredposition: 10
rotationCenterX System.Nullable{System.Double} requiredposition: 11
rotationCenterY System.Nullable{System.Double} requiredposition: 12
wrapText System.Boolean requiredposition: 13
shrinkToFit System.Boolean requiredposition: 14
stackedText System.Boolean requiredposition: 15
flipHorizontal System.Boolean requiredposition: 16
flipVertical System.Boolean requiredposition: 17
padding System.Nullable{OfficeIMO.Drawing.OfficeTextPadding} requiredposition: 18
paragraphIndent System.Nullable{OfficeIMO.Drawing.OfficeTextParagraphIndent} requiredposition: 19
underlineStyle OfficeIMO.Drawing.OfficeTextDecorationStyle requiredposition: 20
strikethroughStyle OfficeIMO.Drawing.OfficeTextDecorationStyle requiredposition: 21
baseline OfficeIMO.Drawing.OfficeTextBaseline requiredposition: 22
public OfficeDrawing AddStyledText(String text, Double x, Double y, Double width, Double height, Nullable<OfficeFontInfo> font, Nullable<OfficeColor> color, OfficeTextAlignment alignment, Nullable<Double> lineHeight, OfficeTextVerticalAlignment verticalAlignment, Double rotationDegrees, Nullable<Double> rotationCenterX, Nullable<Double> rotationCenterY, Boolean wrapText, Boolean shrinkToFit, Boolean stackedText, Boolean flipHorizontal, Boolean flipVertical, Nullable<OfficeTextPadding> padding, Nullable<OfficeTextParagraphIndent> paragraphIndent, OfficeTextDecorationStyle underlineStyle, OfficeTextDecorationStyle strikethroughStyle, OfficeTextBaseline baseline, Int32 baselineLevel) #
Returns: OfficeDrawing

Adds text with typed decoration and a cumulative script nesting level.

Parameters

text System.String requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
font System.Nullable{OfficeIMO.Drawing.OfficeFontInfo} requiredposition: 5
color System.Nullable{OfficeIMO.Drawing.OfficeColor} requiredposition: 6
alignment OfficeIMO.Drawing.OfficeTextAlignment requiredposition: 7
lineHeight System.Nullable{System.Double} requiredposition: 8
verticalAlignment OfficeIMO.Drawing.OfficeTextVerticalAlignment requiredposition: 9
rotationDegrees System.Double requiredposition: 10
rotationCenterX System.Nullable{System.Double} requiredposition: 11
rotationCenterY System.Nullable{System.Double} requiredposition: 12
wrapText System.Boolean requiredposition: 13
shrinkToFit System.Boolean requiredposition: 14
stackedText System.Boolean requiredposition: 15
flipHorizontal System.Boolean requiredposition: 16
flipVertical System.Boolean requiredposition: 17
padding System.Nullable{OfficeIMO.Drawing.OfficeTextPadding} requiredposition: 18
paragraphIndent System.Nullable{OfficeIMO.Drawing.OfficeTextParagraphIndent} requiredposition: 19
underlineStyle OfficeIMO.Drawing.OfficeTextDecorationStyle requiredposition: 20
strikethroughStyle OfficeIMO.Drawing.OfficeTextDecorationStyle requiredposition: 21
baseline OfficeIMO.Drawing.OfficeTextBaseline requiredposition: 22
baselineLevel System.Int32 requiredposition: 23
AddText 2 overloads
public OfficeDrawing AddText(String text, Double x, Double y, Double width, Double height, Nullable<OfficeFontInfo> font, Nullable<OfficeColor> color, OfficeTextAlignment alignment, Nullable<Double> lineHeight) #
Returns: OfficeDrawing

Adds unrotated text using the original public text-box contract.

Parameters

text System.String requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
font System.Nullable{OfficeIMO.Drawing.OfficeFontInfo} requiredposition: 5
color System.Nullable{OfficeIMO.Drawing.OfficeColor} requiredposition: 6
alignment OfficeIMO.Drawing.OfficeTextAlignment requiredposition: 7
lineHeight System.Nullable{System.Double} requiredposition: 8
public OfficeDrawing AddText(String text, Double x, Double y, Double width, Double height, Nullable<OfficeFontInfo> font = null, Nullable<OfficeColor> color = null, OfficeTextAlignment alignment = Left, Nullable<Double> lineHeight = null, OfficeTextVerticalAlignment verticalAlignment = Top, Double rotationDegrees = 0, Nullable<Double> rotationCenterX = null, Nullable<Double> rotationCenterY = null, Boolean wrapText = false, Boolean shrinkToFit = false, Boolean stackedText = false, Boolean flipHorizontal = false, Boolean flipVertical = false, Nullable<OfficeTextPadding> padding = null, Nullable<OfficeTextParagraphIndent> paragraphIndent = null) #
Returns: OfficeDrawing

Adds text inside a local drawing rectangle and returns this drawing.

Parameters

text System.String requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
font System.Nullable{OfficeIMO.Drawing.OfficeFontInfo} = null optionalposition: 5
color System.Nullable{OfficeIMO.Drawing.OfficeColor} = null optionalposition: 6
alignment OfficeIMO.Drawing.OfficeTextAlignment = Left optionalposition: 7
lineHeight System.Nullable{System.Double} = null optionalposition: 8
verticalAlignment OfficeIMO.Drawing.OfficeTextVerticalAlignment = Top optionalposition: 9
rotationDegrees System.Double = 0 optionalposition: 10
rotationCenterX System.Nullable{System.Double} = null optionalposition: 11
rotationCenterY System.Nullable{System.Double} = null optionalposition: 12
wrapText System.Boolean = false optionalposition: 13
shrinkToFit System.Boolean = false optionalposition: 14
stackedText System.Boolean = false optionalposition: 15
flipHorizontal System.Boolean = false optionalposition: 16
flipVertical System.Boolean = false optionalposition: 17
padding System.Nullable{OfficeIMO.Drawing.OfficeTextPadding} = null optionalposition: 18
paragraphIndent System.Nullable{OfficeIMO.Drawing.OfficeTextParagraphIndent} = null optionalposition: 19
public OfficeDrawing AddTextBehindContent(String text, Double x, Double y, Double width, Double height, Nullable<OfficeFontInfo> font = null, Nullable<OfficeColor> color = null, OfficeTextAlignment alignment = Left, Nullable<Double> lineHeight = null, OfficeTextVerticalAlignment verticalAlignment = Top, Double rotationDegrees = 0, Nullable<Double> rotationCenterX = null, Nullable<Double> rotationCenterY = null, Boolean wrapText = false, Boolean shrinkToFit = false, Boolean stackedText = false, Boolean flipHorizontal = false, Boolean flipVertical = false, Nullable<OfficeTextPadding> padding = null, Nullable<OfficeTextParagraphIndent> paragraphIndent = null) #
Returns: OfficeDrawing

Adds text behind existing foreground content while keeping an initial page background underneath it.

Parameters

text System.String requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
font System.Nullable{OfficeIMO.Drawing.OfficeFontInfo} = null optionalposition: 5
color System.Nullable{OfficeIMO.Drawing.OfficeColor} = null optionalposition: 6
alignment OfficeIMO.Drawing.OfficeTextAlignment = Left optionalposition: 7
lineHeight System.Nullable{System.Double} = null optionalposition: 8
verticalAlignment OfficeIMO.Drawing.OfficeTextVerticalAlignment = Top optionalposition: 9
rotationDegrees System.Double = 0 optionalposition: 10
rotationCenterX System.Nullable{System.Double} = null optionalposition: 11
rotationCenterY System.Nullable{System.Double} = null optionalposition: 12
wrapText System.Boolean = false optionalposition: 13
shrinkToFit System.Boolean = false optionalposition: 14
stackedText System.Boolean = false optionalposition: 15
flipHorizontal System.Boolean = false optionalposition: 16
flipVertical System.Boolean = false optionalposition: 17
padding System.Nullable{OfficeIMO.Drawing.OfficeTextPadding} = null optionalposition: 18
paragraphIndent System.Nullable{OfficeIMO.Drawing.OfficeTextParagraphIndent} = null optionalposition: 19
AddTilingPattern 2 overloads
public OfficeDrawing AddTilingPattern(OfficeDrawing tile, OfficeImagePlacement area, Double horizontalStep, Double verticalStep, Nullable<OfficeTransform> transform = null, Double originX = 0, Double originY = 0, Int32 maximumTileCount = 16384, Double opacity = 1) #
Returns: OfficeDrawing

Adds a clipped, transform-aware vector tiling pattern.

Parameters

tile OfficeIMO.Drawing.OfficeDrawing requiredposition: 0
area OfficeIMO.Drawing.OfficeImagePlacement requiredposition: 1
horizontalStep System.Double requiredposition: 2
verticalStep System.Double requiredposition: 3
transform System.Nullable{OfficeIMO.Drawing.OfficeTransform} = null optionalposition: 4
originX System.Double = 0 optionalposition: 5
originY System.Double = 0 optionalposition: 6
maximumTileCount System.Int32 = 16384 optionalposition: 7
opacity System.Double = 1 optionalposition: 8
public OfficeDrawing AddTilingPattern(OfficeDrawing tile, OfficeImagePlacement area, Double horizontalStep, Double verticalStep, Boolean repeatX, Boolean repeatY, Nullable<OfficeTransform> transform = null, Double originX = 0, Double originY = 0, Int32 maximumTileCount = 16384, Double opacity = 1) #
Returns: OfficeDrawing

Adds a clipped, transform-aware vector tiling pattern with independent axis repetition.

Parameters

tile OfficeIMO.Drawing.OfficeDrawing requiredposition: 0
area OfficeIMO.Drawing.OfficeImagePlacement requiredposition: 1
horizontalStep System.Double requiredposition: 2
verticalStep System.Double requiredposition: 3
repeatX System.Boolean requiredposition: 4
repeatY System.Boolean requiredposition: 5
transform System.Nullable{OfficeIMO.Drawing.OfficeTransform} = null optionalposition: 6
originX System.Double = 0 optionalposition: 7
originY System.Double = 0 optionalposition: 8
maximumTileCount System.Int32 = 16384 optionalposition: 9
opacity System.Double = 1 optionalposition: 10
public OfficeDrawing AddVerticalText(String text, Double x, Double y, Double width, Double height, Nullable<OfficeFontInfo> font = null, Nullable<OfficeColor> color = null) #
Returns: OfficeDrawing

Adds top-to-bottom text whose glyph substitutions and advances come from the selected shaping provider.

Parameters

text System.String requiredposition: 0
x System.Double requiredposition: 1
y System.Double requiredposition: 2
width System.Double requiredposition: 3
height System.Double requiredposition: 4
font System.Nullable{OfficeIMO.Drawing.OfficeFontInfo} = null optionalposition: 5
color System.Nullable{OfficeIMO.Drawing.OfficeColor} = null optionalposition: 6
public OfficeDrawing Clone() #
Returns: OfficeDrawing

Creates a detached copy of this drawing and all positioned elements.

public OfficeImageExportResult ExportImage(OfficeImageExportFormat format, OfficeImageExportOptions options = null, CancellationToken cancellationToken = default) #
Returns: OfficeImageExportResult

Exports a detached drawing through the shared density, encoding, font, diagnostic and safety contracts. Options define the drawing's logical units per inch.

Parameters

format OfficeIMO.Drawing.OfficeImageExportFormat requiredposition: 0
options OfficeIMO.Drawing.OfficeImageExportOptions = null optionalposition: 1
cancellationToken System.Threading.CancellationToken = default optionalposition: 2

Properties

public Double Width { get; } #

Drawing width in the caller's layout unit.

public Double Height { get; } #

Drawing height in the caller's layout unit.

public IReadOnlyList<OfficeDrawingShape> Shapes { get; } #

Positioned shapes in paint order.

public IReadOnlyList<OfficeDrawingImage> Images { get; } #

Positioned images in paint order.

public IReadOnlyList<OfficeDrawingImagePattern> ImagePatterns { get; } #

Clipped image patterns in paint order.

public IReadOnlyList<OfficeDrawingElement> Elements { get; } #

Positioned drawing elements in paint order.

public OfficeFontFaceCollection Fonts { get; set; } #

Scoped TrueType faces embedded or rasterized with this drawing.

Extension Methods

public static Void AppendFontDiagnostics(OfficeDrawing drawing, ICollection<OfficeImageExportDiagnostic> diagnostics, String source = null) #
Returns: Void

Adds de-duplicated font diagnostics for all text in a drawing, including nested groups and patterns.

Parameters

drawing OfficeIMO.Drawing.OfficeDrawing requiredposition: 0
diagnostics System.Collections.Generic.ICollection{OfficeIMO.Drawing.OfficeImageExportDiagnostic} requiredposition: 1
source System.String = null optionalposition: 2
public static OfficeDrawing ApplyImageExportOptions(OfficeDrawing drawing, OfficeImageExportOptions options) #
Returns: OfficeDrawing

Applies caller-supplied fonts and text shaping from shared export options to a drawing.

Parameters

drawing OfficeIMO.Drawing.OfficeDrawing requiredposition: 0
options OfficeIMO.Drawing.OfficeImageExportOptions requiredposition: 1