You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell在Word文档指定位置插入图片的技术咨询

在Word中通过PowerShell定位插入的图片

你当前用InlineShapes.AddPicture插入的图片是嵌入型,会跟随文本流排版,无法自由定位。要实现指定位置放置图片,有两种可行方案:

方案1:将嵌入型图片转为浮动型再设置位置

先插入InlineShape,再将其转换为Shape对象,之后即可设置绝对位置:

$word = New-Object -ComObject Word.Application
$word.visible = $true

$document = $word.documents.Add()
$selection = $word.selection        

# 插入嵌入型图片
$newInline = $selection.InlineShapes.AddPicture($path)
$newInline.Height = 50
$newInline.Width = 150

# 转换为浮动型Shape
$newShape = $newInline.ConvertToShape()
# 设置相对于页面左上角的位置(单位:磅)
$newShape.Top = 100
$newShape.Left = 200
# 可选:设置环绕方式,比如浮于文字上方
$newShape.WrapFormat.Type = 3 # 3对应wdWrapSquare,可按需调整

方案2:直接插入浮动型图片并指定位置

跳过InlineShapes,直接用Shapes.AddPicture插入并设置位置,更直接:

$word = New-Object -ComObject Word.Application
$word.visible = $true

$document = $word.documents.Add()

# 直接插入浮动型图片,同时指定位置和大小
$newShape = $document.Shapes.AddPicture(
    $path,
    $false, # LinkToFile:是否链接到原文件
    $true,  # SaveWithDocument:是否随文档保存
    200,    # Left:距页面左侧的距离(磅)
    100,    # Top:距页面顶部的距离(磅)
    150,    # Width:图片宽度
    50      # Height:图片高度
)
# 可选:设置环绕方式
$newShape.WrapFormat.Type = 3

关键说明

  • 位置单位是磅,1磅≈0.35毫米,可根据需求换算调整
  • WrapFormat.Type的常用值:
    • 1:wdWrapInline(嵌入型,即原代码的效果)
    • 3:wdWrapSquare(四周环绕型)
    • 5:wdWrapTopBottom(上下环绕型)
    • 7:wdWrapFront(浮于文字上方)
    • 8:wdWrapBack(衬于文字下方)

内容的提问来源于stack exchange,提问作者ndubs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 01:20:22