mammoth.js是node和浏览器中word文档转成html代码的插件


Mammoth.js是一个轻量级的JavaScript库,旨在将.docx文件转换为HTML。其核心功能在于将Word文档中的格式和样式转换为HTML格式,让开发者能够更容易地在网页上展示和处理Word文件内容。

主要特点:

专注于内容:Mammoth.js致力于将Word中的文档内容转换为干净的HTML,忽略其他复杂的样式和格式,这有助于避免导入不必要的样式时的问题。

风格映射:您可以定义自己的样式映射,例如将Word文档中的标题自动转换为指定的HTML元素。

浏览器和服务器兼容:Mammoth.js可以在浏览器中使用,也可安装在Node.js服务器上。

安装:

在Node.js项目中,您可以使用npm来安装Mammoth.js:

npm install mammoth

基本用法:

在Node.js中,使用Mammoth.js来转换.docx文件为HTML相当直接:
var mammoth = require("mammoth");

mammoth.convertToHtml({path: "path_to_your_docx_file.docx"})
.then(function(result){
var html = result.value; // The generated HTML
var messages = result.messages; // Any messages, such as warnings during conversion
})
.done();

在浏览器中,您可以使用Mammoth.js的浏览器版本,通过以下方式使用读取本地文件并将其转换为HTML:

引入

<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/mammoth.browser.js"></script>

js代码
var reader = new FileReader();

reader.onload = function(event) {
var arrayBuffer = event.target.result;

mammoth.convertToHtml({arrayBuffer: arrayBuffer})
.then(displayResult)
.done();
};

reader.readAsArrayBuffer(input.files[0]);

完整代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Doc to Image</title>
</head>
<body>

<input type="file" id="upload" accept=".doc,.docx"/>
<div id="hiddenArea"></div>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/mammoth.browser.js"></script>

<script>
document.getElementById('upload').addEventListener('change', function(event) {
    const reader = new FileReader();
    reader.onload = function(event) {
        mammoth.convertToHtml({arrayBuffer: event.target.result})
        .then(displayResult)
        .catch(handleError);
    };
    reader.readAsArrayBuffer(event.target.files[0]);
});

function displayResult(result) {
    var hiddenArea = document.getElementById('hiddenArea');
    hiddenArea.innerHTML = result.value; // result.value is HTML content
   
}

function handleError(err) {
    console.log(err);
}
</script>
</body>
</html>

注意事项:

Mammoth.js并不打算支持所有可能的Word特性,特别是复杂的格式和样式可能无法精确转换。

导出的HTML最适合用作内容的起点,可能需要手动编辑来达到完美匹配的样式。

Mammoth.js提供了一种简洁而有效的方式,让开发者处理Word文档的内容并在网络环境下呈现出该内容。
立即下载mammoth.browser.js查看所有js插件

网友评论0

程序员在线工具箱