当前位置: 首页 > news >正文

PageOffice国产版在线编辑word文件

PageOffice国产版支持统信UOS、银河麒麟等国产操作系统。调用客户端WPS在线编辑word、excel、ppt等文件。在线编辑效果与本地WPS一致。如图所示:

web系统集成pageofficeV6.0国产版的文档:PageOfficeV6.0国产版最简集成代码(Springboot)

PageOffice最简集成代码(Springboot)

本文描述了PageOffice产品在Springboot项目中如何集成调用。(本示例使用了Thymeleaf模板引擎)

1、新建Springboot项目:pageoffice6-springboot2-simple

2、在您项目的pom.xml中通过下面的代码引入PageOffice依赖。pageoffice.jar已发布到Maven中央仓库 (opens new window),建议使用最新版本。

如果使用Tomcat10及以上版本,使用下面的pom.xml配置

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

如果使用Tomcat9及以下的版本,使用下面的pom.xml配置

<dependency><groupId>com.zhuozhengsoft</groupId>   <artifactId>pageoffice</artifactId>   <version>6.1.0.2-javax</version>
</dependency>

3、新建一个pageoffice文件夹,用来存放PageOffice的系统文件(如license.lic、客户端安装包等),比如windows环境下创建:D:/pageoffice,linux环境下创建:/root/pageoffice

4、拷贝pageoffice客户端安装程序到上一步创建的pageoffice文件夹下。

  • 客户端是windows环境:拷贝posetup_6.1.0.2.exe到pageoffice文件夹下;
  • 客户端是国产操作系统环境:拷贝对应芯片的PageOffice客户端deb安装包到pageoffice文件夹下;

PageOffice客户端安装程序下载地址:https://gitee.com/pageoffice/pageoffice6-client/releases (opens new window) 

5、打开springboot-back项目的配置文件application.properties,添加一个posyspath变量,值为上一步创建的pageoffice文件夹的路径。

posyspath=D:/pageoffice

6、在您项目的启动类Application类中添加一项@Bean配置,此为PageOffice服务器端的必要配置,代码如下:

@Value("${posyspath}")
private String poSysPath;
@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("/poclient");srb.addUrlMappings("/pageoffice.js");srb.addUrlMappings("/sealsetup.exe");return srb;
}

7、在D盘根目录下准备一个有内容的test.docx文件,新建Controller并调用PageOffice在线打开此文件,例如SimpleWordController代码如下:

@Controller
@RequestMapping(value = "/simpleWord")
public class SimpleWordController {  @RequestMapping(value="/openFile")public String openFile(HttpServletRequest request) {PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);poCtrl.setSaveFilePage("saveFile");//webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式//查看详细,请在本站搜索“PageOffice属性或方法中涉及到的URL路径或磁盘路径的说明”poCtrl.webOpen("D:\\test.docx", OpenModeType.docNormalEdit, "张三");request.setAttribute("poHtmlCode", poCtrl.getHtmlCode());return  "simpleWord";}@RequestMapping("/saveFile")public void saveFile(HttpServletRequest request, HttpServletResponse response) {FileSaver fs = new FileSaver(request, response);fs.saveToFile("D:\\" + fs.getFileName());fs.close();}
}

8、为上一步代码中的openFile方法准备Thymeleaf模板:simpleWord.html,代码如下:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>最简单的打开保存文件</title>
</head>
<body>
<div style="width:100%; height:800px;"  th:utext="${poHtmlCode}"></div>
<script>function Save() {pageofficectrl.WebSave();}function OnPageOfficeCtrlInit() {pageofficectrl.AddCustomToolButton("保存", "Save", 1);}
</script>
</body>
</html>

 9、在需要点击超链接实现在线打开文件的页面(比如:index.html)中添加pageoffice.js文件的引用。

<script type="text/javascript" src="/pageoffice.js"></script>

10、然后在页面中添加一个超链接,点击超链接调用POBrowser对象的openWindow方法,弹出新浏览器窗口访问simpleWord/openFile在线打开文件,代码如下:

<a href="javascript:POBrowser.openWindow('simpleWord/openFile','width=1150px;height=900px;');">在线打开文档
</a>

11、启动项目,点击“在线打开文档”超链接,查看在线打开编辑保存Office文件的效果。

 

http://www.lryc.cn/news/385146.html

相关文章:

  • Bitmap位图数据排列方式
  • 重磅消息:ONLYOFFICE8.1版本桌面编辑器发布:功能完善的 PDF 编辑器、幻灯片版式、改进从右至左显示、新的本地化选项等
  • 16进制数按位修改
  • 深度神经网络——什么是小样本学习?
  • 送物机器人电子方案定制
  • chatgpt: linux 下用纯c 编写一按钮,当按钮按下在一新窗口显示本机主目录下图片子目录中的1.jpg图片
  • SherlockChain:基于高级AI实现的智能合约安全分析框架
  • MySQL中Explain执行计划各参数的含义
  • Redis队列自研组件
  • ArchLinux挑战安装(ZFS、Wayland、KDE、xero)
  • 纯css写一个动态圣诞老人
  • 百度Apollo的PublicRoadPlanner一些移植Ros2-foxy的思路(持续更新)
  • Linux内存管理(七十三):cgroup v2 简介
  • c++习题01-ljc的暑期兼职
  • 有哪些方法可以恢复ios15不小心删除的照片?
  • nacos漏洞汇总
  • React Antd ProTable 如何设置类似于Excel的筛选框
  • 句法分析概述
  • 简单了解css的基本使用
  • 构建网络图 (JavaScript)
  • 洛谷U389682 最大公约数合并
  • video_多个m3u文件合并成一个m3u文件
  • x264 码率控制 MBtree 原理:i_propagate_cost计算过程
  • C语言基础笔记(全)
  • 通过注释语句,简化实体类的定义(省略get/set/toString的方法)
  • springboot框架使用Netty依赖中解码器的作用及实现详解
  • Python爬虫实战之爬取京东商品数据
  • 浅析Resource Quota中limits计算机制
  • 《数据结构与算法基础 by王卓老师》学习笔记——1.4算法与算法分析
  • 运维团队如何加强安全设备监控与日志管理