首页 > 其他分享 >用pageOffice控件实现 office word文档 强制留痕编辑Word

用pageOffice控件实现 office word文档 强制留痕编辑Word

时间:2023-06-25 17:46:39浏览次数:60  
标签:控件 poCtrl word office 编辑 文档 Word 留痕

OA办公中,业务需要多人编辑word文档,需要强制留痕功能,用来查看文档编辑过程中的具体修改痕迹。

怎么实现word文档的强制留痕呢?

1 实现方法

通过pageOffice实现简单的在线打开编辑word时,
WebOpen方法的第二个参数使用docRevisionOnly,第三个参数传用户名,以强制留痕模式在线打开编辑Word文档。

就可以实现强制留痕编辑Word功能

2 实现过程

以java的springboot框架为例

1 集成pageOffice

https://www.zhuozhengsoft.com/dowm/
image

从pageOffice官网
下载页面,找到springboot的集成示例,按照里面的集成明说,可以集成到自己的springboot项目中。

2 在线打开编辑word

image

可以按照这个示例首先实现最基本的打开word的方法。

3 通过代码实现word留痕编辑

代码参考以下功能示例代码
image

control代码

    @RequestMapping(value = "Word", method = RequestMethod.GET)
    public ModelAndView showWord(HttpServletRequest request, Map<String, Object> map) {
        PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
        poCtrl.setServerPage(request.getContextPath() + "/poserver.zz");//设置服务页面
        //添加自定义按钮
        poCtrl.addCustomToolButton("保存", "Save", 1);
        poCtrl.addCustomToolButton("隐藏痕迹", "hideRevision", 18);
        poCtrl.addCustomToolButton("显示痕迹", "showRevision", 9);
        //设置保存页面
        poCtrl.setSaveFilePage("save");//设置处理文件保存的请求方法
        //打开Word文档
        poCtrl.webOpen("/doc/RevisionOnly/test.doc", OpenModeType.docRevisionOnly, "张三");
        map.put("pageoffice", poCtrl.getHtmlCode("PageOfficeCtrl1"));
        ModelAndView mv = new ModelAndView("RevisionOnly/Word");
        return mv;
    }


    @RequestMapping("save")
    public void save(HttpServletRequest request, HttpServletResponse response) {
        FileSaver fs = new FileSaver(request, response);
        fs.saveToFile(dir + "RevisionOnly/" + fs.getFileName());
        fs.close();
    }

html代码

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
      xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">

<head>
    <meta charset="utf-8">
    <title>XX文档系统</title>
    <style>
        #main {
            width: 1040px;
            height: 890px;
            border: #83b3d9 2px solid;
            background: #f2f7fb;

        }

        #shut {
            width: 45px;
            height: 30px;
            float: right;
            margin-right: -1px;
        }

        #shut:hover {
        }
    </style>
</head>
<body style="margin:0; padding:0;border:0px; overflow:hidden" scroll="no">

<script type="text/javascript">
    function Save() {
        document.getElementById("PageOfficeCtrl1").WebSave();
    }

    function showRevision() {
        document.getElementById("PageOfficeCtrl1").ShowRevisions = true;
    }

    function hideRevision() {
        document.getElementById("PageOfficeCtrl1").ShowRevisions = false;
    }
</script>


<div id="main">

    <div id="content" style="height:850px;width:1036px;overflow:hidden;" th:utext="${pageoffice}">
    </div>
</div>
</body>

</html>

通过以上代码,可以实现word强制留痕编辑

3 效果图

image
多人编辑后,可以强制留下自己的修改痕迹。

4 总结

用pageOffice控件实现 office word文档 强制留痕编辑Word

转载:https://www.cnblogs.com/qingxue636/p/16985532.html

标签:控件,poCtrl,word,office,编辑,文档,Word,留痕
From: https://www.cnblogs.com/qq742655/p/17503548.html

相关文章

  • 动易CMS 复制word里面带图文的文章,图片可以直接显示
    ​图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,找到UM.plugins['autoupload'],然后找到autoUploadHandler方法,注释掉其中的代码。加入下面的代码://判断剪贴......
  • 博客 复制word里面带图文的文章,图片可以直接显示
    ​如何做到ueditor批量上传word图片?1、前端引用代码<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>......
  • Access denied for user 'root'@'121.28.69.73' (using password: YES)问题的解决
    问题描述发现是连接不上远程数据库,那就只能先转成本地运行了问题解决转成本地的相关步骤:好吧,耽误了大概一个小时的时间,就是远程连接失败,需要换成本地的;就是将数据库改成本地连接就行啦!......
  • 富文本编辑器从word复制粘贴公式
    ​ 自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器)中时,编辑器都无法自动上传图片。需要用户手动一张张上传Word图片。如果只有一张图片还能够接......
  • [QML]从零开始QML开发(二)QML开发,浅谈控件、槽函数、锚等基本概念。QML和C++怎么交互?贯
    [QML]从零开始QML开发(二)QML开发,浅谈控件、槽函数、锚等基本概念。QML和C++怎么交互?贯彻落实MVC原则先看代码:importQtQuick2.12importQtQuick.Window2.12importQtQuick.Controls2.5Window{visible:truewidth:320height:480title:qsTr("HelloW......
  • 浅谈OpenCV的多对象匹配图像的实现,以及如何匹配透明控件,不规则图像
    浅谈OpenCV的多对象匹配透明图像的实现,以及如何匹配半透明控件引子OpenCV提供的templateMatch只负责将(相关性等)计算出来,并不会直接提供目标的对应坐标,一般来说我们直接遍历最高的相关度,就可以得到匹配度最高的坐标。但是这样一般只能得到一个坐标。在实际操作中,我们可能需要......
  • 利用Bitnami一键式安装wordpress
    HowtoinstallWordPresswithjustoneclick?DownloadWordPressfromBitnamiYoucandownloadtheWordPressinstallerforyourplatformfromhere:https://bitnami.com/stack/wordpress/installerRunthiscommandtodownloadfromtheterminal.$sudowgetht......
  • 【VBA】如何在WORD文件的每个自动序号后修改字符
    要想将文章中所有的:1)实例文字替换为1)#示例文字可以使用VBA来进行操作。保存一份源文档的副本。VBA的修改是难以撤销的。也可以先复制一部分出来到新文档进行试验。打开Word文档。按下"Alt"+"F11"打开VisualBasicforApplications(VBA)编辑器。在VBA......
  • word的常用设置
    1、word去除首字母大写2、word取消自动编排符合、缩进3、word去回车符4、word去掉双下划线5、快速调用出导航6、快速调整阅读模式......
  • python-docx处理Word
     用到的库?123456fromdocximportDocument(文档读写)fromdocx.sharedimportPt,Cm,Inches(字体大小,不一定全用到)fromdocx.oxml.nsimportqn(设置字体格式,分栏等用到)fromdocx.sharedimportRGBColor(设置字体颜色)fromdocx.enum.textimportWD_ALIG......