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/

从pageOffice官网

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

2 在线打开编辑word

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

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

示例参考

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 效果图



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

5 总结

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

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

pageOffice控件实现在线编辑Word 只能加批注的功能的更多相关文章

  1. 使用谷歌提供的SwipeRefreshLayout下拉控件,并自定义实现下拉加载的功能

    package com.loaderman.swiperefreshdemo; import android.os.Bundle; import android.os.Handler; import ...

  2. DevExpress2011控件教程)编辑控件(comboBox,AspxCheckBox) 范例1

    DevExpress2011控件教程)编辑控件(comboBox,AspxCheckBox) 范例1 AspxCheckBox 是一个检查编辑控件去展示特殊条件是否关闭或者打开.它一般会展示Yes/N ...

  3. GTK经常使用控件之行编辑( GtkEntry )

    行编辑,仅仅同意输入一行内容的控件.如password输入框. 行编辑的创建: GtkWidget *gtk_entry_new(void); 返回值:行编辑指针 设置行编辑内容的最大长度: void ...

  4. 在线编辑Word——插入图表

    在Word中可插入图表,配合使用表格能够更加全方位的展示数据的可信度并增加数据的可读性.本文将通过使用在线编辑器 Spire.Cloud Word 演示如何来插入图表,并设置相关格式化操作.具体步骤如 ...

  5. 在线编辑Word——插入图片、图形

    在Word中支持插入图片.图形等元素,同时支持对插入的图片和图形进行格式化操作,如裁剪.调整尺寸大小.调成颜色.阴影.倾斜角度.透明度等等.本文,将通过使用Spire.Cloud Word在线编辑器来 ...

  6. 背水一战 Windows 10 (63) - 控件(WebView): 基础知识, 加载 html, http, https, ms-appx-web:///, embedded resource, ms-appdata:///, ms-local-stream://

    [源码下载] 背水一战 Windows 10 (63) - 控件(WebView): 基础知识, 加载 html, http, https, ms-appx-web:///, embedded res ...

  7. 背水一战 Windows 10 (57) - 控件(集合类): ListViewBase - 增量加载, 分步绘制

    [源码下载] 背水一战 Windows 10 (57) - 控件(集合类): ListViewBase - 增量加载, 分步绘制 作者:webabcd 介绍背水一战 Windows 10 之 控件(集 ...

  8. WPF中自定义的DataTemplate中的控件,在Window_Loaded事件中加载机制初探

    原文:WPF中自定义的DataTemplate中的控件,在Window_Loaded事件中加载机制初探         最近因为项目需要,开始学习如何使用WPF开发桌面程序.使用WPF一段时间之后,感 ...

  9. [原创]Java在线编辑word文档调用PageOffice实现并发控制

    1.功能介绍 PageOffice的并发控制功能用来解决多个用户在线编辑同一篇文档可能造成的互相覆盖修改结果的技术难题. B/S架构下用户访问都是并发的,也就是说经常会出现同时N个用户对一个服务器页面 ...

  10. 在线编辑word文档 可保存到服务器

    使用说明:该方法只在office xp 和 2003上 测试通过,2000及以下 版本没试. 注意:你要打开的服务器端的word文档要有写权限.iis要开起 web服务扩展中的webdav为允许 具体 ...

随机推荐

  1. #差分约束,SPFA#洛谷 1993 小 K 的农场

    题目 分析 对于描述1,也就是\((a,b,-c)\),\(b\)比\(a\)至多多\(-c\) 对于描述2,也就是\((b,a,c)\),\(a\)比\(b\)至多多\(c\) 对于描述3,也就是\ ...

  2. Java 文件处理完全指南:创建、读取、写入和删除文件详细解析

    Java 文件操作 文件处理简介 文件处理是任何应用程序的重要部分.Java 提供了许多用于创建.读取.更新和删除文件的方法. Java 文件处理 Java 中的文件处理主要通过 java.io 包中 ...

  3. 掌握 Spring IoC 容器与 Bean 作用域:详解 singleton 与 prototype 的使用与配置

    在您的应用程序中,由 Spring IoC 容器管理的形成其核心的对象被称为 "bean".一个 bean 是由 Spring IoC 容器实例化.组装和管理的对象 这些 bean ...

  4. 【FAQ】接入HMS Core广告服务中的常见问题总结和解决方法

    HMS Core广告服务(Ads Kit)为开发者提供流量变现服务和广告标识服务,依托华为终端能力,整合资源,帮助开发者获取高质量的广告内容.同时提供转化跟踪参数服务,支持三方监测平台.广告主进行转化 ...

  5. 【转】CentOS安装VMware Tools

    [转]CentOS安装VMware Tools VMware 是非常好的虚拟机软件.如果系统安装了VMware Tools以后对虚拟机的性能会提升很多的.下面是如果在CentOS系统内安装VMware ...

  6. spring cloud 学习笔记 客户端(本地)均衡负载(三)

    前言 在微服务中,一个服务可能即是服务端也是客户端,当别的服务调用该服务的时候这个服务就是服务端,当这个服务主动调用另外一个服务的时候,那么就是服务端. 作为客户端通过服务注册与发现获取某个服务的注册 ...

  7. hibernate4升级5带来的一些参数变化

    public String hqlToHibernate5(String hql) { String[] tmp = hql.split(" "); String hqlTmp = ...

  8. Git中 fork, clone,branch

    一.是什么 fork fork,英语翻译过来就是叉子,动词形式则是分叉,如下图,从左到右,一条直线变成多条直线 转到git仓库中,fork则可以代表分叉.克隆 出一个(仓库的)新拷贝 包含了原来的仓库 ...

  9. Dataphin产品核心功能大图(六)发布中心:生产和开发隔离模式下的保护伞

    ​简介:Dataphin,用中台方法论打造企业级好数据.Dataphin是阿里巴巴集团OneData数据治理方法论内部实践的云化输出,一站式提供数据采.建.管.用全生命周期的大数据能力,以助力企业显著 ...

  10. 深度解析PolarDB数据库并行查询技术

    简介: 随着数据规模的不断扩大,用户SQL的执行时间越来越长,这不仅对数据库的优化能力提出更高的要求,并且对数据库的执行模式也提出了新的挑战.本文将介绍基于代价进行并行优化.并行执行的云数据库的并行查 ...