JavaScript 将 Docx 文件转换为 HTML
使用 JavaScript 库 'mammoth.js' 可以将 Docx 文件转换为 HTML。以下是如何使用 'mammoth.js' 进行转换的代码示例:
首先,将 'mammoth.js' 库引入到你的 HTML 文件中:
<script src='https://cdnjs.cloudflare.com/ajax/libs/mammoth.js/1.4.0/mammoth.browser.min.js'></script>
然后,编写 JavaScript 代码来执行转换:
var input = document.getElementById('input'); // 获取上传的 docx 文件的 input 元素
input.addEventListener('change', function(e) {
var file = e.target.files[0]; // 获取上传的文件
var reader = new FileReader();
reader.onload = function(e) {
var arrayBuffer = e.target.result; // 获取文件的二进制数据
var options = { outputFormat: 'html' }; // 设置转换选项
var converted = convertToHtml(arrayBuffer, options); // 调用转换函数
document.getElementById('output').innerHTML = converted.value; // 将转换后的 HTML 显示在页面上
};
reader.readAsArrayBuffer(file); // 将文件读取为二进制数据
});
function convertToHtml(arrayBuffer, options) {
return new Promise(function(resolve, reject) {
var fileReader = new FileReader();
fileReader.onload = function() {
var arrayBuffer = this.result;
var options = options || {};
var result = mammoth.convertToHtml({ arrayBuffer: arrayBuffer }, options);
var html = result.value;
resolve(html);
};
fileReader.onerror = reject;
fileReader.readAsArrayBuffer(arrayBuffer);
});
}
上述代码中,我们首先获取了上传的 docx 文件的 input 元素,并监听其 change 事件。当用户选择文件后,我们将文件读取为二进制数据,并调用 'convertToHtml' 函数进行转换。转换完成后,将转换后的 HTML 显示在页面上。
最后,在页面中添加以下元素来展示转换后的 HTML:
<div id='output'></div>
请注意,由于安全原因,浏览器通常不允许直接读取本地文件。因此,你需要将代码部署到服务器上,或者使用本地开发服务器来运行代码。
原文地址: https://www.cveoy.top/t/topic/o5dH 著作权归作者所有。请勿转载和采集!