该demo演示如何利用多八多IDE开发,将HTML代码导出为Word文档(.docx)
HtmlToDocx演示DEMO应用https://pre.d8dcloud.com/play/585DEMO总览
点击下载docx文件,将html代码传入htmlToDocx后台服务,转换成Word(.docx)文件后下载到本地
HTML代码
<h1>Hello World</h1>
转换效果
应用总览
前台按钮设置
按钮点击事件函数代码
const emitter = new events.EventEmitter();
emitter.on('run', async () => {
const axios = (await _F('module_func').callMethod('import', 'axios')).default;
const FileSaver = (await _F('module_func').callMethod('import', 'file-saver')).default;// 使用 file-saver 库来保存文件
// 定义要发送的 JSON 数据
const postData = {
key1: 'value1',
key2: 'value2',
// ...
};
// 设置请求头,告诉服务器接收的数据是 JSON 格式
const headers = {
'Content-Type': 'application/json'
};
console.log('axios',axios);
// 发送 POST 请求并获取响应
axios.post('/api/585/service_nsEi82NaJE', postData, {
headers,
responseType: 'blob' // 设置响应类型为二进制数据
}).then((response) => {
// 从响应中获取文件名
const filename = response.headers['content-disposition'].split('filename=')[1];
// 从响应中获取二进制数据
const fileData = response.data;
// 使用 file-saver 库保存文件
FileSaver.saveAs(new Blob([fileData]), filename);
}).catch((error) => {
console.error(error);
});
})
emitter.emit('run')
在按钮上点击鼠标右键,事件
在点击事件处理JS函数上右键点击,开发标识,复制JS函数的开发标识
按钮点击事件绑定,将JS函数开发标识粘贴到 按钮点击事件方法上
htmlToDocx后台服务
const emitter = new events.EventEmitter();
emitter.on('run', async () => {
const htmlToDocx = (await _F('module_func').callMethod('import', 'html-to-docx')).default;
const html = '<h1>Hello World</h1>';
// 调用 htmlToDocx 方法将 HTML 转换为 Docx 文档
const docx = await htmlToDocx(html);
console.log('htmlToDocx', typeof docx);
_F('header_func').callMethod('set',{name:'Content-Disposition',value:'attachment; filename=example.docx'});
_F('header_func').callMethod('set',{name:'Content-Type',value:'application/vnd.openxmlformats-officedocument.wordprocessingml.document'});
_funcCb(docx);
})
emitter.emit('run')
完成
demo下载地址 https://www.d8dcloud.com/#/app
多八多IDE注册使用地址