Skip to content

形状

Shapes

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

文档中的所有形状对象集合

语法

表达式.ActiveDocument.Shapes

表达式:文档类型应用对象

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 图形对象
  const shapes = await app.ActiveDocument.Shapes
}

Count

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

形状对象的个数

语法

表达式.ActiveDocument.Shapes.Count

表达式:文档类型应用对象

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取图形对象
  const shapes = await app.ActiveDocument.Shapes

  // 插入非嵌入式图片
  await shapes.AddPicture({
    FileName:
      'https://img.qwps.cn/583546003_25a7bc59d95249c2a3c257fa369ca289?imageMogr2/thumbnail/180x180!', // 图片地址
    LinkToFile: true,
    SaveWithDocument: true,
    Left: 10, // 图片距离左边位置
    Top: 10, // 图片距离顶部位置
    Width: 60, // 图片宽度
    Height: 120 // 图片高度
  })

  // 获取所有图形数量
  const count = await shapes.Count
  console.log(count)
}

AddPicture()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

插入非嵌入式图片

语法

表达式.ActiveDocument.Shapes.AddPicture({ FileName, LinkToFile, SaveWithDocument, Left, Top, Width, Height })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
FileName
String
图片的路径和文件名
LinkToFile
Boolean
为 true 表示要将图片链接到创建它的文件,false 使图片文件的独立副本。默认值为 false
SaveWithDocument
Boolean
为 true 要随文档一起保存的链接的图片。默认值为 false
Left
Number
新图片的左边缘相对于绘图画布的位置,以磅为单位
Top
Number
新图片的上边缘相对于绘图画布的位置,以磅为单位
Width
Number
图片的宽度,以磅为单位
Height
Number
图片的高度,以磅为单位

返回值

返回一个 Shape 对象(WebOffice v4.1.1+ 支持)

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取图形对象
  const shapes = await app.ActiveDocument.Shapes

  // 插入非嵌入式图片
  const shape = await shapes.AddPicture({
    FileName:
      'https://img.qwps.cn/583546003_25a7bc59d95249c2a3c257fa369ca289?imageMogr2/thumbnail/180x180!', // 图片地址
    LinkToFile: true,
    SaveWithDocument: true,
    Left: 10, // 图片距离左边位置
    Top: 10, // 图片距离顶部位置
    Width: 60, // 图片宽度
    Height: 120 // 图片高度
  })

  // 设置嵌入式图形对象的宽度
  shape.Width = 200
}

Item()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

形状对象集合的单个对象,返回 Shape 对象

语法

表达式.ActiveDocument.Shapes.Item(Index)

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Index
String
第 Index 个图形

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取图形对象
  const shapes = await app.ActiveDocument.Shapes

  // 插入非嵌入式图片
  await shapes.AddPicture({
    FileName:
      'https://img.qwps.cn/583546003_25a7bc59d95249c2a3c257fa369ca289?imageMogr2/thumbnail/180x180!', // 图片地址
    LinkToFile: true,
    SaveWithDocument: true,
    Left: 10, // 图片距离左边位置
    Top: 10, // 图片距离顶部位置
    Width: 60, // 图片宽度
    Height: 120 // 图片高度
  })

  // 获取第 1 个图形对象,返回 Shape 对象
  const shape = await shapes.Item(1)
}

Item(Index).Data

JSSDK: v1.1.14+、WebOffice v3.1.1+ 支持

异步返回文档里面的图片的 Base64 数据

语法

表达式.ActiveDocument.Shapes.Item(Index).Data

表达式:文档类型应用对象

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取图形对象
  const shapes = await app.ActiveDocument.Shapes

  // 插入非嵌入式图片
  await shapes.AddPicture({
    FileName:
      'https://img.qwps.cn/583546003_25a7bc59d95249c2a3c257fa369ca289?imageMogr2/thumbnail/180x180!', // 图片地址
    LinkToFile: true,
    SaveWithDocument: true,
    Left: 10, // 图片距离左边位置
    Top: 10, // 图片距离顶部位置
    Data: 60, // 图片宽度
    Height: 120 // 图片高度
  })

  // 获取第 1 个图形对象
  const shape = await shapes.Item(1)

  // 异步返回文档里面的图片的 Base64 数据
  const Data = await shape.Data
  console.log(Data)
}

