Skip to content

文字组件图形操作相关 API

获取图形对象

ActiveDocument.Shapes

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

语法

表达式.ActiveDocument.Shapes

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

示例

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

  const app = instance.Application

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

插入图片

ActiveDocument.Shapes.AddPicture()

插入非嵌入式图片

语法

表达式.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
图片的高度,以磅为单位

示例

//@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 // 图片高度
  })
}

获取图形个数

ActiveDocument.Shapes.Count

形状对象的个数

语法

表达式.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)
}

获取单个图形对象

ActiveDocument.Shapes.Item()

形状对象集合的单个对象

语法

表达式.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 个图形对象
  const shape = await shapes.Item(1)
}

设置单个图形宽度

ActiveDocument.Shapes.Item(Index).Width

单个图形对象的宽度

语法

表达式.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
}

设置单个图形高度

ActiveDocument.Shapes.Item(Index).Height

单个图形对象的高度

语法

表达式.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
}

删除图形

ActiveDocument.Shapes.Item(Index).Delete()

删除单个图形

语法

表达式.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()
}

转换成嵌入式图形

ActiveDocument.Shapes.Item(Index).ConvertToInlineShape()

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

语法

表达式.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()
}

设置图形距左值

ActiveDocument.Shapes.Item(Index).IncrementLeft()

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

语法

表达式.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)
}

设置图形距上值

ActiveDocument.Shapes.Item(Index).IncrementTop()

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

语法

表达式.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)
}

嵌入式图形对象

ActiveDocument.InlineShapes

所选内容中的所有嵌入式对象

语法

表达式.ActiveDocument.InlineShapes

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

示例

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

  const app = instance.Application

  // 所选内容中的所有嵌入式对象
  const info = await app.ActiveDocument.InlineShapes
}

插入嵌入式图形

ActiveDocument.InlineShapes.AddPicture()

插入嵌入式图片

语法

表达式.ActiveDocument.InlineShapes.AddPicture({ FileName, LinkToFile, SaveWithDocument, Range })

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

参数

属性类型默认值必填说明
FileName
string
图片的路径和文件名
LinkToFile
string
为 true 表示要将图片链接到创建它的文件,false 使图片文件的独立副本。默认值为 false
SaveWithDocument
string
为 true 要随文档一起保存的链接的图片。默认值为 false
+
Range
Range {}
图片置于文本中的位置。

示例

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

  const app = instance.Application

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

  // 插入嵌入式图片
  await shapes.AddPicture({
    FileName:
      'https://img.qwps.cn/583546003_25a7bc59d95249c2a3c257fa369ca289?imageMogr2/thumbnail/180x180!', // 图片路径
    LinkToFile: false,
    SaveWithDocument: false,
    Range: {
      start: 1,
      end: 2
    }
  })
}

嵌入式图形对象个数

ActiveDocument.InlineShapes.Count

嵌入式对象的个数

语法

表达式.ActiveDocument.InlineShapes.Count

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

示例

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

  const app = instance.Application

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

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

  // 嵌入式对象的个数
  const count = await shapes.Count
  console.log(count)
}

单个嵌入式图形对象

ActiveDocument.InlineShapes.Item()

获取单个嵌入式图形对象

语法

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

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

示例

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

  const app = instance.Application

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

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

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

单个嵌入式图形对象宽度

ActiveDocument.InlineShapes.Item(Index).Width

设置单个嵌入式图形对象的宽度

语法

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

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

示例

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

  const app = instance.Application

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

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

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

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

单个嵌入式图形对象高度

ActiveDocument.InlineShapes.Item(Index).Height

设置单个嵌入式图形对象的高度

语法

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

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

示例

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

  const app = instance.Application

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

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

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

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

删除单个嵌入式图形

ActiveDocument.InlineShapes.Item(Index).Delete()

删除嵌入式图形对象

语法

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

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

示例

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

  const app = instance.Application

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

  // 插入嵌入式图片
  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.Delete()
}

选中单个嵌入式图形对象

ActiveDocument.Shapes.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()
}

转换成非嵌入式图形对象

ActiveDocument.InlineShapes.Item(Index).ConvertToShape()

嵌入式图形对象转换为非嵌入式图形对象

语法

表达式.ActiveDocument.InlineShapes.Item(Index).ConvertToShape()

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

示例

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

  const app = instance.Application

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

  // 插入嵌入式图片
  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.ConvertToShape()
}