首页 > 系统相关 >国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版提取word文档指定位置内容保存为子文件

国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版提取word文档指定位置内容保存为子文件

时间:2024-08-22 17:48:50浏览次数:8  
标签:uos Word doc openDataRegion PageOffice 国产 bWord PO

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

  • 本示例关键代码的编写位置,请参考“开始 - 快速上手”里您所使用的开发语言框架的最简集成代码

注意
本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。

在实际的开发过程中,有时会遇到希望提取Word文档中部分内容保存为子文件的需求,PageOffice支持提取Word文档数据区域中的内容为一个Word文件流,在服务器端创建PageOffice的Word命名空间中的WordDocumentReader对象并获取到DataRegion对象,再调用DataRegion对象的FileBytes属性就可以得到这个子Word文件流。

注意
PageOffice获取Word文档中指定位置的数据,是通过调用PageOffice获取数据区域的功能,实现此目的。在PageOffice的概念里提到的数据区域,本质上就是书签,但是只有“PO_”开头的书签才叫数据区域。

后端代码

在后端编写代码调用webOpen方法以表单提交模式docSubmitForm打开文件,设置数据区域SubmitAsFile属性为true,并设置接收处理PageOffice客户端控件提交数据的服务器端后台方法为:saveData,如果用户在线编辑文档保存时,数据区域中的内容就会被抽取为Word文件流,并提交到服务器端后台方法saveData,保存为子文件即可。

    PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);

    WordDocumentWriter wordDoc = new WordDocumentWriter();
    //打开数据区域,openDataRegion方法的参数代表Word文档中的书签名称
    DataRegionWriter dataRegion1 = wordDoc.openDataRegion("PO_Sub1");
    dataRegion1.setSubmitAsFile(true);
    DataRegionWriter dataRegion2 = wordDoc.openDataRegion("PO_Sub2");
    dataRegion2.setSubmitAsFile(true);
    dataRegion2.setEditing(true);
    DataRegionWriter dataRegion3 = wordDoc.openDataRegion("PO_Sub3");
    dataRegion3.setSubmitAsFile(true);

    poCtrl.setWriter(wordDoc);//此行必须
    poCtrl.setSaveDataPage("saveData");
    //webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
    poCtrl.webOpen("D:\\documents\\test.docx", OpenModeType.docSubmitForm, "张三");

在服务器端后台方法saveData中,创建com.zhuozhengsoft.pageoffice.word命名空间中的WordDocumentReader对象,提取各数据区域中的子文档。

    WordDocumentReader doc = new WordDocumentReader(request, response);
    byte[] bWord;

    DataRegionReader dr1 = doc.openDataRegion("PO_Sub1");
    bWord = dr1.getFileBytes();
    FileOutputStream fos1 = new FileOutputStream("D:\\documents\\sub1.doc");
    fos1.write(bWord);
    fos1.flush();
    fos1.close();

    DataRegionReader dr2 = doc.openDataRegion("PO_Sub2");
    bWord = dr2.getFileBytes();
    FileOutputStream fos2 = new FileOutputStream("D:\\documents\\sub2.doc");
    fos2.write(bWord);
    fos2.flush();
    fos2.close();

    DataRegionReader dr3 = doc.openDataRegion("PO_Sub3");
    bWord = dr3.getFileBytes();
    FileOutputStream fos3 = new FileOutputStream("D:\\documents\\sub3.doc");
    fos3.write(bWord);
    fos3.flush();
    fos3.close();

    doc.close();

参考链接:提取数据区域为子文件(Word拆分)

标签:uos,Word,doc,openDataRegion,PageOffice,国产,bWord,PO
From: https://www.cnblogs.com/qq742655/p/18374434

