当前位置: 首页 > 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文件的效果。

 

相关文章:

PageOffice国产版在线编辑word文件

PageOffice国产版支持统信UOS、银河麒麟等国产操作系统。调用客户端WPS在线编辑word、excel、ppt等文件。在线编辑效果与本地WPS一致。如图所示&#xff1a; web系统集成pageofficeV6.0国产版的文档&#xff1a;PageOfficeV6.0国产版最简集成代码(Springboot) PageOffice最简集…...

Bitmap位图数据排列方式

读取dicom C# 使用fo-dicom操作dicom文件-CSDN博客 创建位图 通过读取dicom得到像素内存&#xff0c;本例单指彩色图像。 Bitmap dataBmp new Bitmap(imageWidth, imageHeight, stride, PixelFormat.Format24bppRgb, dstBmp); 当像素的内存按照RGB的排列模式时&#xff0c…...

重磅消息:ONLYOFFICE8.1版本桌面编辑器发布:功能完善的 PDF 编辑器、幻灯片版式、改进从右至左显示、新的本地化选项等

目录 ONLYOFFICE介绍 PDF 编辑器 功能全面的 PDF 编辑器 文本编辑 页面处理 &#xff08;添加、旋转、删除&#xff09; 插入和调整各种对象&#xff0c;例如表格、形状、文本框、图像、TextArt、超链接、方程等。 此外 PDF 表单 文本文档编辑器更新内容 页面颜色 页面…...

16进制数按位修改

16进制数需要按位修改,特别是在修改寄存器的时候 16进制数转换为2进制 #16进制数转换为2进制 def hex_to_binary(hex_value):return bin((hex_value))二进制数转换为列表 def bin_to_array(bin_str):integer = int(bin_str, 2)array...

深度神经网络——什么是小样本学习?

引言 小样本学习是指使用极少量的训练数据来开发人工智能模型的各种算法和技术。小样本学习致力于让人工智能模型在接触相对较少的训练实例后识别和分类新数据。小样本训练与训练机器学习模型的传统方法形成鲜明对比&#xff0c;传统方法通常使用大量训练数据。小样本学习是 主…...

送物机器人电子方案定制

这是一款集娱乐、教育和互动于一身的高科技产品。 一、它的主要功能包括&#xff1a; 1. 智能对话&#xff1a;机器人可以进行简单的对话&#xff0c;回答用户的问题&#xff0c;提供有趣的互动体验。 2. 前进、后退、左转、右转、滑行&#xff1a;机器人可以通过遥控器或AP…...

chatgpt: linux 下用纯c 编写一按钮,当按钮按下在一新窗口显示本机主目录下图片子目录中的1.jpg图片

tmd,这chatgpt太强大了。 从下面的c程序与python程序对比&#xff0c;纯c的ui编程也不是太复杂。 再说一次&#xff0c;要想学好编程必须要用上这个chatgpt工具。 在 Linux 环境下使用纯 C 语言编写一个按钮&#xff0c;当按钮按下时&#xff0c;在一个新窗口中显示本机主目…...

SherlockChain:基于高级AI实现的智能合约安全分析框架

关于SherlockChain SherlockChain是一款功能强大的智能合约安全分析框架&#xff0c;该工具整合了Slither工具&#xff08;一款针对智能合约的安全工具&#xff09;的功能&#xff0c;并引入了高级人工智能模型&#xff0c;旨在辅助广大研究人员针对Solidity、Vyper和Plutus智…...

MySQL中Explain执行计划各参数的含义

EXPLAIN 语句输出的各个列的作用先大致罗列一下&#xff1a; 列名 描述 id 在一个大的查询语句中每个SELECT关键字都对应一个唯一的id select_type SELECT关键字对应的那个查询的类型 table 表名 partitions 匹配的分区信息 type 针对单表的访问方法 possible_keys…...

Redis队列自研组件

背景 年初的时候设计实践过一个课题&#xff1a;SpringBootRedis实现不重复消费的队列&#xff0c;并用它开发了一个年夜饭下单和制作的服务。不知道大家还有没有印象。完成这个课题后&#xff0c;我兴致勃勃的把它运用到了项目里面&#xff0c;可谁曾想&#xff0c;运行不久后…...

