小程序中 使用 pptxgenJs 导出 pptx (表格,图片,可分页)

这篇文章主要讲在小程序里导出pptx格式的PPT,场景常用于方案,报价单,攻略等场景,也可根据自己需求

前文须知
小程序:在这里我使用的是uniapp
插件:前端 - pptxgenJs 官方Git文档
因为pptxgenJs不直接在小程序中使用,所以我们需要手动修改PptxgenJs的源码.

使用方式
下载:https://aliyun-wb-bvqq7ezi1t.oss-cn-beijing.aliyuncs.com/pptxgen.js,可以直接用我修改完成后的。

在这里插入图片描述
将PptxgenJs放到Js文件夹中,我们的业务Js中引入就OK了,
在这里插入图片描述在这里的方法我们可以拿到一个base64格式的字符串,我们需要请求后端的一个接口,将base64传入并返回一个在线的链接,使用uni.downloadFile,uni.openDocument 就可以下载且预览了.

import Pptxgen from '../utils/pptxgen.js'
getImage(){
	const pres = new Pptxgen()
	pres.defineLayout({
		name: 'A3',
		width: 34.18,
		height: 19.05
	});
	pres.layout = 'A3'
	const slide1 = pres.addSlide()
	slide1.addImage({
		path: '实例',
		w: '100%',
		h: '100%',
		x: '0%',
		y: '0%'
	})
	pres.writeFile('名称').then(function(data) {
		let obj = {
		  data: data,
		  type: 'pptx'
		}
		// 请求后端的接口
		exportPpt(obj).then(pptObj => {
		  uni.hideLoading();
		  uni.downloadFile({
		    url: pptObj.data, //仅为示例,并非真实的资源	
		    success(res) {
		      if (res.statusCode === 200) {
		        let filePath = res.tempFilePath
		        uni.openDocument({
		          filePath: filePath,
		          fileType: 'pptx',
		          showMenu: true,
		          success: function(res) {
		            console.log(res, '打开文档成功');
		          }
		        });
		      }
		    }
		  })
		});
	})
}

修改了源码的哪里?
在这里插入图片描述
在这里插入图片描述
原理就是将插件使用的fs插件 修改为小程序原生的fs
下一篇博客会分享ppt分页,表格等常用功能

初次写博客,没有经验,如有问题,可联系 wx:supermanliuchen

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值