跳到主要内容

合同拟制 - 区域编辑

功能说明

与业务系统集成,依据系统赋予的用户权限,动态授权用户在文档指定区域内编辑权限。

使用说明:在演示环境,对内容区域切换选择所有人可编,仅我可编,以及我不可编,查看区域编辑权限的变化。

代码示例

示例 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
);
}