ArchLinux挑战安装(ZFS、Wayland、KDE、xero)

目录 0. 前言&#xff1a; 1. 先期准备 1.1 引导ArchLinx光盘。 1.2 禁用 reflector 服务 1.3 防止网卡禁用 1.4 wifi设置 1.5 测试网络是否连接 1.6 更新系统时间 1.7 更换源 1.8 下载ZFS模块 1.9 加载ZFS模块 2. 磁盘处理 2.1 查看磁盘分区 2.2 清除与整个磁盘…...

纯css写一个动态圣诞老人

效果预览 在这篇文章中&#xff0c;我们将学习如何使用CSS来创建一个生动的圣诞老人动画。通过CSS的魔力&#xff0c;我们可以让圣诞老人在网页上摇摆&#xff0c;仿佛在向我们招手庆祝圣诞节和新年。 实现思路 实现这个效果的关键在于CSS的keyframes动画规则以及各种CSS属性…...

百度Apollo的PublicRoadPlanner一些移植Ros2-foxy的思路(持续更新)

如今的PublicRoadPlanner就是之前耳熟能详的EM planner 计划 —— ROS2与CARLA联合仿真 结构化场景: 规划算法:EM-planner 控制算法:MPC和PID 非结构化场景: 规划算法采用Hybrid A* (1)小车模型搭建(计划参考Github上Hybrid上的黑车,比较炫酷) (2)车辆里程计: 位…...

Linux内存管理(七十三):cgroup v2 简介

版本基于: Linux-6.6 约定: 芯片架构:ARM64内存架构:UMACONFIG_ARM64_VA_BITS:39CONFIG_ARM64_PAGE_SHIFT:12CONFIG_PGTABLE_LEVELS :31. cgroup 简介 术语: cgroup:control group 的缩写,永不大写(never capitalized); 单数形式的 cgroup 用于指定整个特性,也用…...

c++习题01-ljc的暑期兼职

目录 一&#xff0c;题目描述 二&#xff0c;思路 三&#xff0c;伪代码 四&#xff0c;流程图 五&#xff0c;代码 一&#xff0c;题目描述 二&#xff0c;思路 1&#xff0c;根据题目要求需要声明4个变量&#xff1a;a,b,c,d ;牛奶价格a&#xff0c;活动要求b&…...

有哪些方法可以恢复ios15不小心删除的照片?

ios15怎么恢复删除的照片&#xff1f;在手机相册里意外删除了重要的照片&#xff1f;别担心&#xff01;本文将为你介绍如何在iOS 15系统中恢复已删除的照片。无需专业知识&#xff0c;只需要按照以下步骤操作&#xff0c;你就能轻松找回宝贵的回忆。 一、从iCloud云端恢复删除…...

nacos漏洞汇总

1 nacos介绍 1.1 nacos是啥 Alibaba Nacos是阿里巴巴推出来的一个新开源项目&#xff0c;是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。致力于帮助发现、配置和管理微服务。Nacos提供了一组简单易用的特性集&#xff0c;可以快速实现动态服务发现、服…...

React Antd ProTable 如何设置类似于Excel的筛选框

React Antd ProTable 如何设置类似于Excel的筛选框 目标&#xff1a;在web页面的table表格中完成类似于EXCEL的Filter筛选功能。 示例图&#xff1a;点击标题列上方的漏斗状图标&#xff0c;即可对数据进行筛选。 ProTable 前景提要 ProTable API中有说明&#xff0c;是有…...

句法分析概述

第1关&#xff1a;句法分析概述 任务描述 本关任务&#xff1a;通过对句法分析基本概念的学习&#xff0c;完成相应的选择题。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 句法分析的基础概念&#xff1b; 句法分析的数据集和评测方法。 句法分析简介…...

简单了解css的基本使用

CSS 一、基础认知 1、CSS引入方式 1.1、内嵌式&#xff08;CSS写在style标签中&#xff09; style标签虽然可以写在页面的任意位置&#xff0c;但是通常约定写在head标签中 2.2、外联式&#xff08;CSS写在一个单独的.css文件中&#xff09; 需要通过link标签在网页中引入…...

AI设计风格Prompt实战指南:从32种风格词典到精准生成