Item(Index).Height

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

单个图形对象的高度

语法

表达式.ActiveDocument.Shapes.Item(Index).Height

表达式:文档类型应用对象

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取图形对象
  const shapes = await app.ActiveDocument.Shapes

  // 插入非嵌入式图片
  await shapes.AddPicture({
    FileName:
      'https://img.qwps.cn/583546003_25a7bc59d95249c2a3c257fa369ca289?imageMogr2/thumbnail/180x180!', // 图片地址
    LinkToFile: true,
    SaveWithDocument: true,
    Left: 10, // 图片距离左边位置
    Top: 10, // 图片距离顶部位置
    Width: 60, // 图片宽度
    Height: 120 // 图片高度
  })

  // 获取第 1 个图形对象
  const shape = await shapes.Item(1)

  // 设置第 1 个图形的高度
  shape.Height = 240
}

Item(Index).OLEFormat

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

返回一个 OLEFormat 对象,该对象表示指定的内嵌形状的 OLE 特征(而不是链接)。此为只读属性

语法

表达式.ActiveDocument.Shapes.Item(Index).OLEFormat

表达式:文档类型应用对象

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取图形对象
  const shapes = await app.ActiveDocument.Shapes

  // 插入非嵌入式图片
  await shapes.AddPicture({
    FileName:
      'https://img.qwps.cn/583546003_25a7bc59d95249c2a3c257fa369ca289?imageMogr2/thumbnail/180x180!', // 图片地址
    LinkToFile: true,
    SaveWithDocument: true,
    Left: 10, // 图片距离左边位置
    Top: 10, // 图片距离顶部位置
    Width: 60, // 图片宽度
    Height: 120 // 图片高度
  })

  // 获取第 1 个图形对象
  const shape = await shapes.Item(1)

  // 返回一个 OLEFormat 对象,该对象表示指定的内嵌形状的 OLE 特征(而不是链接)。此为只读属性
  const OLEFormat = await shape.OLEFormat
}

Item(Index).OriginData

JSSDK: v1.1.14+、WebOffice v3.1.1+ 支持

异步返回图片 原图 的 Base64 数据

语法

表达式.ActiveDocument.Shapes.Item(Index).OriginData

表达式:文档类型应用对象

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取图形对象
  const shapes = await app.ActiveDocument.Shapes

  // 插入非嵌入式图片
  await shapes.AddPicture({
    FileName:
      'https://img.qwps.cn/583546003_25a7bc59d95249c2a3c257fa369ca289?imageMogr2/thumbnail/180x180!', // 图片地址
    LinkToFile: true,
    SaveWithDocument: true,
    Left: 10, // 图片距离左边位置
    Top: 10, // 图片距离顶部位置
    OriginData: 60, // 图片宽度
    Height: 120 // 图片高度
  })

  // 获取第 1 个图形对象
  const shape = await shapes.Item(1)

  // 异步返回图片 原图 的 Base64 数据
  const OriginData = await shape.OriginData
  console.log(OriginData)
}

Item(Index).Width

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

单个图形对象的宽度

语法

表达式.ActiveDocument.Shapes.Item(Index).Width

表达式:文档类型应用对象

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取图形对象
  const shapes = await app.ActiveDocument.Shapes

  // 插入非嵌入式图片
  await shapes.AddPicture({
    FileName:
      'https://img.qwps.cn/583546003_25a7bc59d95249c2a3c257fa369ca289?imageMogr2/thumbnail/180x180!', // 图片地址
    LinkToFile: true,
    SaveWithDocument: true,
    Left: 10, // 图片距离左边位置
    Top: 10, // 图片距离顶部位置
    Width: 60, // 图片宽度
    Height: 120 // 图片高度
  })

  // 获取第 1 个图形对象
  const shape = await shapes.Item(1)

  // 设置第 1 个图形的宽度
  shape.Width = 200
}

