首页 > 其他分享 >【转】pageOffice插件 springboot实现服务器上Word文档在线打开编辑保存

【转】pageOffice插件 springboot实现服务器上Word文档在线打开编辑保存

时间:2023-01-10 18:35:39浏览次数:56  
标签:srb 插件 Word springboot pageoffice poserver 服务器 addUrlMappings

pageOffice插件 springboot实现服务器上Word文档在线打开编辑保存

需求:

在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.3.0.3</version>
</dependency>

2.在您项目的启动类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;
}

3.新建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;
  }
}

4.新建View页面,例如:Word.html(PageOfficeCtroller返回的View页面,用来嵌入PageOffice控件),PageOffice在View页面输出的代码如下:

<div style="width: auto; height: 700px;" th:utext="${pageoffice}">


5.在要打开文件的页面的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>

标签:srb,插件,Word,springboot,pageoffice,poserver,服务器,addUrlMappings
From: https://www.cnblogs.com/uzi05/p/17041074.html

相关文章

  • SiteFactory编辑器支持Word文档
    ​ 当前功能基于PHP,其它语言流程大致相同 1.新增上传wordjson配置在ueditor\php\config.json中新增如下配置:     /* 上传word配置 */    "wordAction......
  • SiteFactory编辑器支持Word导入
    ​ 百度ueditor新增的将word内容导入到富文本编辑框的功能怎么没有啊,...ueditor实现word文档的导入和下载功能的方法:1、UEditor没有提供word的导入功能,只能说是粘贴复......
  • vue3 使用clodop打印插件实现不预览直接打印
    一、下载安装C-LODOPhttps://www.lodop.net/download.html   解压文件后点击exe程序,启用服务   将上述的LodopFuncs.js文件放到工程某个文件下  ......
  • SiteFactory编辑器支持Word上传
    ​ 1.编辑器修改(可选)1.1在 ueditor/config.json 中添加代码块    /* 上传word配置 */    "wordActionName":"wordupload",/* 执行上传视频的action......
  • Springboot:拦截器和过滤器
    项目的开发中,在某些情况下,我们需要对客户端发出的请求进行拦截,常用的API拦截方式有Fliter,Interceptor,ControllerAdvice以及Aspect。请求从Filter-->>Controller的过程中,只......
  • 关于word排版的技巧
    https://jingyan.baidu.com/article/e4d08ffd8799154ed2f60d83.htmlhttps://blog.csdn.net/DB_L_YL/article/details/53191386?spm=1001.2101.3001.6661.1&utm_medium=di......
  • Springboot .properties或.yml配置文件读取pom.xml文件值
    需要在pom.xml中打开过滤才可以<build><resources><resource><directory>src/main/resources</directory><fi......
  • springboot启动报错
    前言​ 学习构建springboot+maven项目,在父模块下创建的一个新的模块,依赖版本由父模块pom.xml控制;写了一个测试接口,启动测试时,一直报错,初始化失败、datasource创建失败、......
  • springboot集成dubbo
    使用SpringBoot+Dubbo搭建一个简单分布式服务实战之前,先来看几个重要的概念什么是分布式?什么是Duboo?Dubbo架构什么是RPC?为什么要用Dubbo?开始实战1:zoo......
  • 前端插件一:jQuery Multi-Select多选插件
    前端插件一:jQueryMulti-Select多选插件2021-06-2700:06512阅读0赞项目此项目是替换标准<select>(含有multiple属性的select标签)的一套交互友好的组件。特点免......