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

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

时间:2023-01-15 20:12:59浏览次数:49  
标签:控件 poCtrl word office 编辑 文档 Word 留痕

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

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

1 实现方法

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

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

2 实现过程

以java的springboot框架为例

1 集成pageOffice

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

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

2 在线打开编辑word


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

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

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

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强制留痕编辑

4 效果图


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

5总结

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

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

相关文章

  • 【转】PageOffice动态生成Word文件并转换为PDF
    说明:PageOffice是客户端插件,做不到纯后台调用把word转为pdf。但是pageoffice的FileMaker对象可以实现不在客户端打开文件直接转换文件为pdf并保存到服务器端,看起来跟服务器......
  • 【转】PageOffice 在线打开 word 文件并添加水印
    一、服务器端方法插入水印1、插入文字水印WordDocumentdoc=newWordDocument();//添加水印,设置水印的内容doc.getWaterMark().setText("PageOffice开发平......
  • Android开发学习之路--Annotation注解简化view控件之初体验
      一般我们在写androidActivity的时候总是会在onCreate方法中加上setContentView方法来加载layout,通过findViewById来实现控件的绑定,每次写这么多代码总觉得很烦躁。近......
  • 中科大邮箱系统的附件上传的控件安装问题
    今天发现用邮箱上传附件的时候出现了附件大小的限制,超过48M的附件就会上传失败提示了不能使用拖拽上传,但是明明是用“添加附件”上传却依然是同样的提示,然后就注意到了......
  • MAC 关闭office自动更新提示
    ①、先进入到 /Library/ApplicationSupport/Microsoft/ 文件夹(/Library/ApplicationSupport/Microsoft/)点击 前往->前往文件夹(快捷键:Command+Shift+G)②、......
  • 使用word编辑文字时,按空格键会出现一连串的点.怎么取消呢
    使用word编辑文字时,按空格键会出现一连串的点.怎么取消呢这是编辑标记,不影响打印效果,但看着不是很舒服,可以隐藏的。点击“常用”​​工具栏​​​上的“显示/隐藏编辑标记......
  • 去掉word中的波浪线
    在WORD窗口中,最下面的状态栏上,中间位置,有一本翻开的书本的图标,右键点击它,将“隐藏拼写错误”前的勾去掉即可,红色波浪线就不显示了。去掉“隐藏语法错误”前的勾,就能不显示绿......
  • error Component name "Student" should always be multi-word
      翻译:组件名称“Student”应该是多个单词错误原因:是我们的组件名有一些问题 ,(报错信息翻译过来大概就是组件名“Student”应该总是使用多个单词拼接横线组成的)......
  • UVA1502 GRE Words
    一道\(AC\)自动机\(+\)线段树难题。#include<algorithm>#include<cstring>#include<cmath>#include<cstdio>usingnamespacestd;constintN=3e5+10;tem......
  • 【转】用pageOffice控件实现 office word文档在线编辑另存为pdf的功能
    用pageOffice控件实现officeword文档在线编辑另存为pdf的功能1应用场景OA办公中,经常要将word文档转存为pdf方法,方式文档的查看。怎么实现word文档的转存为pdf呢?2实......