Item(Index).WrapFormat

JSSDK: v1.1.15+、WebOffice v4.1.1+ 支持

设置文字环绕模式

语法

表达式.ActiveDocument.Shapes.Item(Index).WrapFormat = WdWrapType

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
WdWrapType
Enum
指定如何在形状周围环绕文字,可参照 Enum.WdWrapType

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取图形对象
  const shapes = await app.ActiveDocument.Shapes

  // 插入非嵌入式图片
  await shapes.AddPicture({
    FileName:
      'https://img.qwps.cn/583546003_25a7bc59d95249c2a3c257fa369ca289?imageMogr2/thumbnail/180x180!', // 图片地址
    LinkToFile: true,
    SaveWithDocument: true,
    Left: 10, // 图片距离左边位置
    Top: 10, // 图片距离顶部位置
    WrapFormat: 60, // 图片宽度
    Height: 120 // 图片高度
  })

  // 获取第 1 个图形对象
  const shape = await shapes.Item(1)

  // 设置文字环绕模式
  shape.WrapFormat = app.Enum.WdWrapType.wdWrapSquare
}

Item(Index).AlignShapeTo()

JSSDK: v1.1.15+、WebOffice v4.1.1+ 支持

将非嵌入式图片移动到特定位置,并用图片的某个点对齐这个位置

语法

表达式.ActiveDocument.Shapes.Item(Index).AlignShapeTo({ Gcp, BasePoint })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Gcp
Number
正文的位置
BasePoint
Enum
指定如何在形状周围环绕文字,可参照 Enum.BasePoint

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取图形对象
  const shapes = await app.ActiveDocument.Shapes

  // 插入非嵌入式图片
  await shapes.AddPicture({
    FileName:
      'https://img.qwps.cn/583546003_25a7bc59d95249c2a3c257fa369ca289?imageMogr2/thumbnail/180x180!', // 图片地址
    LinkToFile: true,
    SaveWithDocument: true,
    Left: 10, // 图片距离左边位置
    Top: 10, // 图片距离顶部位置
    Width: 60, // 图片宽度
    Height: 120 // 图片高度
  })

  // 获取第 1 个图形对象
  const shape = await shapes.Item(1)

  // 将非嵌入式图片移动到特定位置,并用图片的某个点对齐这个位置
  await shape.AlignShapeTo(1, app.Enum.BasePoint.leftTop)
}

Item(Index).ConvertToInlineShape()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

非嵌入式对象转换成嵌入式对象

语法

表达式.ActiveDocument.Shapes.Item(Index).ConvertToInlineShape()

表达式:文档类型应用对象

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取图形对象
  const shapes = await app.ActiveDocument.Shapes

  // 插入非嵌入式图片
  await shapes.AddPicture({
    FileName:
      'https://img.qwps.cn/583546003_25a7bc59d95249c2a3c257fa369ca289?imageMogr2/thumbnail/180x180!', // 图片地址
    LinkToFile: true,
    SaveWithDocument: true,
    Left: 10, // 图片距离左边位置
    Top: 10, // 图片距离顶部位置
    Width: 60, // 图片宽度
    Height: 120 // 图片高度
  })

  // 获取第 1 个图形对象
  const shape = await shapes.Item(1)

  // 将第 1 个图形对象转换成嵌入式对象
  await shape.ConvertToInlineShape()
}

Item(Index).Delete()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

删除单个图形

语法

表达式.ActiveDocument.Shapes.Item(Index).Delete()

表达式:文档类型应用对象

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取图形对象
  const shapes = await app.ActiveDocument.Shapes

  // 插入非嵌入式图片
  await shapes.AddPicture({
    FileName:
      'https://img.qwps.cn/583546003_25a7bc59d95249c2a3c257fa369ca289?imageMogr2/thumbnail/180x180!', // 图片地址
    LinkToFile: true,
    SaveWithDocument: true,
    Left: 10, // 图片距离左边位置
    Top: 10, // 图片距离顶部位置
    Width: 60, // 图片宽度
    Height: 120 // 图片高度
  })

  // 获取第 1 个图形对象
  const shape = await shapes.Item(1)

  // 删除单个图形
  await shape.Delete()
}

