精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

探索Word文檔導入導出的前端實現方案

開發 前端
本質上就是我們將 html?內容轉化為blob?,并設置類型為application/msword?, 最后通過revokeObjectURL api來實現docx文檔下載。

最近由于AI應用的高速發展,使得文檔/知識庫成為了AI的首選試煉場。比如用AI提取PDF的大綱和關鍵內容,用AI總結電子書的內容,AI對DOC文檔進行潤色,優化等,這些都離不開對文檔的解析和處理。

那么前端能不能實現對文檔的解析和處理呢?答案是肯定的,接下來我就和大家分享一下:

  • 前端如何解析Word文件
  • 基于HTML,一鍵導出為Word文檔

當然口說無憑,我已經在Nocode/WEP文檔知識引擎中把Doc文檔功能實現了,大家感興趣的可以親自體驗一下。

圖片image.png

好啦,接下來開始我們的技術分享。

往期精彩

  • 零代碼+AI的階段性復盤
  • 文檔引擎+AI可視化打造下一代文檔編輯器
  • 爆肝1000小時, Dooring零代碼搭建平臺3.5正式上線
  • 從零打造一款基于Nextjs+antd5.0的中后臺管理系統

Word文檔的本質

圖片圖片

image.png

Word 文檔的本質是一種電子文檔格式,它主要用于創建、編輯和保存文本內容,同時還可以包含圖片、表格、圖表等多種元素。它是一種方便的工具,用于記錄、整理和交流信息。

doc 和 docx 是兩種常見的 Word 文檔格式,它們主要有以下區別:

  • 版本:doc 是 Word 2003 及之前版本的默認文件格式,而 docx 是 Word 2007 及之后版本的默認文件格式。
  • 兼容性:doc 格式的兼容性較好,可以被大多數舊版本的 Word 軟件打開。而 docx 格式在較新版本的 Word 中得到完全支持,但在一些舊版本的 Word 中可能需要安裝兼容性插件才能正常打開。
  • 文件體積:由于 docx 格式采用了更高效的壓縮技術,所以它的文件體積通常比 doc 格式小。
  • 安全性:docx 格式采用基于 XML 的格式,相對更安全一些,不容易受到宏病毒的攻擊。
  • 功能支持:docx 格式支持更多的新特性和功能,如高級的圖表和圖形處理、更豐富的格式選項、多媒體嵌入等。而 doc 格式則不支持這些新功能。

為了與時俱進,我們優先考慮最新標準格式 docx, 那么如何解析 docx 呢,這就要進一步分析一下 docx文件的本質了。

docx 的本質是什么

docx 我們第一感覺是一個文件,其實確實是一個文件(壓縮文件),我用解壓工具提取文件之后,它的文件結構是這樣的:

圖片圖片

進入 word 文件夾,可以看到如下目錄結構:

圖片圖片

打開一個 xml 文件可以看到類似如下的內容:

圖片圖片

看到這熟悉前端的小伙伴應該就比較熟悉了,我們可以使用類似于 document 的方法解析處理不同的XML標簽,從而實現對 docx 文件的解析。

如何實現Word文檔的解析

有了以上的分析結果,我們自己實現一個word文檔解析器就非常容易了,但是考慮到docx的xml 文件的復雜性,我們自己實現需要考慮很多種情況,比如:

  • 標題
  • 列表
  • 標題
  • 列表
  • 可定制的 docx 樣式到 HTML 的映射
  • 表格:表格格式(如邊框)
  • 腳注和尾注
  • 圖片
  • 粗體、斜體、下劃線、刪除線、上標和下標。
  • 鏈接
  • 換行
  • 文本框:文本框的內容被視為一個單獨的段落,出現在包含文本框的段落之后。
  • 注釋

如果是項目進度比較緊張的情況下,我們自己實現肯定是要被“批斗”的,所以我們可以考慮第三方成熟的解決方案。

第三方開源方案

這里直接上我總結的幾個開源方案:

  • Python 中的 python-docx
  • DocX:一個基于.NET框架的庫,用于操作Word 2007/2010/2013文件,具有簡單易用的API,無需安裝額外軟件,支持非商業用途。
  • OpenXml-PowerTools:一個基于Open XML文檔編程接口開發的開源工具,擴展了Open XML SDK的功能,支持將docx、pptx文件拆分為多個文件、將多個docx、pptx文件合并為一個文件、使用XML數據模板生成docx文件、docx文檔高保值轉換為Html頁面等功能
  • Mammoth 一個專注于轉換 .docx 文檔的工具庫,支持瀏覽器和服務器使用

那作為前端的小伙伴,我們首選 Mammoth。

圖片圖片

github地址:https://github.com/mwilliamson/mammoth.js

實戰Word文檔解析

接下來和大家分享一下使用 Mammoth 來實現 docx 文檔解析。

先來看一個簡單的例子:

import mammoth from 'mammoth';

mammoth.convertToHtml({path: "你的doc文件的路徑/document.docx"})
    .then(function(result){
        var html = result.value; // 解析出的html結果
        var messages = result.messages; // 錯誤或者額外的提示信息
    })
    .catch(function(error) {
        console.error(error);
    });

以上代碼是在node.js 環境下實現的簡單例子,當然我們也可以在瀏覽器中直接使用,我在看完了它的文檔之后,加上自己的研究,寫了一個能自定義圖片上傳路徑,并支持修改文檔樣式的demo,這里分享一下:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <input type="file" onchange="handleFile(this.files[0])" />

  <script src="https://unpkg.com/mammoth@latest/dist/mammoth.min.js"></script>
  <script>
    function handleFile(file) {
      const reader = new FileReader();
      reader.onload = function (loadEvent) {
        const arrayBuffer = loadEvent.target.result;
        mammoth.convertToHtml({ arrayBuffer: arrayBuffer }, {
          // 設置自定義圖片上傳路徑
          imageReader: (image) => {
            return new Promise((resolve, reject) => {
              // 在這里實現圖片上傳邏輯,并將上傳后的圖片路徑作為結果返回
              resolve('your_uploaded_image_path'); 
            });
          },
          // 設置文本樣式
          styleMap: [
            // 標題樣式
            {
              name: 'Heading 1',
              element: 'h1',
              attributes: {
                'tyle': 'font-size: 24px; color: #333;',
              },
            },
            // 正文樣式
            {
              name: 'Normal',
              element: 'p',
              attributes: {
                'tyle': 'font-size: 16px; color: #666;',
              },
            },
          ],
        })
        .then(result => {
            console.log(result.value);
          })
        .catch(error => {
            console.error(error);
          });
      };
      reader.readAsArrayBuffer(file);
    }
  </script>
</body>

</html>

Word文檔導出實現

圖片圖片

實現將html導出為word文檔,方法其實也很簡單,這里直接分享一下我的方案:

const html = docRef.current;
const blob = new Blob([html.innerHTML], { type: 'application/msword' });

// 創建一個下載鏈接
const link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = 'wep.doc';

// 模擬點擊下載鏈接
link.click();

// 釋放資源
URL.revokeObjectURL(link.href);

本質上就是我們將 html內容轉化為blob,并設置類型為application/msword, 最后通過revokeObjectURL api來實現docx文檔下載。

當然還有其他方案,這里也和大家分享一下:

import htmlDocx from 'html-docx-js/dist/html-docx';
import FileSaver from 'file-saver';

// 定義要導出的 HTML 內容
const htmlContent = `
  <h1>標題</h1>
  <p>這是一段文本。</p>
  <table border="1">
    <tr>
      <th>姓名</th>
      <th>年齡</th>
    </tr>
    <tr>
      <td>張三</td>
      <td>25</td>
    </tr>
  </table>
`;

// 將 HTML 轉換為 Word 文檔
const docx = htmlDocx.asBlob(htmlContent);

// 保存 Word 文檔
FileSaver.saveAs(docx, 'example.docx');

所有案例都在Nocode/WEP中實現,大家感興趣可以參考一下:http://wep.turntip.cn/

責任編輯:武曉燕 來源: 趣談前端
相關推薦

2009-12-10 14:18:22

PHP導出Word文檔

2020-09-22 09:41:09

前端

2010-07-23 09:25:50

SQL Server導

2021-07-01 15:25:32

前端水印代碼

2011-04-13 10:09:50

Oracle數據泵導入導出

2014-08-15 13:44:40

mongodb

2011-05-16 14:17:31

MySQL導入導出大量數據

2010-07-12 17:25:32

SQL Server海

2023-12-07 08:53:10

Vue2Blob

2009-09-27 10:43:13

C#合并多個WORD文

2011-01-18 17:05:35

Thunderbird郵件導入導出

