小元
博客
详情文字在这里缓缓展开
静候你翻开这一页

提取文档中的作者信息

基于js,在用户上传docx等word相关文档时,提取作者和文档创建时间。

提取文档中的作者信息


   简述:

       因某业务需要,需要在用户上传docx等文件信息时,提取作者信息,进行比对,防止重复提交等等。


   库:

       需要借组两个库 jszipdocxtemplater

<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/docxtemplater/3.13.0/docxtemplater.js"></script>


   代码:


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Upload DOCX and Get Author Info</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/docxtemplater/3.13.0/docxtemplater.js"></script>
  </head>
  <body>
    <input type="file" id="fileInput" />
    <p id="authorInfo"></p>
  </body>
</html>

<script>
document.getElementById('fileInput').addEventListener('change', function(event) {
  const file = event.target.files[0];
  if (!file) return;

  const reader = new FileReader();
  reader.onload = function(e) {
    const arrayBuffer = e.target.result;
    JSZip.loadAsync(arrayBuffer).then(function(zip) {
      zip.file('docProps/core.xml').async('text').then(function(coreXml) {
        const parser = new DOMParser();
        const xmlDoc = parser.parseFromString(coreXml, "application/xml");
        const author = xmlDoc.getElementsByTagName('dc:creator')[0]?.textContent || '未找到作者信息';
        const createTime = xmlDoc.getElementsByTagName('dcterms:created')[0]?.textContent || '未找到创建时间';
        document.getElementById('authorInfo').innerText= `作者:${author}\n创建时间:${createTime}`;
      });
    });
  };

  reader.readAsArrayBuffer(file);
});
</script>


渝ICP备2024031078号-1
本网站一切内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
如无意中侵犯了企业或个人的知识产权等,请及时通过电子邮件(1102905617@qq.com)告知我,本网站将会给予删除。
最新公告
😊访客你好,很高兴你的到来,本博客仍在建设中,还有些许功能尚在开发中,最后祝你在此能有所收获。
💥小元博客第三代自2025年9月上线以来,2026/08/09日迎来了它的第三次更新本次更新内容如下:
1. 文章详情页样式变更,由原来的弹窗改为单独的页面。
2. 使用Nuxt对项目进行了SEO优化,优化了搜索引擎的抓取和索引。
3. 对验签进行了优化,降低了请求被误触发拦截的概率。
4. 移动端也正在稳步推进中,在不久的将来会与大家见面。
5. 修复了首页黄历节日不显示的问题,以及其它bug的修复。