Vue如何实现pptx在线预览
作者:张鲁一
通过PPTXjs插件,实现PPTX文件在线预览,需下载PPTXjs,将其引入HTML页面,并编写相应的HTML和JS代码,如果是移动端还需调整div大小,这是一种便捷的前端PPTX转HTML技术,适合网页展示使用
Vue实现pptx在线预览
PPTX在线预览,使用jquery的插件《PPTXjs》,纯前端实现pptx转html进行展示
1.在PPTXjs官网下载插件
在index.html内引入
<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 -->
2.html代码
<div id="pptx"></div>
3.js代码
$("#pptx").pptxToHtml({ pptxFileUrl: "Sample_12.pptx", //pptx文件地址 slidesScale: "100%", slideMode: false, keyBoardShortCut: false });
4.如果是移动端项目
需要把div缩放
否则生成的html元素过大会溢出屏幕(PC端可忽略此步骤)
// 由于生成的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);
运行代码即可预览
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。