1.下载pageoffice相关jar包

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId><version>2.1.3.RELEASE</version>
</dependency>
<dependency><groupId>com.zhuozhengsoft</groupId><artifactId>pageoffice</artifactId><scope>system</scope><systemPath>本地路径/apache-maven-3.6.0/lib/aliyun/org/pageoffice/pageoffice4.5.0.10.jar</systemPath>
</dependency>

注意:pageoffice的jar包可在官方网站上下载的zip包中找到,再放到本地

2.建立controller类,粘贴一下代码

package com.demo.worddemo.cn;import com.zhuozhengsoft.pageoffice.FileSaver;
import com.zhuozhengsoft.pageoffice.OpenModeType;
import com.zhuozhengsoft.pageoffice.PageOfficeCtrl;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;
@RestController
public class WordController {@Value("${posyspath}")private String poSysPath;@Value("${popassword}")private String poPassWord;@RequestMapping("/home")public String getHome(){return "hello";}// 第一步:转换器直接注入
//    @Autowired
//    private DocumentConverter converter;@Resourceprivate HttpServletResponse response;/** 第二种方案。pageoffice服务* 添加PageOffice的服务器端授权程序Servlet(必须)* @return*/@Beanpublic ServletRegistrationBean servletRegistrationBean() {com.zhuozhengsoft.pageoffice.poserver.Server poserver = new com.zhuozhengsoft.pageoffice.poserver.Server();//设置PageOffice注册成功后,license.lic文件存放的目录poserver.setSysPath(poSysPath);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;//}@RequestMapping(value="/word", method= RequestMethod.GET)public ModelAndView showWord(HttpServletRequest request, Map<String,Object> map){//--- PageOffice的调用代码 开始 -----PageOfficeCtrl poCtrl=new PageOfficeCtrl(request);poCtrl.setServerPage("/poserver.zz");//设置授权程序servletpoCtrl.addCustomToolButton("保存","Save",1); //添加自定义按钮poCtrl.setSaveFilePage("/save");//设置保存的actionpoCtrl.webOpen("d:\\test.doc", OpenModeType.docAdmin,"张三");map.put("pageoffice",poCtrl.getHtmlCode("PageOfficeCtrl1"));//--- PageOffice的调用代码 结束 -----ModelAndView mv = new ModelAndView("Word");return mv;}@RequestMapping(value="/index", method=RequestMethod.GET)public ModelAndView showIndex(){ModelAndView mv = new ModelAndView("Index");return mv;}@RequestMapping("/save")public void saveFile(HttpServletRequest request, HttpServletResponse response){FileSaver fs = new FileSaver(request, response);fs.saveToFile("e:\\" + fs.getFileName());fs.close();}}

注:其中所涉及的本地路径更改为自己的本地路径。

3.在application.properties中添加

posyspath=d:/lic/
popassword=111111

注:license.lic,此文件在项目启动后,访问index页面后,点击打开文件,会提示安装客户端pageoffice(这里的客户端是集成到后台jar中的,不联网可下载),客户端第一次访问需注册,注册后会自动生成license.lic到指定目录下。实际部署到服务器时。路径可配置到recource下面。如图

4.在resource下建立template包

1.建立index.html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"><head><title>Index</title><script type="text/javascript" src="jquery.min.js"></script><script type="text/javascript" src="pageoffice.js" id="po_js_main"></script></head><body><h1 th:inline="text">PageOffice 集成效果演示</h1><a href="javascript:POBrowser.openWindowModeless('/word','width=1200px;height=800px;');">打开文件 </a></body>
</html>

2.建立word.html

<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="pageoffice.js" id="po_js_main"></script><div style="width:1000px;height:700px;" th:utext="${pageoffice}">nihao </div>
<script type="text/javascript">function Save() {document.getElementById("PageOfficeCtrl1").WebSave();}
</script><a href="javascript:POBrowser.openWindowModeless('/word','width=1200px;height=800px;');">打开文件</a>

此时。demo完成,即可正常启动项目:访问路径:http://localhost:8765/index   端口可自行更改

问题1:没有license.lic文件

下载此文件。解压后,将Samples4文件放到Tomcat的webapp下正常启动。按照说明正常访问并注册。则访问http://localhost:8080/Samples4/poserver.zz 此路径即可显示license的位置

问题2:没有可用的办公软件

pageoffice对客户端要求较高。客户端需安装激活版的通用office,不支持电脑自带的office365。

问题3:想要更快的创建demo方式,源码在哪里?

http://www.zhuozhengsoft.com/dowm/

如有其他问题可以留言提问,如需要相关包,请留下邮箱。

试用版:springboot集成pageoffice实现word在线预览可编辑相关推荐

  1. 前端如何实现 Word 在线预览

