首页 > 其他分享 >转载:国产麒麟、统信系统在线编辑word并拆分成多个子文件

转载:国产麒麟、统信系统在线编辑word并拆分成多个子文件

时间:2024-09-05 14:05:38浏览次数:8  
标签:Word doc 麒麟 PageOffice bWord 统信 word PO DataRegion

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

注意

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

后端代码

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

  1. PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
  2. WordDocument wordDoc = new WordDocument();
  3. //打开数据区域,openDataRegion方法的参数代表Word文档中的书签名称
  4. DataRegion dataRegion1 = wordDoc.openDataRegion("PO_Sub1");
  5. dataRegion1.setSubmitAsFile(true);
  6. DataRegion dataRegion2 = wordDoc.openDataRegion("PO_Sub2");
  7. dataRegion2.setSubmitAsFile(true);
  8. dataRegion2.setEditing(true);
  9. DataRegion dataRegion3 = wordDoc.openDataRegion("PO_Sub3");
  10. dataRegion3.setSubmitAsFile(true);
  11. poCtrl.setWriter(wordDoc);//此行必须
  12. poCtrl.setSaveDataPage("saveData");
  13. //webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
  14. poCtrl.webOpen("D:\\documents\\test.docx", OpenModeType.docSubmitForm, "张三");

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

  1. WordDocument doc = new WordDocument(request, response);
  2. byte[] bWord;
  3. DataRegion dr1 = doc.openDataRegion("PO_Sub1");
  4. bWord = dr1.getFileBytes();
  5. FileOutputStream fos1 = new FileOutputStream("D:\\documents\\sub1.doc");
  6. fos1.write(bWord);
  7. fos1.flush();
  8. fos1.close();
  9. DataRegion dr2 = doc.openDataRegion("PO_Sub2");
  10. bWord = dr2.getFileBytes();
  11. FileOutputStream fos2 = new FileOutputStream("D:\\documents\\sub2.doc");
  12. fos2.write(bWord);
  13. fos2.flush();
  14. fos2.close();
  15. DataRegion dr3 = doc.openDataRegion("PO_Sub3");
  16. bWord = dr3.getFileBytes();
  17. FileOutputStream fos3 = new FileOutputStream("D:\\documents\\sub3.doc");
  18. fos3.write(bWord);
  19. fos3.flush();
  20. fos3.close();
  21. doc.close();

参考文档:提取数据区域为子文件(Word拆分) | PageOffice 开发者中心

 

标签:Word,doc,麒麟,PageOffice,bWord,统信,word,PO,DataRegion
From: https://www.cnblogs.com/lhl77/p/18398293

相关文章

  • chatgpt中的公式复制到word的方法
    chat辅助确实很有用。不论是出文稿还是代码。如何把chatgpt中的公式直接复制到word中且保持原样格式呢?一、首先复制chatgpt里面的公式二、粘贴在下面网站网站:MathpixAccountshttps://accounts.mathpix.com/login?return_to=https%3A%2F%2Fsnip.mathpix.com%2Fhome三、利......
  • 子比主题美化 – 自助售卡/发卡插件 源码 | WordPress插件,完美支持
    插件功能支持自由添加卡密支持查看卡密库存邮箱自动发送卡密信息后台卡密库存不足提醒如何使用:在后台新建一篇文章,然后选择自动售卡。设置相关价格(不支持将价格设置为0)。移动到已编辑文章的底部(添加密码信息)直接发布文章以显示文章销售卡。安装方法:在Wordpress后......
  • chroot在银河麒麟桌面上的使用
    chroot介绍:chroot就是change-root,可以说是最简单和古老的容器化软件之一,它允许用户安全地将应用程序和服务隔离。chroot通过更改程序的根目录,限制访问和可见性,从而提供了额外的隔离和安全层级。将程序设置为chroot环境是一种在安全空间中测试其可靠性的好方法,而不会改变实际系......
  • 乌鲁木齐市中考分数线预测系统:基于统信UOS的Python Flask Web应用
    系统概述“乌鲁木齐市中考分数线预测系统”是一个专为乌鲁木齐市初中生及其家长设计的Web应用系统,旨在通过历史数据和统计分析方法,提供中考分数线的预测服务。该系统基于统信UOS操作系统,采用Python的Flask框架开发,确保了系统的高效性和安全性。系统架构系统采用典型的B/S(浏......
  • 34 The Mutable Keyword
    TheMutableKeywordReferece:TheMutableKeywordinC++mutable,itdeclaressomethingthatcanchange.withconstIndebugmode,ifyouwanttoknowhowmanytimeaconstdeclaredmethodwascalled,dowever,becauseofconst,youcannotmodifyanyof......
  • ​​【信创】统信UOS1070根目录占满后无法进入系统的解决方法​​
    原文链接:【信创】统信UOS1070根目录占满后无法进入系统的解决方法Hello,大家好啊!今天给大家带来一篇关于统信UOS1070桌面操作系统中,根目录被占满后导致无法进入系统的解决方法的文章。在Linux系统中,根目录(/)空间被占满可能导致系统无法正常启动或运行,这种情况可能发生在日志文件过多......
  • 统信UOS浏览器快捷方式发送到桌面
    桌面右键在终端中打开//输入以下命令vimzhuomian.desktop复制以下内容,使用shift+insert粘贴到zhuomian.desktop//使用shift+insert粘贴到zhuomian.desktop[DesktopEntry]Version=1.0Terminal=falseType=ApplicationName=你设置的名称Exec=/usr/bin/browser--new-window......
  • 通过 Docker 部署 WordPress 搭建博客保姆级教程
    前言(废话)因为最近想搭建一个属于自己的博客,这样就能像筑巢一样随意装饰自己的家,没有那么多的平台约束。虽然搭建个人博客的框架有很多,比如HEXO,HUGO,VuePress等,但在思前想后,最终还是选择了WordPress。我在部署过程中遇到了一系列的问题:需要什么服务,Mysql、PHP、Nginx?如何突破WordP......
  • 统信UOS系统常见故障及处理方法
    一、系统及软件使用:统信下载软件方法:统信系统由于和Windows系统内核不同,不能直接安装互联网上Windows系统的exe文件,需要下载适合系统本身的软件,且互联网上很难找到对应的软件,但统信系统内置了应用商店程序,如需安装软件在“应用商店”下载。点击左下角的启动器,在应用列表中找到“......
  • 【数模资料包】最新数模国赛word+latex模版|数模常用的算法python+matlab代码
     【2024最全国赛研赛数模资料包】C君珍贵国一数模资料|最新数模国赛word+latex模版|数模常用的算法python+matlab代码国赛指:高教社杯全国大学生数学建模竞赛,研赛指:华为杯研究生数学建模竞赛。资料内容具体看文末卡片以下是三个相关的资料内容:1C君珍贵国一数模资料2最......