office-js - 在office-js中插入svg

标签 office-js officedev

背景

我正在使用 Word Javascript API 开发 Office 添加以在文档中插入一些图表。

我当前的方法如下:
在任务 Pane 中生成 SVG 图像 => 使用 canvg 在 Canvas 上绘制图像 => 将 Canvas 图像获取为 png => 插入到 Word 文档中

除了一件事之外,这一切都很好 - png 图像本身是模糊的,并且由于转换而导致了相当多的质量损失。

问题
是否可以将 Body.insertInlinePictureFromBase64 与矢量图形图像一起使用?

一些注意事项:

  • 尝试将图像作为纯 XML 插入 - 失败
  • 尝试将 svg 字符串编码为 base64 并将其传递给 insertInlinePicture 方法插入 - 无法使其工作仅显示损坏的图像 (可能是因为它需要一个实际的位图图像而不是 矢量图像)

最佳答案

托多尔 - 很好的问题。问题是 Office 不支持矢量文件格式。事实上,如果您尝试直接从 Word 中的“插入”->“图片”功能插​​入 *.svg 图像,您会发现该图像不会按照您的预期插入。例如,Word Online 也是如此。

我建议您尝试 jpg、jpeg、png、gif、bmp、tif 或 tiff 格式。

谢谢! 胡安。

关于office-js - 在office-js中插入svg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39571984/

相关文章:

office-js - 通过 Microsoft Graph 在 Outlook 加载项中设置自定义属性

c# - Sharepoint Online 无法使用 CSOM 创建 DocumentSet Microsoft.SharePoint.Client.DocumentManagement.dll

javascript - 如何使用 Javascript API 在 Excel 中插入下拉列表或复选框?

javascript - 未捕获的 ReferenceError : Type is not defined in sp. runtime.js

excel - 当其他 Excel 实例具有焦点时,无法获取事件工作表或选定范围

javascript - 如何使用 office.js 命名和引用 Excel 范围

excel - 在 Excel Online 中,OfficeJS API 不再将 host_Info_ 参数传递给 Excel 加载项

c# - 使用 REST 和 HTTPClient 在 SP2013 中创建文件夹

macos - Powerpoint 插件 API(Windows 和 Mac)