1. 项目概述&#xff1a;一份给AI设计师的“风格词典”如果你和我一样&#xff0c;经常用 Claude、Cursor 或者 v0 这类 AI 工具来生成网页界面&#xff0c;那你肯定遇到过这个头疼的问题&#xff1a;脑子里想的是“赛博朋克”或者“瑞士风格”&#xff0c;但打出来的 prompt 却…...

Sora 2生成素材在AE中频繁掉帧?20年合成老炮儿用CUDA Graph重构图层管线,性能提升3.8倍(含Profile对比图)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Sora 2生成素材在AE中频繁掉帧&#xff1f;20年合成老炮儿用CUDA Graph重构图层管线&#xff0c;性能提升3.8倍&#xff08;含Profile对比图&#xff09; 当Sora 2输出的4K/60fps高动态范围视频序列导入…...

硅应变计与Σ-Δ ADC协同设计及温度补偿技术

1. 硅应变计与Σ-Δ ADC的协同优势解析硅基应变计在现代传感器领域占据重要地位&#xff0c;其核心原理基于压阻效应——当硅材料发生机械形变时&#xff0c;晶格结构变化导致载流子迁移率改变&#xff0c;从而引起电阻值变化。与传统金属箔应变计相比&#xff0c;硅应变计的灵…...

别再硬改CSS了!ElementUI el-table透明背景的3种正确姿势(含Vue2/Vue3避坑指南)

别再硬改CSS了&#xff01;ElementUI el-table透明背景的3种正确姿势&#xff08;含Vue2/Vue3避坑指南&#xff09; 在深色主题或背景融合的现代Web应用中&#xff0c;ElementUI的el-table组件默认的白色背景常常成为视觉设计的绊脚石。许多开发者第一反应是直接修改CSS文件&am…...

Argo CD 集成 Helmfile 插件:实现 GitOps 下复杂应用声明式部署

1. 项目概述与核心价值如果你正在使用 Argo CD 管理 Kubernetes 集群&#xff0c;并且你的应用清单是由 Helmfile 来编排的&#xff0c;那么travisghansen/argo-cd-helmfile这个项目很可能就是你一直在寻找的“粘合剂”。简单来说&#xff0c;它是一个专门为 Argo CD 设计的 He…...

强者心态:重塑人生的九大底层逻辑

在这个充满不确定性的时代&#xff0c;“强者心态”不再仅仅是一个心理学概念&#xff0c;它更是一种生存智慧、一种生活态度、一种能够穿透迷雾、引领我们走向卓越的底层逻辑。图片中总结的“九大强者心态”&#xff0c;为我们提供了一张清晰的地图&#xff0c;指引我们如何从…...

深度解析:HS2-HF Patch如何通过模块化架构彻底重塑游戏体验

深度解析&#xff1a;HS2-HF Patch如何通过模块化架构彻底重塑游戏体验 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch HS2-HF Patch作为《Honey Select 2》最全…...

用Qt快速搭建一个局域网文件传输工具:QTcpServer/QTcpSocket完整项目实战

用Qt快速搭建一个局域网文件传输工具&#xff1a;QTcpServer/QTcpSocket完整项目实战 在数字化办公场景中&#xff0c;局域网文件传输是高频刚需。想象这样的场景&#xff1a;会议室里需要快速共享设计稿&#xff0c;实验室多台设备要同步采集数据&#xff0c;或者家庭网络中手…...

让机房管理告别粗放,每一寸资源都物尽其用

对于机房运维人员而言&#xff0c;U 位管理看似是基础小事&#xff0c;却是决定机房运维效率、资产安全与合规水平的关键。当前&#xff0c;不少企业机房、单位机房仍沿用传统人工管理模式&#xff0c;机柜 U 位全靠记忆、台账全靠 Excel、盘点全靠熬夜&#xff0c;看似节省了成…...

测水位·报雨情·预洪水:水文监测站

水文监测站采用先进平面阵列雷达微波探测技术&#xff0c;设备悬空架设、非接触式采集河道水体数据。通过高精度雷达天线持续发射微波信号&#xff0c;穿透空气介质触达水面后反射回波&#xff0c;系统精准测算信号传播时长与多普勒频移变化&#xff0c;结合设备自带角度校准功…...