当前位置: 首页 > article >正文

vue项目PC端和移动端实现在线预览pptx文件

通过PPTXjs插件,实现PPTX文件在线预览,需下载PPTXjs,将其引入HTML页面,并编写相应的HTML和JS代码,如果是移动端还需调整div大小,这是一种便捷的前端PPTX转HTML技术,适合网页展示使用 

PPTX在线预览,使用jquery的插件《PPTXjs》,纯前端实现pptx转html进行展示

点击下载PPTXjs 

1.把下载的包放到public中ppt目录

2.在ppt目录新建index.html,添加内容

<html>
<header>
<link rel="stylesheet" href="/PPTXjs/css/pptxjs.css" rel="external nofollow" >
<link rel="stylesheet" href="/PPTXjs/css/nv.d3.min.css" rel="external nofollow" > <!-- for charts graphs -->
<script type="text/javascript" src="/PPTXjs/js/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="/PPTXjs/js/jszip.min.js"></script> <!-- v2.. , NOT v.3.. -->
<script type="text/javascript" src="/PPTXjs/js/filereader.js"></script> <!--https://github.com/meshesha/filereader.js -->
<script type="text/javascript" src="/PPTXjs/js/d3.min.js"></script> <!-- for charts graphs -->
<script type="text/javascript" src="/PPTXjs/js/nv.d3.min.js"></script> <!-- for charts graphs -->
<script type="text/javascript" src="/PPTXjs/js/pptxjs.js"></script>
<script type="text/javascript" src="/PPTXjs/js/divs2slides.js"></script> <!-- for slide show -->
</header>
<body>
<div id="pptx"></div>
</body>
<script>

</script>
</html>

 3.在script中添加js脚本

$("#pptx").pptxToHtml({ 
    pptxFileUrl: "Sample_12.pptx", //pptx文件地址,可以是url
    slidesScale: "100%", 
    slideMode: false, 
    keyBoardShortCut: false 
});

4.如果是移动端项目需要把div缩放,否则生成的html元素过大会溢出屏幕(PC端可忽略此步骤)

再添加如下js脚本

// 由于生成的html元素过大会溢出,这里用定时器检测元素生成完毕后进行缩放显示
let timer = setInterval(() => {
    const $slides = $(".slides");
    if ($slides.children().length) {
      const slidesWidth = Math.max(...Array.from($slides.children()).map((s) => s.offsetWidth))
      const $wrapper = $('#pptx');
      const wrapperWidth = $wrapper[0].offsetWidth;
      $wrapper.css({
        transform: `scale(${wrapperWidth / slidesWidth})`,
        "transform-origin": "top left",
      })
      clearInterval(timer)
    }
}, 100);

 5.在vue文件中使用iframe来渲染html

<template>
  <div>
    <iframe width="100%" style="height: 100vh;border:none;" :src="pptSrc"></iframe>
  </div>
</template>

 6.拼接pptSrc

<script setup lang="ts">
    const pptSrc= `/ppt/index.html?file=${encodeURIComponent(pptUrl)}`;
</script>

 至此,就可以在pc端和移动端查看ppt了

 


http://www.kler.cn/a/395522.html

相关文章:

  • 从0开始学习--Day26--聚类算法
  • Python教程笔记(3)
  • 如何实现主备租户的无缝切换 | OceanBase应用实践
  • Linux服务器定时执行jar重启命令
  • C++静态成员
  • sql分区
  • YOLOv7-0.1部分代码阅读笔记-metrics.py
  • 三正科技笔试题
  • 【linux】centos7 换阿里云源
  • 调用 Xinference OpenAI接口时报错 Model not found in the model list, uid
  • 前端埋点、监控
  • 如何保证MySQL与Redis缓存的数据一致性?
  • PC上浏览器是如何查询DNS 缓存的呢?
  • 自建k8s集群,利用开源的GitLab、Jenkins和Harbor实现CI/CD和DevOps的过程回顾
  • Redis 概 述 和 安 装
  • C++初阶——stack
  • 服务器被挂马怎么办?——解决服务器被挂马的方法和步骤
  • 10款录屏工具个人使用感分享!!!!!!
  • 用MVVM设计模式提升WPF开发体验:分层架构与绑定实例解析
  • 深度学习之GAN应用
  • Springboot 整合 itext 实现PDF文件合并,识别图片则转成PDF拼接
  • C++图案例大全
  • 算法----阶乘问题
  • java算法性能调优:详尽探讨时间复杂度与空间复杂度的分析与优化“
  • 3D Web渲染引擎HOOPS Communicator:助力企业打造定制化3D可视化产品的强大工具
  • 后端:Spring AOP原理--动态代理