使用PasteHtml方法合并文档中的图片,图片样式出错

阅读次数 8

image.png image.png 当前使用PasteHtml方法将其他文档的内容插入至该文档中,网络那里的图片是正常的,但是在文档显示时出现"图片破裂"的样式。目前需要使用PasteHtml方法去实现,请问这是什么原因导致的,需要如何解决?

2 Answers

没有复现该问题,可以提供下详细复现的操作代码。

以下核心代码,供对比排查看看

// 获取文档1 选中区域的区域对象Range
const range= await app.ActiveDocument.Selection.Range
// 获取指定区域的带格式 HTML 数据
const htmlInfo = await range.GetHtmlData()

// 粘贴到 文档2 的光标位置
app.ActiveDocument.Selection.Range.PasteHtml(htmlInfo)
// 或者手动设置range位置到
const range1 = await app.ActiveDocument.Range.SetRange(99, 100)
await range1.PasteHtml(htmlInfo)

你好,我这边的代码已经贴在下方评论了,请帮忙排查一下。

      // 导入图片的word文档
      this.insertInstance = WebOfficeSDK.init({
        officeType: 'w',
        appId: 'SX20240628SVYFAC',
        fileId,
        token: fileToken,
        mount: document.querySelector('#previewWpsHTML')
      })
      await this.insertInstance.ready()
      this.insertApp = this.insertInstance.Application
	  // 获取原文档HTML
      const insertDocumentRange =
        await this.insertApp.ActiveDocument.GetDocumentRange()
      const insertHtmlData = await insertDocumentRange.GetHtmlData()
      const insertHTML = insertHtmlData.HTML
      // 插入带有图片的文档至新文档中
      await this.app.ActiveDocument.Range(
        this.selectBegin,
        this.selectEnd
      ).PasteHtml({ HTML: insertHTML })

使用延时操作保证文档加载完成后再去做下一步处理,当前src路径存在,但图片路径报错404. image.png 打开报错的图片地址报错: 6208304107c3132312878e18742239d.png

可以按我提供的代码试试。你是一次性获取文档所有内容,文档内容是动态加载的,不一定会web页面上一次性渲染出所有内容,图片有可能存在非可视区域

我去使用延时的操作获取了插入文档的HTML信息,发现插入的是有值的,但是插入后的图片路径会报404错误,具体截图请看这条编辑后的回答。

红框中的链接能打开吗,直接发出来看看呢?