这篇文章主要讲在小程序里导出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