PageOffice——实现Word文档指定内容可编辑,其他内容只读

发布时间 2023-08-10 17:19:20作者: Tony636

pageoffice实现word文件部分区域可编辑依赖word中的书签

1.文件在本地打开将需要用户在线编辑的内容设置为数据区域DateRegion(数据区域:word中以PO_开头的书签)

image
注意:书签的两个中括号是office本地设置的,如果不显示可以手动设置一下

image

2.使用pageoffice的表单提交模式docSubmitForm打开文件,并设置需要编辑的数据区域Editing为true

点击查看代码
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
    //设置服务器页面
    poCtrl.setServerPage(request.getContextPath() + "/poserver.zz");
    WordDocument wordDoc = new WordDocument();
    //打开数据区域,openDataRegion方法的参数代表Word文档中的书签名称
    DataRegion dataRegion1 = wordDoc.openDataRegion("PO_userName");
    //设置DataRegion的可编辑性
    dataRegion1.setEditing(true);
    //为DataRegion赋值,此处的值可在页面中打开Word文档后自己进行修改
    dataRegion1.setValue("zhsngsan");
 
    DataRegion dataRegion2 = wordDoc.openDataRegion("PO_deptName");
    dataRegion2.setEditing(true);
    dataRegion2.setValue("开发");
 
    poCtrl.setWriter(wordDoc);
 
    //添加自定义按钮
    poCtrl.addCustomToolButton("保存", "Save", 1);
    //设置保存页面
    poCtrl.setSaveDataPage("saveData");
    //打开Word文档
    poCtrl.webOpen("D:\\doc\\测试\\test.doc", OpenModeType.docSubmitForm, "张佚名");

3.打开文件的效果(可编辑区域是高亮显示的,方便用户分辨哪些内容是可编辑的)
image

image

转载 https://blog.csdn.net/qq_44306545/article/details/127902396