需求:

在oa系统上,想实现在线,服务器上doc,docx文档,在web打开,编辑。编辑后,可以再同步保存到服务器端。

开发环境:

java springboot,thymeleaf

服务器环境:

无特殊要求,能运行java虚拟机即可 ,服务器上有固定磁盘放word文档。方便pageoffice插件在线打开

客户端环境 :

win7 win8 win10 win11 麒麟7 麒麟10 统信

参考教程

https://gitee.com/pageoffice/springboot-pageoffice

具体 集成步骤

后端 :

  1. 在您项目的pom.xml中通过下面的代码引入PageOffice依赖。
<dependency>
<groupId>com.zhuozhengsoft</groupId>
<artifactId>pageoffice</artifactId>
<version>5.4.0.3</version>
</dependency>
  1. 在您项目的启动类Application类中配置如下代码。
@Bean
public ServletRegistrationBean pageofficeRegistrationBean() {
com.zhuozhengsoft.pageoffice.poserver.Server poserver = new com.zhuozhengsoft.pageoffice.poserver.Server();
/**如果当前项目是打成jar或者war包运行,强烈建议将license的路径更换成某个固定的绝对路径下,不要放当前项目文件夹下,为了防止每次重新发布项目导致license丢失问题。
* 比如windows服务器下:D:/pageoffice,linux服务器下:/root/pageoffice
*/
//设置PageOffice注册成功后,license.lic文件存放的目录
poserver.setSysPath(poSysPath);//poSysPath可以在application.properties这个文件中配置,也可以直设置文件夹路径,比如:poserver.setSysPath("D:/pageoffice");
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;
}
  1. 新建Controller并调用PageOffice,例如:
public class PageOfficeController {
@RequestMapping(value = "/Word", method = RequestMethod.GET)
public ModelAndView showWord(HttpServletRequest request) {
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
poCtrl.setServerPage(request.getContextPath() + "/poserver.zz");//设置服务页面
poCtrl.webOpen("/doc/test.doc", OpenModeType.docNormalEdit, "张三");
request.setAttribute("pageoffice", poCtrl.getHtmlCode("PageOfficeCtrl1"));
ModelAndView mv = new ModelAndView("Word.html");
return mv;
}
}
  1. 新建View页面,例如:Word.html(PageOfficeCtroller返回的View页面,用来嵌入PageOffice控件),PageOffice在View页面输出的代码如下:
<div style="width: auto; height: 700px;" th:utext="${pageoffice}">
  1. 在要打开文件的页面的head标签中先引用pageoffice.js文件后,再调POBrowser.openWindowModeless()方法打开文件,例如:
<!--pageoffice.js的引用路径来自于第2步的项目启动类中的配置路径,一般将此js配置到了当前项目的根目录下 -->
<script type="text/javascript" src="pageoffice.js"></script> <!--openWindowModeless()方法的第一个参数指向的url路径是指调用pageoffice打开文件的controller路径,比如下面的"SimpleWord/Word"--> <a href="javascript:POBrowser.openWindowModeless('SimpleWord/Word', 'width=1050px;height=900px;');">最简单在线打开保存Word文件(URL地址方式)</a>

转载:

https://blog.csdn.net/weixin_38757817/article/details/127787226

