首页 > 系统相关 >国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线打开 word 文件

国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线打开 word 文件

时间:2024-05-09 15:14:31浏览次数:27  
标签:uos 文件 fs pageofficectrl AddCustomToolButton function PageOffice 国产 word

PageOffice 国产版 :支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)芯片架构。

在OA办公、文档流转等各个Web系统中,实现最简单的打开编辑保存文件功能,调用PageOffice只需要几行代码就可以完成。

后端代码

  1. 在后端编写代码调用webOpen方法打开文件之前给SaveFilePage属性赋值(设置好保存时由哪个地址接口负责接收处理控件上传的文件流);
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
poCtrl.setSaveFilePage("saveFile"); // 设置保存文件的接口地址
//webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
//查看详细,请在本站搜索“PageOffice属性或方法中涉及到的URL路径或磁盘路径的说明”
poCtrl.webOpen("doc/test.docx", OpenModeType.docNormalEdit, "张佚名"); // 打开文件

注意
对PageOfficeCtrl对象的所有属性赋值或函数调用都必须在WebOpen方法调用之前执行,否则会不生效。

  1. 在SaveFilePage属性指向的地址接口中,创建FileSaver对象处理文件的保存工作。
FileSaver fs = new FileSaver(request, response);
fs.saveToFile(request.getSession().getServletContext().getRealPath("doc/") + fs.getFileName());
fs.close();

前端代码

  1. 在OnPageOfficeCtrlInit事件中添加自定义按钮(根据实际需求自行添加,不限于以下几个按钮)。
OnPageOfficeCtrlInit() {
  pageofficectrl.AddCustomToolButton("保存", "Save", 1);
  pageofficectrl.AddCustomToolButton("另存为", "SaveAs", 12);
  pageofficectrl.AddCustomToolButton("打印设置", "PrintSet", 0);
  pageofficectrl.AddCustomToolButton("打印", "PrintFile", 6);
  pageofficectrl.AddCustomToolButton("全屏/还原", "IsFullScreen", 4);
  pageofficectrl.AddCustomToolButton("-", "", 0);
  pageofficectrl.AddCustomToolButton("关闭", "Close", 21);
},
  1. 实现自定义按钮所调用的js函数;
function Save() {
  pageofficectrl.WebSave();
}
function SaveAs() {
  pageofficectrl.ShowDialog(3);
}
function PrintSet() {
  pageofficectrl.ShowDialog(5);
}
function PrintFile() {
  pageofficectrl.ShowDialog(4);
}
function Close() {
  window.external.close();
}
function IsFullScreen() {
  pageofficectrl.FullScreen = !pageofficectrl.FullScreen;
}

参考链接:PageOffice最简单的打开保存文件PageOffice最简单的打开保存文件

标签:uos,文件,fs,pageofficectrl,AddCustomToolButton,function,PageOffice,国产,word
From: https://www.cnblogs.com/qq742655/p/18182281

相关文章

  • 基于国产 Web 组态软件 TopStack 搭建隧道照明控制系统
    前言TopStack是一款轻量型Web组态软件,提供多种核心功能,包括设备数据采集、定时任务、控制策略、联动控制、设备告警等,支持移动端访问,可满足中小企业快速上云需求。TopStack被广泛应用于制造业、电力、石油、化工、能源、交通、冶金、水务等行业。本文介绍的是用TopStack搭......
  • 国产持续集成工具 - Gokins
    国产持续集成工具-Gokins持续集成(ContinuousIntegration,CI)介绍在传统软件开发过程中,集成通常发生在每个人都完成了各自的工作之后。在项目尾声阶段,通常集成还要痛苦的花费数周或者数月的时间来完成。持续集成是一个将集成提前至开发周期的早期阶段的实践方式,让构建、测试和......
  • 解决国产系统 Docker 拉取大镜像卡顿之谜
    今天解决了客户arm64机器上dockerpull大镜像卡住的问题。由来同事让我帮忙解决客户现场Docker镜像无法拉取的问题,故障如下会一直卡住: $ docker pull xxx:5000/xxxx xxx: Pulling from xxx/xxxxxx 7c0b344a74c2: Extracting [>     ......
  • C++ keywords
     一、C++98及以前  二、C++111.alignofa.简介:是一个运算符,用于确定类型的对齐要求。b.语法:i.alignof(type_id/object)       c.返回值:i.std::size_t        // 返回指定类型或......
  • C# VSTO 在Word中将 Range 转为图片
    C#VSTO在Word中将Range转为图片C#VSTO在Word中将Range转为图片流C#VSTO在Word中将Range转为Stream ///<summary>///转为图片流///</summary>///<paramname="range"></param>publicstaticStream......
  • 统信UOS 安装node、npm、npx的步骤(亲测可行)
    一、下载安装包建议下载20.0.0附近或以上版本,不然后期可能还得重来网址:https://registry.npmmirror.com/binary.html?path=node/latest-v20.x/注意:要下载node-vx.x.x-linux-x64.tar.gz这样的包,千万不能下载 arm64 的包!!二、解压后创建软链接(注意替换成你自己的文件路径):sudo......
  • blazor中的PageTitle输出keywords和description,自定义组件
    在blazor的PageTitle中不具备输出keywords和description的功能,而如果直接使用<mate>标签,输出中文时会变成乱码,所以我给大家推介下面的代码解君愁:1@*<PageTitle>@Title-@AppTitle</PageTitle>*@2<HeadContent>3@(newMarkupString($"<metaname=\"keywords\"......
  • 忘记zabbix监控平台Admin用户密码:Incorrect user name or password or account is tem
    如下图(实在想不起密码不要紧我们直接重新设置它):1.登入zabbix数据库[root@SJYS-Test1~]#mysql-uroot-pEnterpassword:WelcometotheMariaDBmonitor.Commandsendwith;or\g.2.进入zabbix库,查询users用户表MariaDB[(none)]>usezabbix;MariaDB[zabbix]>select......
  • OKR-Periods of Words
    题目描述对于一个由小写字母构成的字符串a,定义它的周期Q满足Q是a的真前缀且a是Q+Q(两个Q首尾相接组成的字符串)的前缀(不一定是真前缀)。例如ab是abab的一个周期,因为ab是abab的真前缀,且abab是ab+ab的前缀。求给定字符串所有前缀的最大周期长度之和。输入格式......
  • OKR-Periods of Words
    [POI2006]OKR-PeriodsofWords题面翻译对于一个仅含小写字母的字符串\(a\),\(p\)为\(a\)的前缀且\(p\nea\),那么我们称\(p\)为\(a\)的proper前缀。规定字符串\(Q\)表示\(a\)的周期,当且仅当\(Q\)是\(a\)的proper前缀且\(a\)是\(Q+Q\)的前缀。若这样的......