InsertShape

InsertShape(ShapeType, double, double)

插入具有指定类型和大小的内联形状。

public Shape InsertShape(ShapeType shapeType, double width, double height)
范围类型描述
shapeTypeShapeType要插入到文档中的形状类型。
widthDouble形状的宽度(以点为单位)。
heightDouble形状的高度(以点为单位)。

返回值

插入的形状节点。

例子

展示如何将 DML 形状插入文档。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// 以下是形状可能具有的两种包装类型。
// 1 - 浮动:
builder.InsertShape(ShapeType.TopCornersRounded, RelativeHorizontalPosition.Page, 100,
        RelativeVerticalPosition.Page, 100, 50, 50, WrapType.None);

// 2 - 内联:
builder.InsertShape(ShapeType.DiagonalCornersRounded, 50, 50);

// 如果需要创建“非原始”形状,例如 SingleCornerSnipped、TopCornersSnipped、DiagonalCornersSnipped,
// TopCornersOneRoundedOneSnipped、SingleCornerRounded、TopCornersRounded 或 DiagonalCornersRounded,
// 然后以“严格”或“过渡”合规性保存文档,这允许将形状保存为 DML。
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions(SaveFormat.Docx);
saveOptions.Compliance = OoxmlCompliance.Iso29500_2008_Transitional;

doc.Save(ArtifactsDir + "Shape.ShapeInsertion.docx", saveOptions);

也可以看看


InsertShape(ShapeTypeRelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)

插入具有指定位置、大小和文本换行类型的自由浮动形状。

public Shape InsertShape(ShapeType shapeType, RelativeHorizontalPosition horzPos, double left, 
    RelativeVerticalPosition vertPos, double top, double width, double height, WrapType wrapType)
范围类型描述
shapeTypeShapeType插入文档的形状类型
horzPosRelativeHorizontalPosition指定从哪里测量到形状的水平距离。
leftDouble从原点到形状左侧的距离(以点为单位)。
vertPosRelativeVerticalPosition指定从哪里测量到形状的垂直距离。
topDouble从原点到形状顶部的距离(以点为单位)。
widthDouble形状的宽度(以点为单位)。
heightDouble形状的高度(以点为单位)。
wrapTypeWrapType指定如何将文本环绕在形状周围。

返回值

插入的形状节点。

例子

展示如何将 DML 形状插入文档。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// 以下是形状可能具有的两种包装类型。
// 1 - 浮动:
builder.InsertShape(ShapeType.TopCornersRounded, RelativeHorizontalPosition.Page, 100,
        RelativeVerticalPosition.Page, 100, 50, 50, WrapType.None);

// 2 - 内联:
builder.InsertShape(ShapeType.DiagonalCornersRounded, 50, 50);

// 如果需要创建“非原始”形状,例如 SingleCornerSnipped、TopCornersSnipped、DiagonalCornersSnipped,
// TopCornersOneRoundedOneSnipped、SingleCornerRounded、TopCornersRounded 或 DiagonalCornersRounded,
// 然后以“严格”或“过渡”合规性保存文档,这允许将形状保存为 DML。
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions(SaveFormat.Docx);
saveOptions.Compliance = OoxmlCompliance.Iso29500_2008_Transitional;

doc.Save(ArtifactsDir + "Shape.ShapeInsertion.docx", saveOptions);

也可以看看