创建书签
场景说明
在文档中创建书签是一项常见需求,书签可以标记文档中的特定位置或内容区域,便于后续定位和内容操作。
适用场景:
- 标记重要文档位置
- 创建模板文档的填充区域
- 实现文档内容的动态更新
- 表单字段管理
相关 API 文档
示例代码
在当前选区创建书签(省略 range 参数)
async function createBookmarkAtSelection() {
// 在当前选中区域添加一个名为 "bookmarkName" 的书签
// range 参数省略时,默认在当前选区位置创建书签
const bookmark = await Application.ActiveDocument.Bookmarks.add('bookmarkName');
console.log('书签创建成功');
}
在指定段落创建书签(完整参数)
async function createBookmarkAtParagraph() {
// 获取第一个段落
const paragraph = await Application.ActiveDocument.Paragraphs.item(1);
const range = await paragraph.range;
// 在第一个段落区域添加书签
// 参数:name - 书签名称, range - 书签区域(可选)
const bookmark = await Application.ActiveDocument.Bookmarks.add('paragraph1', range);
console.log('段落书签创建成功');
}
批量创建书签
async function createMultipleBookmarks() {
// 为前3个段落分别创建书签
for (let i = 1; i <= 3; i++) {
const paragraph = await Application.ActiveDocument.Paragraphs.item(i);
const range = await paragraph.range;
await Application.ActiveDocument.Bookmarks.add(`paragraph_${i}`, range);
}
console.log('批量创建书签成功');
}
获取所有书签
async function getAllBookmarks() {
// 获取文档中所有书签名称
const bookmarks = await Application.ActiveDocument.Bookmarks.toJson();
console.log('文档中的书签:', bookmarks);
// 获取书签数量
const count = await Application.ActiveDocument.Bookmarks.count;
console.log('书签数量:', count);
}
注意事项
- 书签名称在同一文档中需要唯一
- 书签可以跨越多个段落或其他文档元素