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

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

时间:2023-02-10 17:47:17浏览次数:51  
标签: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>

  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

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

相关文章

  • 014_SpringBoot整合MyBatisPlus
    MyBatis-Plus与MyBatis区别:导入坐标不同;数据层实现简化。①:在pom.xml手动添加SpringBoot整合MyBatis-Plus的坐标,可以通过mvnrepository获取  ②:在dao层里......
  • SpringBoot + Disruptor实现高并发内存消息队列
    1.简介  Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开......
  • springboot开发日记(10)——web开发
    通过SpringInitializer进行项目创建文件->新建项目->选中SpringInitializer->勾选所需的插件和项目类型(本次勾选插件为:lombok、dev-tools、SpringConfigurationProcessor,......
  • SpringBoot启动流程
    SpringBoot项目都需要一个启动类。在启动类上标注@SpringBootApplication,在main方法中调用SpringApplication.run()方法,就可以启动项目:@SpringBootApplicationpublic......
  • springboot SpEL关于@ConditionalOnExpression注解,在使用spel表达式引用配置属性bean
    springboot关于@ConditionalOnExpression注解,在使用spel表达式引用配置属性bean导致提前初始化,无绑定数据的问题及相应的解决方法。SpringBoot版本<parent>......
  • Java读取上传的word文档内容
    @RequestMapping(value="save",method=RequestMethod.POST)publicRsave(@RequestParam("imgFile")MultipartFilefile){StringfileName=file.getOrigin......
  • C#使用openxml-sdk生成word文档
    从nuget中安装openxml  测试代码using(WordprocessingDocumentdoc=WordprocessingDocument.Create("test.docx",DocumentFormat.OpenXml.Wordproc......
  • Docker搭建LNMP+wordpress
    一、项目模拟1.项目环境公司在实际的生产环境中,需要使用Docker技术在一台主机上创建LNMP服务并运行Wordpress网站平台。然后对此服务进行相关的性能调优和管理工......
  • 线上预览word
    在预览线上之前还得补习一下别的知识在使用url进行参数传递时,经常会传递一些中文名的参数或URL地址,在后台处理时会发生转换错误.在有些传递页面使用GB2312,而在接收页面使......
  • SpringBoot解决跨域问题
    遇到前端跨域访问问题,类似于这样的:在Springboot项目里加上这个配置文件CorsConfig.java,重启之后即可实现跨域访问,前端无需再配置跨域。importorg.springframework.......