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 复制代码
<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脚本

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

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

再添加如下js脚本

javascript 复制代码
// 由于生成的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

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

6.拼接pptSrc

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

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

相关推荐
朝朝辞暮i13 小时前
C++ 第 25 课:getter / setter + this
java·javascript·c++
扶风ff13 小时前
求职笔试资料太散?用练题簿在线刷题,按岗位整理练习清单
前端·学习·小程序
蜗牛互联网13 小时前
Python接入Gemini 3.8 Flash实现票据视觉抽取与规则校验
java·javascript·网络·人工智能·python
浪浪山_大橙子13 小时前
公司里的 AI,终于不只会聊天:我用 GPT‑6 把企业工作伙伴开源了
前端·后端·面试
琹箐13 小时前
命令行调用接口
前端
可乐鸡翅yeah_14 小时前
AES‑128 加密 M3U8,IV 初始化向量新手容易踩坑
前端·网络·数据库·ffmpeg·音视频·m3u8在线
MetWeave14 小时前
机场天气的"广播系统":三种报文一次讲明白
前端
易朵朵14 小时前
CSS 格式化上下文
css·vue.js
xieter14 小时前
【技术精选】深入浅出现代前端渲染与性能优化实践指南 (2026-10-04)
前端·javascript
计算机魔术师14 小时前
Anthropic 密会宗教领袖谈 Claude 意识,OpenAI 为什么急眼
前端