前端文件预览docx、pptx和xlsx

最近做文件预览,docx、pptx和xlsx的格式,这里记录一下技术要点和参考文章。
1.插件选择: 用docx-preview \ ppt-preview \ exceljs handsontable @handsontable/vue就可以,其他的插件对于excel来说不是很方便,比如微软相关的插件就有点大了,不灵活。至于 ppt-preview ,一般也不用其他插件来做。docx-preview这个倒是有替代性强一些的。
2.要点,需要注意使用async await来读取文件,尤其是exceljs 的导入文件。其他的不用这个倒也能正常读取。一般 type是普通二进制即可,不用特别指明是xls还是doc这种文件类型。
3.handsontable @handsontable/vue在使用时需要用
import { HotTable } from “@handsontable/vue”;
import Handsontable from “handsontable”;
import “handsontable/dist/handsontable.full.min.css”; 引入样式和两个插件。两个都引入然后注册HotTable components: { HotTable },然后使用

<hot-table ref="table" :settings="hotSettings"></hot-table>

其中使用时参数有两种设置方式,建议用这种就可以了。settings是json的,用的时候要注意vue2对json的双向绑定是不做深层次的,需要ref="table"拿到实例,使用hotInstance.updateSettings来手动进行数据更新。
4.handsontable @handsontable/vue有license文字的显示,需要设置关闭licenseKey: "non-commercial-and-evaluation",,我这里是内网开发,手敲的,可能会错误,需要多检查。一般外网开发不会这么惨。
5.插件需要传入dom,用vue2的$efs进行获取,对于docx和pptx的dom,需要用v-show进行控制显隐,用v-if会被销毁,影响绑定。对于xlsx,用v-if进行控制,强制进行重绘。
6.https://ost.51cto.com/posts/13656
https://www.cnblogs.com/jocongmin/p/18656478
https://github.com/handsontable/vue-handsontable-official
https://blog.csdn.net/weixin_52507110/article/details/139528572
https://yr7ywq.smartapps.baidu.com/?_chatQuery=vue%E4%BD%BF%E7%94%A8handsontable&searchid=9833a33e001e108d&_chatParams=%7B%22agent_id%22%3A%22c816%22%2C%22content_build_id%22%3A%22b98d268%22%2C%22from%22%3A%22q2c%22%2C%22token%22%3A%22UGlGZHdpN0lzYXNVbS9Gb1JoeVNNWXRmOGI3Q0R2VFNVZlJSWlMzOW9STHY0ZmdiME5MTks3UmZZeEJaQ243OXAxQUVnZEFWR1VlWHR1SXVhMmJqRjZjcGFVZXdGdlltbjRCTXFReXE4b1JVcUVhanZoOHp1RUdNbTZ4MmZTL0k%3D%22%2C%22chat_no_login%22%3Atrue%7D&_swebScene=3711000610001000
https://zetcode.com/javascript/handsontable/

https://develop365.gitlab.io/office-viewer/pptx-preview/zh.html#codeBox1

https://501351981.github.io/pptx-preview/#:~:text=The%20pure%20front-end%20preview%20library%20pptx%20preview%20for,the%20introduction%20of%20npm%20mode%20%E7%BA%AF%E5%89%8D%E7%AB%AF%E5%AE%9E%E7%8E%B0%E7%9A%84pptx.js%E6%96%87%E4%BB%B6%E7%9A%84%E9%A2%84%E8%A7%88%E5%BA%93%EF%BC%8C%E6%94%AF%E6%8C%81npm%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85%EF%BC%8C%E6%94%AF%E6%8C%81ES%20Module%E6%96%B9%E5%BC%8F%E5%BC%95%E5%85%A5%E3%80%82%20%E5%9C%A8%E7%BA%BF%E6%BC%94%E7%A4%BA

在当前快速发展的前端开发领域,Vue.js作为一款流行的JavaScript框架,以其轻量级灵活性受到了广泛的应用。而在线PPT预览功能是现代Web应用程序中的一项重要功能,它允许用户无需下载或安装任何软件即可查看PPT文件。本文将详细介绍如何使用Vue3结合PPTX.js这一JavaScript库实现在线PPT预览的功能。 我们需要了解Vue3的基本概念组件化思想。Vue3是Vue.js的最新版本,它引入了Composition API,为开发者提供了更多的灵活性代码组织方式。在构建用户界面时,Vue3提供了响应式组件化的特点,使得开发复杂的应用程序变得更加容易。 接下来,我们将重点放在PPTX.js库上。PPTX.js是一个能够解析、创建修改PPTX文件的JavaScript库。它允许开发者读取PPTX文件中的幻灯片、文本、图像等元素,并且可以对这些元素进行操作,如添加、删除或修改内容。结合Vue3,我们可以利用PPTX.js提供的API来实现在线PPT预览的功能。 实现在线PPT预览的关键步骤如下: 1. 创建Vue3项目:通过Vue CLI或者其他Vue项目脚手架工具,创建一个新的Vue3项目。 2. 引入PPTX.js库:通过npm或者yarn安装PPTX.js到项目中,然后在需要的地方引入并使用。 3. 创建预览组件:在Vue3中创建一个专门用于展示PPT的组件。在这个组件中,使用PPTX.js提供的方法来加载PPTX文件,并将解析后的幻灯片内容展示到网页上。 4. 展示幻灯片:根据PPTX文件中的数据,逐页渲染幻灯片内容。可以将每页幻灯片视为一个独立的组件,并使用Vue3的响应式数据绑定来更新幻灯片内容。 5. 实现播放控制:为用户提供前后翻页、跳转到指定幻灯片、全屏播放等功能。可以通过监听用户的操作事件,并调用PPTX.js提供的方法来实现这些控制功能。 6. 样式交互优化:为了提供更好的用户体验,需要对展示的PPT进行样式定制,并增加适当的交互动画,如淡入淡出效果等。 7. 构建部署:在开发完成后,进行项目的构建,将代码编译为可在生产环境运行的静态文件。然后将这些文件部署到Web服务器或静态网站托管服务上,用户即可通过访问对应的URL来使用在线PPT预览功能。 文章末尾提供的链接是一个具体实现在线PPT预览功能的示例教程。该教程详细地介绍了整个实现过程,包括了代码的编写、功能的实现、以及可能遇到的问题解决方案。通过阅读该教程,开发者可以更加清晰地理解如何使用Vue3PPTX.js构建一个在线PPT预览的Web应用。 总结而言,结合Vue3框架PPTX.js库,可以高效地实现在线PPT预览的功能,这不仅提高了用户的使用便利性,也拓宽了Web应用的功能边界。随着前端技术的不断发展,未来将有更多类似的技术组合出现,为Web应用的开发带来更多的可能性创新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值