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

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

时间:2023-01-13 09:11:14浏览次数:62  
标签:控件 poCtrl Word office 批注 文档 word 打开

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

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

2 实现方法

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

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

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

3 实现过程

以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 打开之后,文档的正文不能改变,只能对文档进行加批注的操作效果。

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

相关文章

  • 【转】用pageOffice插件实现 word文档在线填充指定数据
    pageOffice控件实现officeword文档在线填充指定数据应用场景OA办公中,经常要在文档的指定位置,填充后端指定数据。如合同中,姓名位置,金额位置,住址位置,要填充后端指定数......
  • 【转】PageOffice 在线编辑 office文件,回调父页面
    一、子页面调用父页面的方法varvalue=window.external.CallParentFunc("ParentFunName(Arguments);");//父页面的JS函数有返回值window.external.CallParentFunc("Paren......
  • 【转】PageOffice——动态填充Word模板并在线编辑
    说明:使用pageoffice动态给word模板填充数据,插入图片、excel、word格式的文件和创建表格。一、准备工作:本地创建一个doc或者docx格式的文件,在文件中需要插入数据的地方设......
  • SiteFactory编辑器支持Word文档粘贴
    ​ 这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下)<%@ page language="java"......
  • SiteFactory编辑器支持Word文档上传
    ​ 当前功能基于PHP,其它语言流程大致相同 1.新增上传wordjson配置在ueditor\php\config.json中新增如下配置:     /* 上传word配置 */    "wordAction......
  • SiteFactory编辑器支持Word文档导入
    ​ 1.编辑器修改(可选)1.1在 ueditor/config.json 中添加代码块    /* 上传word配置 */    "wordActionName":"wordupload",/* 执行上传视频的action......
  • SiteFactory编辑器支持Word文档一键上传
    ​ 图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.j......
  • devexpress控件教程 开发workflow设计器这么简单
    如果你的项目的OA,尤其是政府部门的OA,那么一定会涉及工作流这个功能。这个模块说大不大、说小不大,最头疼的就是它的设计器,一直没有合适的。虽然微软出了工作流的3.5和4.0版......
  • SiteFactory编辑器支持Word文档自动粘贴
    ​ 在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper。通过知乎提供的思路找到粘......
  • SiteFactory编辑器支持Word文档自动导入
    ​ 自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑......