首页 > 其他分享 >前端预览docx格式文档

前端预览docx格式文档

时间:2023-06-02 11:14:05浏览次数:33  
标签:function docx container option 预览 xhr 文档 data

运用docx-preview.js(去网上下载https://github.com/VolodymyrBaydalka/docxjs/blob/master/dist/docx-preview.js)

引入脚本

<script
      type="text/javascript"
      src="https://unpkg.com/promise-polyfill/dist/polyfill.min.js"
    ></script>
    <!--lib uses jszip-->
    <script
      type="text/javascript"
      src="https://unpkg.com/jszip/dist/jszip.min.js"
    ></script>
    <script type="text/javascript" src="docx-preview.js"></script>

以流预览方法,动态创建

const docxOptions = Object.assign(docx.defaultOptions, {
        debug: true,
        experimental: true,
      });
            
var ajax = function (option) {
        var xhr = new XMLHttpRequest();
        xhr.open(option.type, option.url, option.async);
        xhr.responseType = option.dataType;
        xhr.onload = function (e) {
          if (this.status == 200) {
            option.success(this);
          }
        };
        xhr.onerror = function (ex) {
          option.error(ex);
        };
        xhr.send();
      };

function loadocx(url) { ajax({ type: "get", url: url, async: true, dataType: "blob", success: function (data) { data = data.response; var docEle = document.createElement("div"); docEle.id = "your-container"; document.body.append(docEle); var container = document.querySelector("#your-container"); docx.renderAsync(data, container, null, docxOptions).then((x) => { }); }, error: function (ex) { alert("error"); }, }); }

销毁的方法可以自己结合业务,remove节点就好了

 

标签:function,docx,container,option,预览,xhr,文档,data
From: https://www.cnblogs.com/xinyouhunran/p/17381639.html

相关文章

  • element ui 预览图片的时候滚动鼠标放大缩小, 重新打开的时候恢复原来大小
    <template><div><el-button@click="openPreview">预览图片</el-button><el-dialog:visible.sync="dialogVisible":close-on-click-modal="false":before-close="resetPreview"><im......
  • VuePress2.0构建项目文档系统
    VuePress2.0构建项目文档系统参考TerraMours官网。https://terramours.site/文件结构参考:1.修改首页README.md修改项目下的README.md,修改内容:---home:trueheroImage:images/hero.pngheroText:TerraMoursactions:-text:快速开始link:/guide/type:pr......
  • 文档注释
    基础注释@param{number}[duration]'[]'表示可选/***函数防抖*@listens*@param{function}func目标函数*@param{number}[duration]延迟执行的时间【[]表示可选】*@return{function}防抖的函数*/functiondobounce(func,duration=100){}......
  • 转载:用pageOffice控件实现 office word文档在线编辑另存为pdf的功能
    用pageOffice控件实现officeword文档在线编辑另存为pdf的功能1应用场景OA办公中,经常要将word文档转存为pdf方法,方式文档的查看。怎么实现word文档的转存为pdf呢?2实现方法通过pageOffice实现简单的在线打开编辑word后,只要增加一行document.getElementById("PageOfficeCt......
  • ES shrink ——一般是结合rollover一起使用的,一开始没有看懂官方shrink文档,当看了这个
    rolloverElasticsearch从5.0开始,为日志场景的用户提供了一个很不错的接口,叫rollover。其作用是:当某个别名指向的实际索引过大的时候,自动将别名指向下一个实际索引。因为这个接口是操作的别名,所以我们依然需要首先自己创建一个开始滚动的起始索引:1.#curl-XPUT'http://localh......
  • 真的勇士,才敢把文档命名为「最终版」
    前几天,年轻的同事在群里发了一个文档,名字叫「XXXX最终版」。大家一看就知道,未来一定还会出现——最终版-1最终版-2真最终版最终最终版绝对不再改版……再改我就死给你看版……所以,我的做法是,命名一般是按日期来,名称最后写一些关键信息:「20170525XXXX」「20170527XXXX评审后修改......
  • vue+docxtemplater,填充word模板
    安装依赖yarnadddocxtemplateryarnaddpizzipyarnaddjszip-utilsyarnaddfile-saver//模板解析插件(支持list循环直接使用$index,使用if判断语法)yarnaddangular-expressionsyarnaddlodash页面测试代码<template> <div> <button@click="bt......
  • 阿里云OSS访问图片自动直接下载问题,改成能预览的预览,不能预览的才下载
    默认上传时未指定contentType,统一都为application/octet-stream 访问就会下载,例如:https://oss-console-img-demo-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/example.jpg?response-content-type=APPLICATION/OCTET-STREAM如果指定为真实的媒体类型,浏览器能打开就会直接预览,例如......
  • CSS的五种定位方式【哪一种脱离文档流】
    元素自身居中(非内容)块级元素居中:margin:0auto;行内元素和行内块元素:给上级元素添加text-align:center; 定位方式包括:静态定位相对定位绝对定位固定定位浮动定位静态定位(文档流定位)格式:position:static;(默认的定位方式)......
  • mysql参考文档
    mysql数据库官方文档https://dev.mysql.com/doc/refman/8.0/en/https://dev.mysql.com/doc/refman/5.7/en/治愈系的笑容常常让我深陷其中......