首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在office-js中插入svg

在office-js中插入svg
EN

Stack Overflow用户
提问于 2016-09-19 11:22:12
回答 2查看 1.7K关注 0票数 2

背景

我正在开发一个Office,使用Javascript这个词在文档中插入一些图表。

我目前的做法如下:

在任务中生成SVG图像,pane=>在画布上绘制图像,=>在Word文档中插入png =>获取画布图像。

这是很好的工作,除了一件事- png图像本身是模糊的,有相当多的质量损失,因为转换。

问题

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

一些注释:

  • 尝试将图像插入为普通XML -不起作用
  • 尝试将svg字符串编码为base64,并通过insertInlinePicture方法将其插入-无法使其工作,只显示一个损坏的图像(可能是因为它期望的是实际位图图像而不是矢量图像)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-23 00:09:28

托多尔-好问题。问题是Office不支持矢量文件格式。实际上,如果您试图从Word中的insert -> *.svg功能中直接插入一个图像,您将看到该图像将不会像您预期的那样被插入。例如,在线单词也是如此。

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

谢谢!胡安。

票数 0
EN

Stack Overflow用户

发布于 2019-03-17 13:51:19

下面是如何将SVG内容插入word文档的示例:

https://gist.github.com/barisbikmaz/73526f81e1425845fc199506ff871429

相关代码片段:

代码语言:javascript
复制
const svgImage = '<svg><rect x="0" y="0" height="50" width="50" style="stroke:#ff0000; fill:#0000ff" /></svg>';

Office.context.document.setSelectedDataAsync(svgImage, { coercionType: Office.CoercionType.XmlSvg, imageLeft: 220, imageTop: 220, imageWidth: 100 }, function(result) {
     console.log(result);
});

注意:

imageLeft和imageTop被Word忽略,请参见https://learn.microsoft.com/en-us/javascript/api/office/office.document?view=office-js

向你问好,拉希德

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39571984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档