首页 > 其他分享 >PageOffice国产版在线编辑word文件

PageOffice国产版在线编辑word文件

时间:2024-05-10 10:01:36浏览次数:15  
标签:文件 word 在线 pageoffice poserver PageOffice 客户端

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

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

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

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

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

  1. 打开springboot-back项目的配置文件application.properties,添加一个posyspath变量,值为上一步创建的pageoffice文件夹的路径
posyspath=D:/pageoffice
  1. 在您项目的启动类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;
}
  1. 在D盘根目录下准备一个有内容的test.docx文件,新建Controller并调用PageOffice在线打开此文件,例如SimpleWordController代码如下:
@RestController
@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();
  }
}
  1. 为上一步代码中的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>
  1. 在需要点击超链接实现在线打开文件的页面(比如:index.html)中添加pageoffice.js文件的引用。
<script type="text/javascript" src="/pageoffice.js"></script>
  1. 然后在页面中添加一个超链接,点击超链接调用POBrowser对象的openWindow方法,弹出新浏览器窗口访问simpleWord/openFile在线打开文件,代码如下:
<a href="javascript:POBrowser.openWindow('simpleWord/openFile','width=1150px;height=900px;');">
    在线打开文档
</a>
  1. 启动项目,点击“在线打开文档”超链接,查看在线打开编辑保存Office文件的效果。

标签:文件,word,在线,pageoffice,poserver,PageOffice,客户端
From: https://www.cnblogs.com/lhl77/p/18183625

相关文章

  • 瑞亚时间管理大师,基于 .NET 6 和 Angular 构建的在线任务管理协作平台
    瑞亚时间管理大师瑞亚时间管理大师,是一个在线的任务管理、项目管理、团队协作平台。瑞亚拥有现代化的页面风格,高效、简便,同时适合个人和团队使用。瑞亚对个人免费,提供了无限制的任务,列表,和空间。功能预览瑞亚时间管理大师是以任务管理为核心,还包括了看板,文档,思维导图,白板......
  • [鸟哥私房菜]4.首次登录与在线求助
    第4章首次登录与在线求助4.1.3XWindow与命令行模式的切换通常我们称命令行界面为终端界面、Terminal或Console。Linux默认的情况下会提供六个终端(Terminal)来让用户登录,切换的方式为使用:[Ctrl]+[Alt]+[F1]~[F6]的组合按钮。其中[Ctrl]+[Alt]+[F1]为图形用户界......
  • 批量删除WordPress文章和页面的数据库命令和从后台直接删除
    批量删除wordpress的方法有两种:1.从wp后台可以调整展示:最多999条2.选择“Bulk”--“Apply”  通过批量删除wordpress文章和页面的数据库命令的步骤:备份数据库:在执行任何数据库操作之前,务必备份您的数据库以防万一。进入数据库:使用您的数据库管理工具(例如phpMyAdmin)登......
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线打开 word 文件
    PageOffice国产版:支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)芯片架构。在OA办公、文档流转等各个Web系统中,实现最简单的打开编辑保存文件功能,调用PageOffice只需要几行代码就可以完成。后端代码在后端编写代码调用webOpen方法......
  • 探索网站支付系统的奥秘,从Vue3和Spring Boot开始(入门级项目实战+在线教程)附赠项目源码
    你是否曾经在购物时,对着电脑屏幕前的“支付成功”四个字感到好奇?这背后的秘密究竟是什么?今天,让我们一起揭开支付系统的神秘面纱,探索其背后的技术实现。在这个基于Vue3和SpringBoot的支付项目实战中,我们将带你一步步了解支付系统的实现思路。这个项目不仅解决了常用支付方式的......
  • C++ keywords
     一、C++98及以前  二、C++111.alignofa.简介:是一个运算符,用于确定类型的对齐要求。b.语法:i.alignof(type_id/object)       c.返回值:i.std::size_t        // 返回指定类型或......
  • 推荐几款AI写作工具:智能在线一键文章创作、代码编写、论文等
    在五一节的休假期结束之后,广大员工常常体验到了显著的疲劳,对立即恢复工作状态感到抗拒。虽然这种心态在职场中并不罕见,但工作的责任与需求仍需要我们去面对。在这种背景下,如何能够既保证工作效率与质量,又能为自己争取到宝贵的调整时间,成为了许多人士所关心的问题。确实,在长假过后......
  • C# VSTO 在Word中将 Range 转为图片
    C#VSTO在Word中将Range转为图片C#VSTO在Word中将Range转为图片流C#VSTO在Word中将Range转为Stream ///<summary>///转为图片流///</summary>///<paramname="range"></param>publicstaticStream......
  • 高效项目管理:如何利用zz-plan在线甘特图工具
    作为项目管理人员,使用zz-planhttps://zz-plan.com/这样的在线甘特图协作软件可以极大地提高项目管理的效率和效果。以下是结合zz-plan特点的一些关键步骤: 1.制定项目计划在zz-plan上创建新的项目,定义项目目标、关键里程碑和最终期限。利用甘特图清晰地规划出每个任务的时......
  • blazor中的PageTitle输出keywords和description,自定义组件
    在blazor的PageTitle中不具备输出keywords和description的功能,而如果直接使用<mate>标签,输出中文时会变成乱码,所以我给大家推介下面的代码解君愁:1@*<PageTitle>@Title-@AppTitle</PageTitle>*@2<HeadContent>3@(newMarkupString($"<metaname=\"keywords\"......