    前端如何实现 Word 在线预览 在前端实现 Word 文件在线预览时,常用的方法包括使用第三方库.浏览器插件.后端服务器.在线文档转换平台等,具体如下: 使用第三方库 常见的前端第三方库包括 Mam ...

  2. office在线预览 word在线预览 .net在线预览 文件在线浏览接口

    office在线预览 word在线预览 excel在线预览 文件浏览接口服务 支持移动端浏览,只要能使用浏览器上网都可以使用,不需要安装任何第三方工具. 1.word在线预览 excel在线预览,.n ...

  3. WEB前端实现在线预览、编辑Office文档

    这篇文章介绍如何在web前端引入JS插件实现在线预览.编辑Office文档. 使用插件:Spire.Cloud在线Office文档编辑器(官网:冰蓝科技在线编辑) 重点:该方案仅需浏览器支持HTML5 ...

  4. spring boot2.X word在线预览 pdf.js

    最近公司项目需求需要在线预览word文档,并且不能在在线下载和编辑.在此记录我是如何做的. 针对word的在线预览网上大多给的解决方案就是先把word文件转成pdf,然后通过pdf.js在线预览pdf ...

  5. 实现word在线预览 有php的写法 也有插件似

    1 <?php2 //header("Content-type:text/html;charset=utf-8");3 //word转html 展示4 $lj=$_GET[' ...

  6. java word在线预览_java实现word转pdf在线预览(前端使用PDF.js;后端使用openoffice、aspose)...

    背景 之前一直是用户点击下载word文件到本地,然后使用office或者wps打开.需求优化,要实现可以直接在线预览,无需下载到本地然后再打开. 随后开始上网找资料,网上资料一大堆,方案也各有不同,大 ...

  7. SpringBoot 实现 Office 各种格式在线预览(详细教程,包教包会)

    点击关注公众号,实用技术文章及时了解 项目特性 部署过程 2.1 二进制下载部署文件进行部署 2.2 docker方式部署 2.3 通过源代码编绎部署 部分配置说明 3.1 server.contex ...

  8. aspose转pdf横版_Aspose实现文件转PDF在线预览及水印功能

    文件转换及在线预览 因为项目是做OA这一块,有很多附件需要实现在线预览附件,在网上也看了很多相关的资料.主要实现方式就是 (openoffice+swftools+flexpaper)和(aspose ...

  9. springboot整合pdf.js实现在线预览pdf文件

    今天在项目中实现pdf在线预览的功能的如图, 通过百度,查询合适的方法,最为简单的的是通过pdf.js的插件在前台展示.本以为是挺容易实现的,但都有莫名其妙的错误. 第一步:下载源码https://g ...

  10. 团队协作三、OnlyOffice 实现文件在线预览和编辑

    文档在线预览,最好都安装到本机,成功的机率大 对于大多数开源的网盘软件来说,文档(docx,doc,txt,pdf,xls等)不能在线预览,给网盘软件的使用带来了不变. 插件下载地址 https:// ...

最新文章

  1. 数据库的介绍、分类、作用和特点
  2. 初探 Unix 操作系统
  3. java线程 打印_Java多线程实战之交叉打印的两种方法
  4. asp.net日期显示 问题
  5. 遭银行账号诈骗最快最有效自救法
  6. mysql查看系统可用字符集_MySQL查看所有可用的字符集
  7. Java的transient关键字
  8. jQuery.Autocomplete 自动完成
  9. 使用el-checkbox实现全选,点击失效没有反应 1
  10. 远程控制工具ToDesk测评
  11. win11提示windows许可证即将过期
  12. discuz模板修改html,Discuz 修改门户的模板——静态页面套用(动态页写死方法以更新)...
  13. 为什么趁年轻就应该去创业?
  14. zencart 模板设计
  15. Redux学习篇:关于store.subscribe()监听方法与取消监听的认识
  16. android 圆形头像方案,android圆形头像实现
  17. type Vector takes type parameters
  18. *p++ 和 *++p
  19. Unity隐藏目录和隐藏文件
  20. 关于构建工具网站的摸索以及记录

热门文章

  1. 在12306网站上如何可以选择上中下铺
  2. 三菱plc232数据线驱动下载_三菱FX系列PLC没有编程电缆,通过DIY232串口下载程序...
  3. 正定矩阵、正定矩阵与极值的关系、黑塞矩阵、牛顿法
  4. USB协议架构及驱动架构
  5. matlab2017a安装出现license checkout failed Error-8
  6. 编译时Collected errors
  7. 嵌入式Linux--使用libpng库解码png图片
  8. 地图上分成一块一块区域 高德地图_高德地图行政区域划分问题有点搞不懂
  9. Java开源 J2EE框架(一)
  10. java读取局域网种大华摄像机信息