2010-06-09 10:09:39

MySQL 數據庫導入

2010-05-27 09:50:18

MySQL導入sql腳

2010-07-16 10:12:21

SQL Server導

2011-05-25 17:17:54

前端開發

2009-08-25 18:16:34

.NET操作Word

2020-12-23 14:18:43

JavaScript模塊導出

2010-10-28 11:55:47

oracle數據導出

2019-08-25 23:30:10

mysql命令mysqldump

2024-05-20 09:07:03

點贊
收藏

51CTO技術棧公眾號

色欧美日韩亚洲| 日韩国产欧美在线观看| 欧美男男青年gay1069videost| 视频一区二区在线| 中文文字幕一区二区三三| 欧美激情电影| 亚洲大胆美女视频| 国产成人精品无码播放| 九色porny在线| 丁香啪啪综合成人亚洲小说 | 亚洲91av| 国产香蕉久久精品综合网| 91久久久国产精品| 欧美特黄aaaaaa| 欧美激情成人| 亚洲视频福利| 日韩一区在线看| 国产三区精品| 91精品国产乱码久久久| 夜夜爽av福利精品导航| 日韩在线视频观看| 亚洲av无码一区二区二三区| 欧美另类中文字幕| 色综合久久久久综合体| 成人免费观看在线| 在线免费黄色| 久久免费视频色| 444亚洲人体| 在线观看国产精品视频| 欧美亚洲三级| 久久久久免费视频| 亚洲区一区二区三| 色综合中文网| 亚洲国产精品热久久| 中文字幕资源在线观看| 一二区成人影院电影网| 精品久久久久久中文字幕| 在线观看三级网站| 欧美成人高清在线| 欧美国产日本视频| 欧美一进一出视频| 日韩欧美电影在线观看| 成人性生交大片| 亚洲已满18点击进入在线看片| 中文 欧美 日韩| 丝袜亚洲另类欧美| 日韩美女在线观看一区| 国产精品第一页在线观看| 欧美激情 亚洲a∨综合| 粗暴蹂躏中文一区二区三区| 精品在线观看一区| 日韩中文在线电影| 日韩在线观看免费全集电视剧网站| 精品人妻互换一区二区三区| 日韩aaa久久蜜桃av| 亚洲激情中文字幕| 亚洲 欧美 日韩在线| 中文字幕一区二区三区中文字幕| 日韩欧美一级片| 亚洲欧美激情一区二区三区| 日韩精品一级| 精品久久一区二区三区| 亚洲女人初尝黑人巨大| 欧美三级理论片| 国精产品一区二区三区有限公司| 色婷婷综合激情| 无码少妇一区二区三区芒果| 成人久久网站| 欧美日本一区二区在线观看| www.超碰97.com| 91丨精品丨国产| 日韩一级二级三级| 香蕉久久久久久av成人| 精品三级av| 日韩精品电影网| 日韩在线免费观看av| 国精一区二区| 菠萝蜜影院一区二区免费| 日本黄色免费片| 天天射综合网视频| 色综合久久悠悠| 韩国av免费观看| 日日噜噜夜夜狠狠视频欧美人| 国产精品久久久久久久一区探花| 亚洲午夜无码久久久久| 国内外成人在线| 国产经典一区二区三区| 四虎影视2018在线播放alocalhost| 久久亚洲一区二区三区明星换脸| 西游记1978| 在线āv视频| 日韩欧美一区二区三区久久| 手机版av在线| 欧美高清视频看片在线观看| 深夜成人在线观看| 日本一本高清视频| 免费欧美日韩国产三级电影| 69堂成人精品视频免费| 视频国产在线观看| 综合色天天鬼久久鬼色| 你懂的av在线| www一区二区三区| 日韩av网址在线观看| 欧美性猛交xxxx乱大交少妇| 亚洲午夜激情在线| 国产精品视频网址| 国产肥老妇视频| 久久久影院官网| 国产精品免费看久久久无码| 欧美成人h版| 日韩一卡二卡三卡| 性猛交娇小69hd| 亚洲性感美女99在线| 国产精品你懂得| 天堂中文在线官网| 综合婷婷亚洲小说| 亚洲视频在线观看一区二区三区| 亚洲国产中文在线| 中文字幕亚洲在线| 性无码专区无码| 国产成人综合在线| 一区二区三区在线观看www| 欧洲一区精品| 精品国产乱码久久久久久影片| 亚洲色图欧美色| 久久精品成人| 国产日韩欧美综合精品| h片在线免费观看| 欧美在线观看禁18| 国产男男chinese网站| 国内精品久久久久久久97牛牛| 国产精品亚洲视频在线观看| 免费国产在线观看| 精品女同一区二区三区在线播放| 99中文字幕在线| 欧美freesextv| 国产精品久久中文| 酒色婷婷桃色成人免费av网| 精品露脸国产偷人在视频| 黄色片免费网址| 国产精品91一区二区三区| 国产精品麻豆va在线播放| 黄色网址在线播放| 色久综合一二码| 成年人网站免费看| 新67194成人永久网站| 精品欧美一区二区精品久久| yellow字幕网在线| 亚洲国产精久久久久久| 亚洲国产综合久久| 成人av在线一区二区| 蜜臀精品一区二区| 成人av动漫| 久久久影视精品| 欧美在线精品一区二区三区| 亚洲成人免费av| 亚洲少妇一区二区三区| 亚洲一级高清| 久久精品一区二区三区不卡免费视频 | 国产免费无码一区二区视频| 国产在线视频一区二区| 男女爱爱视频网站| 亚洲天堂av资源在线观看| 欧美大片免费看| 秋霞欧美在线观看| 一本久久综合亚洲鲁鲁五月天| a级大片在线观看| 日韩中文字幕区一区有砖一区 | 久久九九精品| 日韩高清国产精品| 日韩毛片网站| 欧美大片在线影院| 婷婷久久久久久| 色婷婷综合久久久久中文| 久久精品色妇熟妇丰满人妻| 国产在线精品不卡| 国产精品一线二线三线| 在线一级成人| 国产区亚洲区欧美区| 午夜激情在线| 国产丝袜一区二区| 一区二区三区精彩视频| 亚洲综合色网站| 亚洲精品成人无码熟妇在线| 久久69国产一区二区蜜臀| 久久亚洲a v| 免费毛片在线不卡| 亚洲一区二区免费| 一个人www视频在线免费观看| 中文字幕精品一区久久久久| 亚洲黄色一级大片| 一本大道久久a久久综合婷婷| 97精品在线播放| 成人av网址在线| 五月婷婷之婷婷| 99视频一区| 手机看片日韩国产| 日韩高清影视在线观看| 国产精品丝袜高跟| av中文在线资源库| 日韩亚洲一区二区| 午夜国产在线视频| 日韩一区二区免费视频| 91丨九色丨海角社区| 亚洲综合成人在线| 亚洲 欧美 国产 另类| 91在线免费视频观看| 免费网站在线观看黄| 老牛影视一区二区三区| 国产 欧美 日本| 日韩中文在线电影| 欧美日韩另类综合| 国产精品chinese在线观看| 国产精品直播网红| 依依综合在线| 久久久亚洲成人| fc2ppv国产精品久久| 亚洲深夜福利在线| 色哟哟国产精品色哟哟| 欧美一区二区三区在线| 亚洲天堂免费av| 日韩欧美在线观看视频| 国产主播在线观看| 最新高清无码专区| 永久免费毛片在线观看| 久久亚洲精精品中文字幕早川悠里 | 日韩欧美2区| 欧美最顶级的aⅴ艳星| 色屁屁www国产馆在线观看| 色噜噜狠狠狠综合曰曰曰88av| 天天干,天天操,天天射| 欧美不卡一二三| 国产叼嘿视频在线观看| 91精品国产黑色紧身裤美女| 在线观看国产小视频| 欧美性一级生活| 国产精品久久久久久久久夜色| 姬川优奈aav一区二区| 精品亚洲永久免费| 一区二区三区免费| 视频国产一区二区| 亚洲欧洲日本在线| 中文字幕91视频| 国产精品久久久久久久久久免费看 | 国色天香2019中文字幕在线观看| 中文字幕有码在线观看| 精品国产欧美一区二区五十路| 色哟哟免费在线观看| 最新亚洲国产精品| 拍真实国产伦偷精品| www国产精品视频| 二区三区四区高清视频在线观看| 久久精品电影网站| 中文字幕中文字幕在线十八区 | 天天操夜夜操视频| 色综合久久88色综合天天免费| 欧美一区二区三区不卡视频| 色狠狠色狠狠综合| 中文在线资源天堂| 欧美美女视频在线观看| 91精品国产色综合久久不8| 在线成人免费视频| 精品人妻少妇AV无码专区| 欧美本精品男人aⅴ天堂| 少妇高潮久久久| 亚洲精品视频在线播放| 成人高清免费在线播放| 日韩视频亚洲视频| 欧美人与性动交α欧美精品济南到 | 欧美成人午夜电影| 日韩一级片免费在线观看| 精品亚洲一区二区三区在线观看| 成人午夜影视| 久久的精品视频| 999福利在线视频| 国产精品久久久久国产a级| 精品一区91| 国产一区二区三区黄| 欧美日韩老妇| 日本一道在线观看| 性xx色xx综合久久久xx| 看看黄色一级片| 99视频有精品| 性爱在线免费视频| 亚洲二区在线观看| 国产精品高清无码| 日韩精品一区二区在线| 国产资源在线播放| 欧美大学生性色视频| 3d性欧美动漫精品xxxx软件| 亚洲aⅴ男人的天堂在线观看 | 欧美a视频在线观看| 欧美精品色一区二区三区| 欧美一级性视频| 一区二区亚洲精品国产| 欧洲一区二区三区| 国产精品视频一区二区三区四| 国产乱人伦精品一区| 视频一区二区在线观看| 亚洲毛片网站| 91精品视频国产| 久久久国产综合精品女国产盗摄| 日本福利片在线观看| 色综合天天狠狠| 亚洲欧美强伦一区二区| 中文字幕国产精品久久| 中文字幕 在线观看| 99porn视频在线| 久久激情电影| 日本三级免费观看| 国产福利视频一区二区三区| 久久久久久久久久久久| 亚洲电影在线免费观看| 国产精品伦理一区| 亚洲新中文字幕| 极品在线视频| 999在线观看免费大全电视剧| 97精品一区二区| 日本三区在线观看| 成人av资源站| 精品无码久久久久久久久| 88在线观看91蜜桃国自产| 国产私拍精品| 日本老师69xxx| 玖玖玖免费嫩草在线影院一区| 日本免费黄色小视频 | 国产精品手机在线观看| 亚洲视频一二区| 一区二区的视频| 伊人伊人伊人久久| 625成人欧美午夜电影| 国产区一区二区三区| 伊人久久亚洲热| 久久久久久无码精品人妻一区二区| 1024国产精品| 91tv国产成人福利| 日韩中文在线视频| 久久久久久久性潮| 亚洲一区二区三区四区中文| 免费高清成人在线| 一区二区三区在线观看免费视频| 日本道在线观看一区二区| 日本ー区在线视频| 日本亚洲欧洲色α| av亚洲免费| 婷婷六月天在线| 中文字幕一区二| 91麻豆国产在线| 超在线视频97| www.丝袜精品| 精品人妻少妇一区二区| aaa亚洲精品一二三区| 日韩精品1区2区| 亚洲男人天堂古典| 国产私拍福利精品视频二区| 日韩色妇久久av| 美美哒免费高清在线观看视频一区二区 | 久久久国产欧美| 国产人成一区二区三区影院| 日韩精品在线一区二区三区| 中文字幕精品av| 欧美日韩国产一区二区在线观看| 激情图片qvod| 成人午夜电影小说| www.国产一区二区| 在线精品高清中文字幕| 99久久99九九99九九九| 人妻互换免费中文字幕| 99国产一区二区三精品乱码| 一级做a爰片久久毛片| www.亚洲人.com| 豆花视频一区二区| 97公开免费视频| ...xxx性欧美| 天天操天天干天天| 国产精品黄色影片导航在线观看| 日本一区二区在线看| 激情成人在线观看| 精品国产999| 麻豆视频免费在线观看| 高清国产在线一区| 久久综合亚州| 免费麻豆国产一区二区三区四区| 亚洲精品www久久久| 国产极品一区| 亚洲色欲久久久综合网东京热| 国产日韩欧美高清| 国产成人免费看一级大黄| 欧美有码在线观看| 亚洲经典一区| japanese中文字幕| 欧美一级黄色大片| 欧美极度另类| 亚洲精品天堂成人片av在线播放| 久久亚洲春色中文字幕久久久| 在线免费观看视频网站| 久久久久中文字幕2018| 日韩高清欧美| 人妻丰满熟妇aⅴ无码| 欧美日韩大陆一区二区|