合同拟制 - 区域编辑
功能说明
与业务系统集成,依据系统赋予的用户权限,动态授权用户在文档指定区域内编辑权限。
使用说明:在演示环境,对内容区域切换选择所有人可编,仅我可编,以及我不可编,查看区域编辑权限的变化。
代码示例
示例 1:设置文档中所有书签区域可以编辑,其他区域不可以编辑
async function init() {
app = await ZOfficeSDK.mount(url, selector, true);
await app.ready();
// 开启区域编辑保护
await app.ActiveDocument.protect(Word.ProtectionType.EditArea);
const bookmarks = await app.ActiveDocument.Bookmarks.toJson();
// 在每一个书签区域添加可编辑区域,注意保护区域命名规则
for (const bmName of bookmarks) {
const bookmark = await app.ActiveDocument.Bookmarks.item(bmName);
const range = await bookmark.range;
await app.ActiveDocument.PermMarks.add(
`保护区域_${bmName}`,
{"group": ["everyone"]},
range
);
}
}
示例 2:用户选中区域,然后调用 SDK API 添加可编辑区域
// 初始化
async function init() {
app = await ZOfficeSDK.mount(url, selector, true);
await app.ready();
// 开启区域编辑保护
await app.ActiveDocument.protect(Word.ProtectionType.EditArea);
}
// 在当前选区插入可编辑区域
async function insertEditArea() {
const range = await app.ActiveDocument.getSelection();
await app.ActiveDocument.PermMarks.add(
'保护区域名字',
{"group": ["everyone"]},
range
);
}