Java实现在线打开编辑保存PPT-创新互联

项目中有时会需要在线打开PPT并编辑保存。pageoffice可以完美调用本地office在线打开ppt文件,跟本地打开效果一样。还可以在线打开word、excel、pdf等文件,在线办公系统需要用到的功能基本都可以实现,效果还是挺不错的,集成也很简单。

建网站原本是网站策划师、网络程序员、网页设计师等,应用各种网络程序开发技术和网页设计技术配合操作的协同工作。创新互联专业提供成都网站制作、做网站,网页设计,网站制作(企业站、响应式网站设计、电商门户网站)等服务,从网站深度策划、搜索引擎友好度优化到用户体验的提升,我们力求做到极致!
一、环境 

前端:vue2

后端:springboot

二、集成步骤

1、后端pom.xml中导入依赖

com.zhuozhengsoftpageoffice5.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元起,快前往官网查看详情吧


文章标题:Java实现在线打开编辑保存PPT-创新互联
分享URL:http://pwwzsj.com/article/djiigj.html