相关文章

  • 922-基于6U VPX的全国产化电力电子仿真计算机
    基于6UVPX的全国产化电力电子仿真计算机   一、设备概述   设计一款基于CPU+FPGA+IO的异构可扩展高性能国产化仿真测控平台,要求完成硬件设计,驱动调试,数据链路传输。主芯片采用国产化芯片,工业级。基本架构:    主要板卡部件如下:......
  • 英伟达首个AI NPC入驻游戏,国产大作,4B模型只需2G显存
    点击访问我的技术博客https://ai.weoknow.comhttps://ai.weoknow.com玩家都在问:游戏什么时候上线?大模型驱动的游戏NPC终于落地了。今天凌晨,英伟达放出一段游戏demo。现在打游戏,你可以用语音对话的方式和NPC交流,了解关卡目标、优化装备配置,随后调整武器配色开......
  • 免费国产 Java 反编译工具 jdecode.net
    免费国产Java反编译工具jdecode.netjdecode于2024-04-2512:04:37发布阅读量1.1k收藏20点赞数27文章标签:java开发语言版权网站地址:www.jdecode.net推荐理由:功能强大、成功率高、错误少、安全、免费、国产1、功能强大主流版本支持:支持Java5~11主流版本,经过大规......
  • 国产海光CPU平台兼容性指南-基础软件分册-20231013(附各系统下载链接)
    目录声明一、操作系统 二、虚拟化和云2.1 虚拟化和云2.2虚拟机上的操作系统2.2.1 VMwarevSphere上的虚拟机操作系统2.2.2  KVM上的虚拟机操作系统2.2.3  WindowsHyper-V上的虚拟机操作系统2.2.4  VirtualBox上的虚拟机操作系统三、分布式存储 四、......
  • 国产GD32单片机开发入门(一) GD32F103C8T6开发板电路原理图分析
    文章目录一.概要二.技术名词解释三.板子主要电子器件四.原理图电路分析1.原理图总览2.电源电路1)5V电路2)3.3V电路3.LED指示灯电路4.复位电路5.晶振电路1)高频晶振电路2)低频晶振电路6.调试下载电路1)调试电路(SWD接线方式)2)BOOT电路7.外围接口电路8.模块拓展接口9......
  • 9k star 监控系统,100% 国产,推荐了解
    前言监控系统的重要性不言而喻,国内用的最多的应该是Zabbix和Prometheus,其优缺点:Zabbix是资产管理式,监控数据存在数据库中,擅长设备监控,不擅长微服务和云原生环境的监控;推出时间较早,社区活跃度较高Prometheus是云原生环境的监控利器,支持多维度的指标数据,自研存储引擎,但是告......
  • 哇!0.8秒启动!Linux快速启动方案分享,全志T113-i国产平台!
    本文主要介绍基于创龙科技TLT113-EVM评估板(基于全志T113-i)的系统快速启动方案,适用开发环境如下。Windows开发环境:Windows764bit、Windows1064bit虚拟机:VMware15.5.5Linux开发环境:Ubuntu18.04.464bitU-Boot:U-Boot-2018.07Kernel:Linux-5.4.61、Linux-RT-5.4.61LinuxSDK......
  • 加固显控终端:兼容飞腾、龙芯、瑞芯微等国产CPU处理器的100%国产化加固显控终端
        加固显控终端通常是指对显示控制终端进行物理和逻辑上的增强,以提高其在恶劣环境下的稳定性和安全性。这种类型的终端常见于工业、军事或其他需要高可靠性的环境中。①基于飞腾FT2000/4、D2000、E2000Q;龙芯LS3A4000、LS3A500、LS2K1000;瑞芯微RK3588等处理器;②......
  • 国产操作系统 离线部署MYSQL、NGINX、redis、JDK1.8
    目录1.1、龙蜥操作系统8.4【AnolisOS8.4GA】1.2、安装关键步骤说明2.1、安装必要的系统组件2.2、配置JDK2.3、安装redis2.4、安装nginx2.5、安装mysql3.1、启用防火墙3.2、开放业务端口3.3、修改SSH端口号为100223.4、配置特定端口指定IP访问4.1、网络设置4.2......
  • 崛起中的国产单片机 — 32位MCU系列【二】(N32、APM32、CW32、MM32)
            有很多人说,国产MCU都是模仿国外的技术产品,你可以看一下,当前大家所见到的大部分国产MCU产品,在产品的性能上,有很多MCU是国外产品替代不了的,只不过产品的成熟都是需要一个转化的过程,就像跑步比赛一样,在本身技术、资源等条件匮乏的情况下,从起跑到现在的跟跑,再到后......