pageOffice插件 springboot实现服务器上Word文档在线打开编辑保存的更多相关文章

  1. asp.net对word文档进行修改 对于使用word文档做模板编辑比较适用

    最近做项目,需要多word文档进行编辑并导出一个新的word,在最初的word编辑中留下特定的字符串用来替换,然后在本地生成一个新的word文档,并且不修改服务器中的word文档,这样才能保证服务器中 ...

  2. asp.net如何实现word文档在线预览

    原文:asp.net如何实现word文档在线预览 实现方式:office文档转html,再在浏览器里面在线浏览 1.首先引入com组件中office库,然后在程序集扩展中引入word的dll 2.将M ...

  3. word文档重新打开后文档结构错乱

    word文档重新打开后文档结构错乱,然后通过如下方法解决了. OFFICE2007及以上.        在打开word的时候左下角会有提示word自动更新文档样式,按esc键取消,然后在大纲模式下任 ...

  4. word文档在线预览解决方案

    花了一整天在网上翻关于 “word文档在线预览解决方案” 相关的资料,感觉实现难度比较大还是用PDF来解决好了.. 下面列一下比较好的参考资料吧 参考资料 前端实现在线预览pdf.word.xls.p ...

  5. [转载]Java开发在线打开编辑保存Word文件

    Java调用logo是“P”图标的第三方插件,实现在线编辑保存Word文件(以jsp调用为例,支持SSM.SSH.SpringMVC等流行框架) 工具/原料   Eclipse或MyEclipse等j ...

  6. [原创]Java开发在线打开编辑保存Word文件(支持多浏览器)

    Java调用PageOffice实现在线编辑保存Word文件(以jsp调用为例,支持SSM.SSH.SpringMVC等流行框架) 1. 下载PageOffice开发包:http://www.zhuo ...

  7. SpringBoot整合openoffice实现word文档的读取和导入及报错处理

    先安装openoffice4 Linux系统安装参考:https://www.cnblogs.com/pxblog/p/11622969.html Windows系统安装参考:https://www. ...

  8. Java实现word文档在线预览,读取office文件

    想要实现word或者其他office文件的在线预览,大部分都是用的两种方式,一种是使用openoffice转换之后再通过其他插件预览,还有一种方式就是通过POI读取内容然后预览. 一.使用openof ...

  9. java 实现word文档在线预览

    一.准备工具 1.通过第三方工具openoffice,将word.excel.ppt.txt等文件转换为pdf文件 下载地址:http://www.openoffice.org/download/in ...

  10. word文档在线预览地址

    文档网址 http://www.officeweb365.com/Default/Docview 对接 http://ow365.cn/?i=19604&furl=http:://www.ba ...

随机推荐

  1. #dp#洛谷 2679 子串

    题目 有两个仅包含小写英文字母的字符串 \(A\) 和 \(B\). 现在要从字符串 \(A\) 中取出 \(k\) 个互不重叠的非空子串,然后把这 \(k\) 个子串按照其在字符串 \(A\) 中出 ...

  2. webpack 4 快速搭建

    安装 npm install --save-dev webpack@4.30.0 webpack-cli@3.3.2 更新 package.json 脚本 "scripts": { ...

  3. AVX256加速矩阵乘法

    最近打PKU的HPCGAME留下的代码,速度不是很快 const int BLOCK_SIZE = 1024; const int BLOCK_SIZE2 = 256; inline static v ...

  4. 【FAQ】HarmonyOS SDK 闭源开放能力 —IAP Kit

    1.问题描述 根据https://developer.huawei.com/consumer/cn/doc/harmonyos-references/iap-data-model-0000001736 ...

  5. .Net 代码分析工具对比 visual studio 2022 current

    目录 原因 背景知识 名词解释 分析器 分析器在IDE里 目标 查找思路及过程 CodeMaid Roslyn StyleCop.Analyzer StyleCop? StyleCop.Analyze ...

  6. SEO — 搜索引擎优化

    一.多词排名标题设置 SEO(Search Engine Optimization)是指搜索引擎优化,即利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名 优化目的是:让网站在搜索引擎上的曝光率达到 ...

  7. Launching Teamviewer remotely through SSH

    Launching Teamviewer remotely through SSH When you need to manage your Server remotely, but you can ...

  8. 离线语音识别,vosk,离线流式实时静音噪声监测,支持多语言开发python c++ c# java等

    #!/usr/bin/env python3 from vosk import Model, KaldiRecognizer, SetLogLevel import sys import os imp ...

  9. argparse命令行参数的使用

    import argparse def main(): #设置一些参数 parser = argparse.ArgumentParser() parser.add_argument('--device ...

  10. el-tree选中子级时默认选中父级(角色授权)

    问题1:选中子级时默认选中父级 <el-tree :data="menuData" show-checkbox default-expand-all node-key=&qu ...