Item(Index).IncrementLeft()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

将指定形状水平移动指定的磅数

语法

表达式.ActiveDocument.Shapes.Item(Index).IncrementLeft(Increment)

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Increment
Number
指定形状水平移动的距离,以磅为单位。为正值时将形状右移;为负值时将形状左移

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取图形对象
  const shapes = await app.ActiveDocument.Shapes

  // 插入非嵌入式图片
  await shapes.AddPicture({
    FileName:
      'https://img.qwps.cn/583546003_25a7bc59d95249c2a3c257fa369ca289?imageMogr2/thumbnail/180x180!', // 图片地址
    LinkToFile: true,
    SaveWithDocument: true,
    Left: 10, // 图片距离左边位置
    Top: 10, // 图片距离顶部位置
    Width: 60, // 图片宽度
    Height: 120 // 图片高度
  })

  // 获取第 1 个图形对象
  const shape = await shapes.Item(1)

  // 将第 1 个图形往右移动 30 磅
  await shape.IncrementLeft(30)
}

Item(Index).IncrementTop()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

将指定形状垂直移动指定的磅数

语法

表达式.ActiveDocument.Shapes.Item(Index).IncrementTop(Increment)

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Increment
Number
指定形状水平移动的距离,以磅为单位。为正值时将形状右移;为负值时将形状左移

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取图形对象
  const shapes = await app.ActiveDocument.Shapes

  // 插入非嵌入式图片
  await shapes.AddPicture({
    FileName:
      'https://img.qwps.cn/583546003_25a7bc59d95249c2a3c257fa369ca289?imageMogr2/thumbnail/180x180!', // 图片地址
    LinkToFile: true,
    SaveWithDocument: true,
    Left: 10, // 图片距离左边位置
    Top: 10, // 图片距离顶部位置
    Width: 60, // 图片宽度
    Height: 120 // 图片高度
  })

  // 获取第 1 个图形对象
  const shape = await shapes.Item(1)

  // 将第 1 个图形往下移动 30 磅
  await shape.IncrementTop(30)
}

Item(Index).Select()

JSSDK: v1.1.10+、WebOffice v2.3.1+ 支持

选中单个图形对象

语法

表达式.ActiveDocument.Shapes.Item(Index).Select()

表达式:文档类型应用对象

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取图形对象
  const shapes = await app.ActiveDocument.Shapes

  // 插入单个图片
  await shapes.AddPicture({
    FileName:
      'https://img.qwps.cn/583546003_25a7bc59d95249c2a3c257fa369ca289?imageMogr2/thumbnail/180x180!', // 图片路径
    LinkToFile: false,
    SaveWithDocument: false
  })

  // 获取第 1 个图形对象
  const shape = await shapes.Item(1)

  // 选中单个图形对象
  await shape.Select()
}

Item(Index).ZOrder()

JSSDK: v1.1.15+、WebOffice v4.1.1+ 支持

选中单个图形对象

语法

表达式.ActiveDocument.Shapes.Item(Index).ZOrder({ ZOrderCmd })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
ZOrderCmd
Enum
指定要将形状移动到的相对于其他形状的 z-index 位置,可参照 Enum.ZOrderCmd

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取图形对象
  const shapes = await app.ActiveDocument.Shapes

  // 插入非嵌入式图片
  await shapes.AddPicture({
    FileName:
      'https://img.qwps.cn/583546003_25a7bc59d95249c2a3c257fa369ca289?imageMogr2/thumbnail/180x180!', // 图片地址
    LinkToFile: true,
    SaveWithDocument: true,
    Left: 10, // 图片距离左边位置
    Top: 10, // 图片距离顶部位置
    ZOrder: 60, // 图片宽度
    Height: 120 // 图片高度
  })

  // 获取第 1 个图形对象
  const shape = await shapes.Item(1)

  // 指定要将形状移动到的相对于其他形状的 z-index 位置
  shape.ZOrder(app.Enum.ZOrderCmd.bringInFrontOfText)
}