Word 转 HTML w2html
约 612 字大约 2 分钟
...
2026-09-28
插件说明
@sv-print/plugin-ele-w2html Word 文档转 HTML 打印元素插件:设计态监听元素粘贴,检测 Word 内容(urn:schemas-microsoft-com:office:word)后清洗节点转为 HTML,支持长内容自动分页。
核心能力:
- 使用 css-tree 给所有选择器加
${w2htmlId}前缀隔离,避免样式污染 - file:// 本地图片经
hiwebSocket转 base64 或上传后替换 - 转换结果存入
options.formatter,样式存入w2htmlStyle
第三方依赖:css-tree;本地图片转换需配合 hiwebSocket 服务。
npm install @sv-print/plugin-ele-w2html示例代码
import pluginEleW2html from '@sv-print/plugin-ele-w2html';
const plugins = [
pluginEleW2html({
type: 'base64', // 图片处理方式: base64 | upload // upload 需配合 hiwebSocket 服务
// type 为 upload 时的上传配置
// options: { url: "/upload", headers: {}, params: {}, timeout: 30000 },
// placeholder: "自定义占位提示 html",
}),
];
await hiprint.register({ plugins }); // 须在创建模板/打开设计器之前注册后拖拽面板「插件」分组出现「w2html」元素(默认 400x210),从 Word 复制内容后在元素上按 Ctrl/Command + V 即可转换。
高级用法
元素参数
| 参数 | 说明 |
|---|---|
w2htmlId | 样式隔离前缀(随机 6 位,自动生成) |
w2htmlMode | 分页方式:1(尝试下页)、2(当前页) |
w2htmlTableHeaderRepeat | 表格头显示:page(每页)/ first(首页) |
w2htmlTableFooterRepeat | 表格脚显示:page(每页)/ last(最后) |
w2htmlStyle | Word 文档样式(自动生成的 <style> CSS,可微调) |
w2htmlBreak | 分页处理函数 (target, htmlStr, node) => boolean,可按 page-break-before:always 等强制分页 |
filterNodes | 整体节点(分页不可切断),默认 th,td |
插件 config
| 参数 | 说明 |
|---|---|
type | 图片处理方式:base64(转内联)或 upload(上传) |
options | upload 配置:url、headers、params、timeout |
placeholder | 自定义占位提示内容 |
注意事项
- 上传方式需要
globalThis.hiwebSocket.socket可用,图片通过socket.emit("io", { type: "image", to: config.type, ... })处理 - 转换后的内容与样式一并存入
formatter/w2htmlStyle,可继续手动微调
版权所有
版权归属:sv-print
