首页 > 其他分享 >pageOffice控件实现在线编辑Word 只能加批注的功能

pageOffice控件实现在线编辑Word 只能加批注的功能

时间:2023-03-16 17:34:36浏览次数:50  
标签:控件 poCtrl Word 批注 pageOffice 文档 word 打开

OA办公中,业务需要编辑打开word文档后 文档的正文不能改变,只能对文档进行加批注的操作

怎么实现编辑打开word文档后 文档的正文不能改变,只能对文档进行加批注的操作呢?

# 1、实现方法 通过pageOffice实现简单的在线打开编辑word时, 通过设置 关键代码: WebOpen方法的第二个参数使用docCommentOnly,第三个参数传用户名,在Word文件只读的情况下向Word文件中插入键盘批注。

//打开Word文档
poCtrl.webOpen("/doc/CommentOnly/test.doc", OpenModeType.docCommentOnly, "张三");

就可以实现编辑打开word文档后 文档的正文不能改变,只能对文档进行加批注的操作。

2、实现过程

以java的springboot框架为例

1 集成pageOffice

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

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

2 在线打开编辑word

image

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

3 通过代码打开word文档后 文档的正文不能改变,只能对文档进行加批注的操作

示例参考
image

java代码

@RestController
@RequestMapping(value = "/CommentOnly/")
public class CommentOnlyController {

    //获取doc目录的磁盘路径
    private String dir = GetDirPathUtil.getDirPath() + "static/doc/";

    @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("插入批注", "newComment", 0);
        //设置保存页面
        poCtrl.setSaveFilePage("save");//设置处理文件保存的请求方法
        //打开Word文档
        poCtrl.webOpen("/doc/CommentOnly/test.doc", OpenModeType.docCommentOnly, "张三");
        map.put("pageoffice", poCtrl.getHtmlCode("PageOfficeCtrl1"));
        ModelAndView mv = new ModelAndView("CommentOnly/Word");
        return mv;
    }

    @RequestMapping("save")
    public void save(HttpServletRequest request, HttpServletResponse response) {
        FileSaver fs = new FileSaver(request, response);
        fs.saveToFile(dir + "CommentOnly/" + 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>CommentOnly</title>
</head>
<body style="overflow:hidden">

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

    function newComment() {
        var docSel = document.getElementById("PageOfficeCtrl1").Document.Application.Selection;
        docSel.Comments.Add(docSel.Range);
    }

</script>
</div>
<div style=" width:1100px; height:800px;" th:utext="${pageoffice}">
</div>
</body>
</html>

通过以上代码,可以实现 office 文档在线编辑Word 打开之后,文档的正文不能改变,只能对文档进行加批注的操作

4 效果图

image
文档打开后,文档中的正文没有办法编辑,只能对文档中加批注。

5 总结

用pageOffice控件实现 office 文档在线编辑Word 打开之后,文档的正文不能改变,只能对文档进行加批注的操作效果。

原文链接:https://www.cnblogs.com/qingxue636/p/17048510.html

标签:控件,poCtrl,Word,批注,pageOffice,文档,word,打开
From: https://www.cnblogs.com/qq742655/p/17223513.html

相关文章

  • 四、PasswordEncoder密码解析器详解
    ​ SpringSecurity要求容器中必须有PasswordEncoder实例。所以当自定义登录逻辑时要求必须给容器注入PaswordEncoder的bean对象1.接口介绍​encode():把参数按照特定......
  • 四、PasswordEncoder密码解析器详解
    ​ SpringSecurity要求容器中必须有PasswordEncoder实例。所以当自定义登录逻辑时要求必须给容器注入PaswordEncoder的bean对象1.接口介绍​encode():把参数按照特定......
  • wpf 自定义控件库(一)
    1、以学习wpf为目的,同时也为了增加控件代码的复用性,开始建立自己的自定义控件库;2、目前主要是根据项目需求去增加,完善控件库。希望之后能一步步扩展更多更丰富的控件;3、......
  • docker login "Password change required but no TTY available."
    docker login"PasswordchangerequiredbutnoTTYavailable."报错现象 原因原因为账号密码过期或登录方式不支持解决方式一sudodockerlogin-uuser-px......
  • 如何隐藏、恢复和删除 Tkinter 控件
    在本文中,我们将介绍如何通过单击按钮来隐藏,恢复Tkinter控件。最后,我们还将向你展示如何删除或杀死现有的Tkinter控件。隐藏和恢复Tkinter控件pack_forget()隐藏T......
  • 前后端分离项目(vue+springboot)集成pageoffice实现在线编辑office文件
    前后端分离项目下使用PageOffice原理图集成步骤前端vue项目在您Vue项目的根目录下index.html中引用后端项目根目录下pageoffice.js文件。例如:<scripttype="te......
  • Raize控件的RzBorder报错的问题
    分析结果:这里发现一个问题,就是elements(这个数字)和后面的那个数字必须对应,这个是以为编码问题,造成系统识别的长度不一样。因此解决最简单的办法:直接修改字符长度一样就可......
  • wangEditor粘贴word图片且图片文件自动上传功能
    ​ 当前功能基于PHP,其它语言流程大致相同 1.新增上传wordjson配置在ueditor\php\config.json中新增如下配置:     /* 上传word配置 */    "wordAction......
  • eWebEditor粘贴word图片且图片文件自动上传功能
    ​图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,......
  • TinyMCE粘贴word图片且图片文件自动上传功能
    ​项目需求可发布文章需求涉及到富文本编辑器经过查阅我选择了较为简便不需要后端支持可独立完成的tinymce框架官方文档也是相当完整虽然都是全英文但是有强大的谷......