使用 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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录