一、环境项目中有时会需要在线打开PPT并编辑保存。pageoffice可以完美调用本地office在线打开ppt文件,跟本地打开效果一样。还可以在线打开word、excel、pdf等文件,在线办公系统需要用到的功能基本都可以实现,效果还是挺不错的,集成也很简单。
建网站原本是网站策划师、网络程序员、网页设计师等,应用各种网络程序开发技术和网页设计技术配合操作的协同工作。创新互联专业提供成都网站制作、做网站,网页设计,网站制作(企业站、响应式网站设计、电商门户网站)等服务,从网站深度策划、搜索引擎友好度优化到用户体验的提升,我们力求做到极致!
前端:vue2
后端:springboot
二、集成步骤1、后端pom.xml中导入依赖
com.zhuozhengsoft pageoffice5.4.0.3
2、启动类中配置pageoffice的授权程序bean(这些都要在权限框架中设置允许访问,不能拦截)
@Bean
public ServletRegistrationBean pageofficeRegistrationBean() {
com.zhuozhengsoft.pageoffice.poserver.Server poserver = new com.zhuozhengsoft.pageoffice.poserver.Server();
poserver.setSysPath("D:\\lic");//设置PageOffice注册成功后,license.lic文件存放的目录
ServletRegistrationBean srb = new ServletRegistrationBean(poserver);
srb.addUrlMappings("/poserver.zz");
srb.addUrlMappings("/posetup.exe");
srb.addUrlMappings("/pageoffice.js");
srb.addUrlMappings("/jquery.min.js");
srb.addUrlMappings("/pobstyle.css");
srb.addUrlMappings("/sealsetup.exe");
return srb;//
}
3、前端vue的index.html页面引用后端根目录下的pageoffice.js
4、配置代理vue.config.js(transpileDependencies是为了解决ie和vue的兼容)
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'http://localhost:8086/pageoffice_demo', //"/api"对应后端项目"http://localhost:8086/pageoffice_demo"地址
ws: true,
changeOrigin: true, // 允许跨域
pathRewrite: {
'^/api': '' // 标识替换,使用 '/api' 代替真实的接口地址
}
}
}
},
publicPath:"/",
//node_modules里的依赖默认是不会编译的,会导致es6语法在ie中的语法报错,根据报错找到对应的文件夹指定该文件夹或文件需要编译.
transpileDependencies: ["sockjs-client"]
}
5、在index.vue页面添加按钮调用POBrowser.openWindowModeless打开OpenPPT.vue页面,通过axios请求后台打开ppt文件的接口
index.vue页面
OpenPPT.vue
6、后端打开打开ppt文件的controller,这块打开ppt用的是普通编辑模式,webopen第二个参数。还有另外一个只读模式,根据自己的需求选择
@RestController
@RequestMapping(value ="/SimplePPT")
public class SimplePPTController {
//获取doc目录的磁盘路径
private String dir = GetDirPathUtil.getDirPath() + "static/doc/";
@RequestMapping(value ="/PPT")
@ResponseBody
public String showPPT(HttpServletRequest request) {
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
poCtrl.setServerPage("/api/poserver.zz");//设置服务页面
//添加自定义按钮
poCtrl.addCustomToolButton("保存", "Save", 1);
poCtrl.addCustomToolButton("关闭", "Close", 21);
//设置保存页面
poCtrl.setSaveFilePage("/api/SimplePPT/save");//设置处理文件保存的请求方法
//打开Word文档
poCtrl.webOpen("D:\\doc\\SimplePPT\\test.ppt", OpenModeType.pptNormalEdit, "张三");
return poCtrl.getHtmlCode("PageOfficeCtrl1");
}
@RequestMapping("save")
public void save(HttpServletRequest request, HttpServletResponse response) {
FileSaver fs = new FileSaver(request, response);
fs.saveToFile("D:\\doc\\SimplePPT\\" + fs.getFileName());
fs.close();
}
}
三、最后效果右上角还可以选择全屏
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