使用html-docx-js-typescript将Html转换为Word文件

html-docx-js-typescript 是一个 JavaScript 库,它允许将 HTML 文档转换为 DOCX 格式的 Word 文档。这个库支持 Node.js 和浏览器环境,包括 Vue、React 和 Angular 等现代前端框架。

1、安装

通过 npm 来集成 html-docx-js-typescript,此外,由于该库在生成文件时通常会用到 Blob 对象,并且为了方便用户下载生成的 DOCX 文件,还会用到 file-saver 这个库。

bash 复制代码
npm install file-saver html-docx-js-typescript

2、使用

安装完成后,就可以在代码中使用这两个库来将 HTML 转换为 DOCX 文件了。以下是一个基本的示例,展示了如何导入必要的模块、准备 HTML 内容,并调用方法生成和保存 DOCX 文件:

TypeScript 复制代码
// 导入所需的模块  
import { asBlob } from 'html-docx-js-typescript';  
import { saveAs } from 'file-saver';  
  
// 准备一个包含 HTML 内容的字符串  
const htmlString = `  
<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>Document</title>  
</head>  
<body>  
    <h1>Welcome</h1>  
    <p>This is a sample HTML content that will be converted to a DOCX file.</p>  
</body>  
</html>  
`;  
  
// 调用 asBlob 函数将 HTML 字符串转换为 Blob 对象  
// asBlob 函数返回一个 Promise,因此我们需要使用 .then 来处理结果  
const fileData = asBlob(htmlString).then(data => {  
    // 使用 file-saver 的 saveAs 函数将 Blob 对象保存为文件  
    // 这里我们指定文件名为 'file.docx'  
    saveAs(data, 'file.docx');  
}).catch(error => {  
    console.error('Error converting HTML to DOCX:', error);  
});
相关推荐
志尊宝1 小时前
Vue3 零基础每日笔记(032):Suspense 与异步组件——懒加载与顶层 await 终极方案
前端·javascript·vue.js·笔记·html5
志尊宝1 小时前
Vue3 零基础每日笔记(035):什么是 Composables——mixin 之死与逻辑复用新方案
笔记·vue·html·前端开发·软件开发
是立不是利1 小时前
前端分页逻辑与边界场景实战解析
前端·javascript
xy34532 小时前
Axure 9.0 中继器创建与设置步骤
前端·ui·html·axure·原型·产品设计
流水白开2 小时前
JavaScript的原型链、类与类的继承
前端·javascript
YHL2 小时前
🚰流式输出:把 LLM 的每个字,像水一样送到浏览器
前端·javascript
触底反弹3 小时前
🔥 从执行上下文到 React 陷阱——彻底搞懂 JavaScript 闭包
javascript·react.js
志尊宝3 小时前
Vue3 零基础每日笔记(030):动态组件与 keep-alive——切换组件与页面缓存
笔记·vue·html·前端开发·软件开发
秋天的一阵风3 小时前
⚡2026 年了,十万级表格还只会「虚拟滚动」?难怪你的页面照样卡顿
前端·javascript·面试
志尊宝3 小时前
Vue3 零基础每日笔记(029):插槽 slot 三连——默认、具名、作用域一次讲透
前端·javascript·vue.js·vue·前端开发