Mammoth:高效便捷的.docx到HTML转换器

Mammoth:高效便捷的.docx到HTML转换器

项目地址:https://gitcode.com/gh_mirrors/ma/mammoth.js

Mammoth是一个专门设计用来将.docx文档(如Microsoft Word、Google Docs和LibreOffice创建的文档)转换为HTML的工具。它的目标是通过利用文档中的语义信息来生成简洁、干净的HTML,而忽略其他细节,如字体、字号和颜色等呈现样式。

由于.docx和HTML之间的结构差异较大,对于复杂的文档,转换可能无法完美无瑕。Mammoth在文档中只使用样式进行语义标记时表现最佳。

以下是目前支持的功能特性:

  1. 标题(如 Heading 1 转换为 h1 元素)
  2. 列表
  3. 自定义docx样式到HTML的映射,例如将WarningHeading转换为h1.warning
  4. 表格,忽略表格本身的格式,但保留文本的格式
  5. 脚注和尾注
  6. 图像
  7. 粗体、斜体、下划线、删除线、上标和下标
  8. 链接
  9. 换行
  10. 文本框,内容作为单独段落出现在原段落之后
  11. 注释

在线演示与安装

最简单尝试Mammoth的方式是使用网页版演示,只需克隆仓库并运行make setup,然后在浏览器中打开browser-demo/index.html

要安装Mammoth,可以通过npm:

npm install mammoth

此外,Mammoth还提供了Python、WordPress、Java/JVM和.NET等平台的版本。

使用指南

命令行接口 (CLI)

你可以通过指定.docx文件及其输出文件路径来转换文件:

mammoth document.docx output.html

如果没有指定输出文件,输出将被写入标准输出。

图片处理

默认情况下,图片以内联方式包含在输出HTML中。如果指定了--output-dir,图片会被保存为单独的文件。

样式映射

自定义样式映射可通过--style-map参数读取文件,例如:

mammoth document.docx output.html --style-map=custom-style-map

Markdown支持

Markdown支持已弃用,建议生成HTML后使用独立库将其转换为Markdown,以获得更好的效果。

库级操作

在Node.js或浏览器环境中,可以常规方式引入Mammoth:

var mammoth = require("mammoth");

或者,使用mammoth.browser.js这个包含了Mammoth和其依赖项的单一JavaScript文件。如果未找到模块系统,mammoth将作为全局变量存在。

基本转换

要转换现有.docx文件为HTML,可调用mammoth.convertToHtml()

var mammoth = require("mammoth");

mammoth.convertToHtml({path: "path/to/document.docx"})
    .then(function(result){
        var html = result.value; 
        var messages = result.messages; 
    })
    .catch(function(error) {
        console.error(error);
    });
自定义风格映射与图像处理器

可以通过传递一个带有styleMap属性的选项对象自定义样式映射。还可以通过设置convertImage选项改变图片处理方式。

Mammoth是你理想的选择,它能帮助你轻松地从.docx格式过渡到HTML,尤其适用于那些注重内容结构而非视觉表现的场合。其简洁的API和广泛的平台支持使其成为跨平台文档转换的理想工具。立即尝试Mammoth,提升你的文档处理效率!

mammoth.js Convert Word documents (.docx files) to HTML mammoth.js 项目地址: https://gitcode.com/gh_mirrors/ma/mammoth.js

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柏克栋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值