vue使用html-docx-js导出页面包含echarts词云
时间: 2023-12-31 11:04:06 浏览: 190
要在导出的 Word 文档中包含 ECharts 词云,你需要先将 ECharts 词云转换为图片,然后将图片插入到 Word 文档中。以下是实现的步骤:
1. 安装 html-to-image 和 html-docx-js 两个库:
```
npm install html-to-image html-docx-js --save
```
2. 将 ECharts 词云转换为图片:
```javascript
import htmlToImage from 'html-to-image';
// 将 ECharts 容器转换为图片
htmlToImage.toPng(document.getElementById('echarts-container'))
.then(function (dataUrl) {
// 将图片插入到 Word 文档中
const image = document.createElement('img');
image.src = dataUrl;
const content = [{image: image, width: 500}];
const doc = htmlDocx.asBlob('<div></div>', { orientation: 'landscape' }, content);
saveAs(doc, 'report.docx');
})
.catch(function (error) {
console.error('生成图片出错:', error);
});
```
3. 将图片插入到 Word 文档中:
```javascript
import htmlDocx from 'html-docx-js';
import { saveAs } from 'file-saver';
// 将图片插入到 Word 文档中
const image = document.createElement('img');
image.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAARiS0dEAP8A/wD/oL2nkwAAAadJREFUSA3tlM8KgjAQQOzFJ2sHx/klRMSX6UwB2oM+gMkRqC4E1Qj+gI7gXtA9QwLeQg6gI7gXtA9QwLeQg6gI7gXtA9QwLeQg6gI7gXtA9QwLeQg6gI7gXtA9QwLeQg6gI7gXtA9QwLeQg6gI7gXtA9QwLeQg6gI7gXtA9QwLeQg6gI7gXtA9QwLeQg6gI7gXtA9QwLeQg6gI7gXtA9QwLeQg6gI7gXtA9QwLeQg6gI7gXtA9QwLeQg6gI7gXtA9QwLewg/wGJ3eU7yE8cJAAAAAElFTkSuQmCC';
const content = [{image: image, width: 500}];
const doc = htmlDocx.asBlob('<div></div>', { orientation: 'landscape' }, content);
saveAs(doc, 'report.docx');
```
注意:上面的代码中,`echarts-container` 是 ECharts 词云的容器 ID,`saveAs` 是 `file-saver` 库提供的方法,用于将 Blob 对象转换为文件并下载到本地。
阅读全文
相关推荐









