Vue+SpringBoot 集成 PageOffice 实现在线编辑Word、excel文档

Vue集成PageOffice实现在线编辑word、excel(前端配置) PageOffice是一款在线的office编辑软件,帮助Web应用系统或Web网站实现用户在线编辑Word、Excel、PowerPoint文档。可以完美实现在线公文流转,领导批阅,盖章。可以给文件添加水印,在线安全预览防止用户下载和复制文件等。 阅读详情

点击上方“芋道源码”,选择“设为星标”

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 10:33 更新文章,每天掉亿点点头发...

源码精品专栏

 

来源:blog.youkuaiyun.com/qq_44306545/

article/details/127749139

9b3caa49573d769ef80bad87471bdca9.jpeg


说明:

PageOffice是一款在线的office编辑软件,帮助Web应用系统或Web网站实现用户在线编辑Word、Excel、PowerPoint文档。可以完美实现在线公文流转,领导批阅,盖章。可以给文件添加水印,在线安全预览防止用户下载和复制文件等

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

一、环境要求

前端Vue项目:Node.js10及以上版本(当前集成方式不支持vue3,原因是vue3不兼容ie。

vue3集成pageoffice参考这个链接:

  • https://blog.youkuaiyun.com/qq_44306545/article/details/127764411

后端Springboot项目:Intelij IDEA、jdk1.8及以上版本

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud

  • 视频教程:https://doc.iocoder.cn/video/

二、前端项目

1.在index.html页面引用后端项目(samples-springboot-back)根目录下的pageoffice.js

<script type="text/javascript" src="http://localhost:8081/samples-springboot-back/pageoffice.js"></script>

2.在vue.config.js中配置代理

devServer: {
        proxy: {
        '/api': {
          target: 'http://localhost:8081/samples-springboot-back', //"/api"对应后端项目"http://localhost:8081/samples-springboot-back"地址 
          ws: true,
          changeOrigin: true, // 允许跨域
          pathRewrite: {
           '^/api': ''   // 标识替换,使用 '/api' 代替真实的接口地址
          }
        }
      }
    }

3.在index.vue页面添加一个按钮,通过点击事件调用POBrowser,第一个参数"SimpleWord/Word"是vue的路由。通过路由打开一个Word.vue页面

8f764a49a58dbf4729aeee95c62c3740.png
POBrowser.openWindowModeless('SimpleWord/Word', 'width=1150px;height=900px;')

4.在Word.vue页面created中通过axios请求后台获取pageoffice控件(注意:后台返回string字符串,前端需要使用v-html解析)

这里给后台发请求的是axios,如果需要添加token可以在main.js中配置拦截器给请求添加token

1cec5f68ce7c5f69968e8dc2016ce4b4.png

Word.vue页面,可以直接复制后修改url

<template>
 <div class="Word">
  <div style="height: 800px; width: auto" v-html="poHtmlCode" />
 </div>
</template>
<script>
const axios = require("axios");
export default {
  name: "Word",
  data() {
    return {
      poHtmlCode: "",
    };
  },
  created: function () {
    axios
      .post("/api/SimpleWord/Word")
      .then((response) => {
        this.poHtmlCode = response.data;
      })
      .catch(function (err) {
        console.log(err);
      });
  },
  methods: {
    //控件中的一些常用方法都在这里调用,比如保存,打印等等
    /**
     * Save()方法是/api/SimpleWord/Word这个后台controller中PageOfficeCtrl控件通过poCtrl.addCustomToolButton定义的方法,除了保存还有另存到本地、打印等功能。
     */
    Save() {
      document.getElementById("PageOfficeCtrl1").WebSave();
    }
  },
  mounted: function () {
    // 将PageOffice控件中的方法通过mounted挂载到window对象上,只有挂载后才能被vue组件识别
    window.Save = this.Save;
  },
};
</script>

三、后端项目

1.在pom中添加pageoffice依赖

<dependency>
    <groupId>com.zhuozhengsoft</groupId>
    <artifactId>pageoffice</artifactId>
    <version>5.4.0.3</version>
</dependency>

2.在启动类中配置servlet bean,poSysPath是在properites中配置的磁盘路径(注意:pageoffice的poserver.zz等这些请求不要拦截,get和post请求都放出来)

4bd0306cc4277583aba3fd7bce0a3a50.png 0dcab02b94af7ef4605b6be7ecdd94f8.png
@Bean
public ServletRegistrationBean pageofficeRegistrationBean() {
    com.zhuozhengsoft.pageoffice.poserver.Server poserver = new com.zhuozhengsoft.pageoffice.poserver.Server();
    poserver.setSysPath(poSysPath);//设置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.打开文件的controller(webopen第一个参数是当前文件的磁盘路径,磁盘路径必须反向双斜杠)。

setServerPage和setSaveFilePage中的api是前端代理,前后端分离项目必须配置代理

@RestController
@RequestMapping(value = "/SimpleWord")
public class SimpleWordController {
 
        @RequestMapping(value="/Word")
        public String showWord(HttpServletRequest request) {
 
            PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
            poCtrl.setServerPage("/api/poserver.zz");//设置服务页面
            poCtrl.addCustomToolButton("保存", "Save", 1);
 
            poCtrl.setSaveFilePage("/api/SimpleWord/save");//设置保存方法的url
            //打开word
            poCtrl.webOpen("D:\\doc\\test.docx", OpenModeType.docNormalEdit, "张三");
            return  poCtrl.getHtmlCode("PageOfficeCtrl1");
        }
 
        @RequestMapping("save")
        public void save(HttpServletRequest request, HttpServletResponse response) {
 
            FileSaver fs = new FileSaver(request, response);
            fs.saveToFile("D:\\doc\\" + fs.getFileName());
            fs.close();
        }
 
 
    }

4.save保存文件

@RequestMapping("save")
public void save(HttpServletRequest request, HttpServletResponse response) {
    FileSaver fs = new FileSaver(request, response);
    fs.saveToFile("D:\\doc\\" + fs.getFileName());
    fs.close();
}

四、最终效果

dbd351a3339480e30cdb2e07b9572323.png

欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢:

2f1ce05e712ef8ca5b8c4ce04953f5eb.png

已在知识星球更新源码解析如下:

eeecc0c43b7990d86d6d9bfcfaa1b5d2.jpeg

8ccc006868f2d3465fcdb0b9aaad574a.jpeg

88c4a6c7594eb6fc067f66ace1cf7fa9.jpeg

3ec78b405b6ecd0ff2f8d94d68e01229.jpeg

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
前端实现在线预览、编辑Office文档(vue版) WEB前端实现在线预览、编辑Office文档,介绍如何在web前端引入JS插件实现在线预览、编辑Office文档。 阅读详情

相关推荐

SpringBoot(30) 整合PageOffice实现在线编辑Word和Excel

一、前言 二、 三、 注册成功后,正常打开Word文件,之后就可以进行自己的神操作了…

郑清 1万+

vue快速集成word在线编辑

金格插件WebOffice2015、chrome浏览器插件、only-office非常功能强大,word、ppt、excel都支持在线编辑预览,还支持协同,又有免费开源版。最后选择了canvas-editor

睡不着的可乐博客 2万+

vue+element+springboot前后端分离项目整合pageoffice实现在线编辑Word和Excel跟签章等

vue+element+springboot前后端分离项目整合pageoffice实现在线编辑Word和Excel跟签章等

Amy_Victoria的博客 9755

vue使用docx-preview实现在线预览编辑word文档根据选择联动改变word

在线预览word文档(oss在线地址转blob对象预览) 根据选项或输入内容在线更改word对应的字段(包含多个匹配) 每次更改跳转到第一个匹配的地方(居中显示并且高光显示)

qq_39532524的博客 1万+

SpringBoot项目实战:PageOffice在线编辑Word/Excel完整配置指南(含Vue集成方案)

本文提供了一份详尽的SpringBoot项目集成PageOffice实现在线编辑Word/Excel的实战指南。内容涵盖从环境准备、依赖配置、核心Controller与Servlet编写,到Vue前端集成与跨域问题解决的完整流程,并深入探讨了生产环境部署、安全加固及高级定制方案,助力开发者快速构建企业级文档协同应用。

Jerry的专栏 175

SpringBoot(31) 集成PageOffice实现Word/Excel多人协同编辑与实时保存

本文详细介绍了如何在SpringBoot项目中集成PageOffice实现Word/Excel的多人协同编辑与实时保存功能。通过环境准备、核心功能实现到高级技巧的完整流程,帮助开发者解决文档协作中的版本混乱和编辑冲突问题,提升团队协作效率。重点讲解了PageOffice的配置、控制器实现及性能优化方案,适用于企业办公自动化场景。

weixin_42561476的博客 389

Vue+springboot集成PageOffice实现在线编辑Word、excel文档

vue+springboot前后端分离项目集成PageOffice实现在线编辑word、excel文档等

qq_44306545的博客 1万+

word简历在线编辑-vue

技术栈: webpack ----打包神器 vue-cli ----快速构建项目 scss ----便利的css大法 element-ui ---- UI组件库 normalize.css ---- 重置掉该重置的样式 LeanCloud ---- 存储数据 html2canvas ---- HTML转成canvas jsPDF ---- 转成PDF

Vue+SpringBoot 集成 PageOffice实现在线编辑 Word、Excel 文档

PageOffice 是一款在线 Office 编辑软件,帮助 Web 应用系统或 Web 网站实现用户在线编辑 Word、Excel、PowerPoint 文档。可以完美实现在线公文流转、领导批阅、盖章,可以给文件添加水印,在线安全预览防止用户下载和复制文件等。

曼陀罗的博客 1072

Crawl4AI实战:5分钟搞定电商价格监控爬虫(附Python代码)

本文详细介绍了如何利用开源AI网络爬虫框架Crawl4AI快速构建电商价格监控系统。通过Python实战代码,展示了从环境配置、智能内容提取到多平台适配、定时任务与数据可视化的完整流程,帮助运营人员和技术开发者高效实现自动化价格追踪与竞品分析。

weixin_29090917的博客 414

多普勒效应及多普勒频移的简单推导

多普勒频移的简单推导

m0_47867419的博客 3万+

div 可编辑_SpringBoot(30) 整合PageOffice实现在线编辑Word和Excel

一、前言PageOffice官网:http://www.zhuozhengsoft.com/PageOffice集成说明:https://www.kancloud.cn/pageoffice_course_group/pageoffice_course/652260准备集成环境下载jar依赖:http://www.zhuozhengsoft.com/dowm/二、SpringBoot...

weixin_39605997的博客 656

SAP交货单增强字段更新实战:手把手教你用BAPI_OUTB_DELIVERY_CHANGE和EXTENSION2参数

本文详细解析了如何使用BAPI_OUTB_DELIVERY_CHANGE和EXTENSION2参数实现SAP交货单增强字段的更新。从增强点SMOD_V50B0001的定位到字段落表的全流程,提供了ABAP代码示例和常见问题排查方法,帮助开发者高效完成交货单自定义字段的集成开发。

weixin_42525637的博客 452

前后端分离项目(vue+springboot)集成pageoffice实现在线编辑office文件

前后端分离项目(vue+springboot)集成pageoffice实现在线编辑office文件

wqqqianqian的博客 1835

CST实战:变容二极管电容曲线提取全流程(附S参数设置技巧)

本文详细介绍了在CST Studio Suite中提取变容二极管电容-电压(C-V)曲线的完整实战流程。重点解析了S参数仿真的核心原理、DCFEED模块的正确配置、参数扫描的设置技巧,并探讨了集成SPICE模型进行精确仿真的方法,帮助射频工程师高效、准确地获取器件关键特性。

weixin_29237635的博客 529

打包可以在Hadoop 3.3.1和Hive 3.1.2上使用的Tez 0.10.1 minimal

编译打包可以在Hadoop 3.3.1和Hive 3.1.2上使用的Tez 0.10.1

qq_42013533的博客 2618

Java实现在线打开编辑保存PPT

项目中有时会需要在线打开PPT并编辑保存。pageoffice可以完美调用本地office在线打开ppt文件,跟本地打开效果一样

qq_44306545的博客 1744

langchain入门学习笔记

langchain快速入门

1732

Vue.js 集成 Word 在线编辑功能

通过以上步骤,你现在应该能够在Vue.js项目中集成Word在线编辑功能。这不仅可以提升用户体验,还可以促进团队协作。如果你遇到了任何问题或需要进一步的帮助,请随时提问。

qq_42072014的博客 6102

LLC谐振变换器中的软开关艺术:ZVS与ZCS的协同设计

本文深入解析了LLC谐振变换器如何通过巧妙的电路设计,协同实现零电压开关(ZVS)与零电流开关(ZCS),从而大幅降低开关损耗与电磁干扰,提升电源效率。文章结合设计实战,详细阐述了谐振参数计算、器件选型及调试避坑指南,为高效、高功率密度电源设计提供了核心思路与解决方案。

weixin_29216957的博客 350

AppStore逆向分析(登录、查询、下单)

某网站全协议流程逆向与分析(自动登录、激活、查询、下单)

吴秋霖的博客 3027

【vue2+onlyoffice】word在线编辑&保存&下载

需要实现word文档的编辑和保存功能,之前写了一篇选方案的。现在就按照onlyoffice开始实现。【没有使用到多人协同】

记录 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: 百度开源,一款强大的压测工具,可模拟几十亿并发场景!
下一篇: 主流微服务全链路监控系统实战
公众号-芋道源码
博客等级 码龄10年 1631粉丝 377原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值