Document
Document
当前文字文档
属性
ActiveWindow
返回一个 Window 对象,该对象代表当前活动窗口
语法
Application.ActiveDocument.ActiveWindow
返回值
ActiveWindow
示例
function example() {
const ActiveWindow = Application.ActiveDocument.ActiveWindow;
}
Bookmarks
JSSDK: 1.2.2、zOffice2022.3 FP2 支持
返回一个 Bookmarks 集合,该集合代表文档中的所有书签。
语法
Application.ActiveDocument.Bookmarks
返回值
Word.Bookmarks
示例
// 获取文档中所有书签数目
function example() {
const bookmarks = Application.ActiveDocument.Bookmarks;
const count = await bookmarks.count;
}
PermMarks
JSSDK: 1.2.2、zOffice2022.3 FP2 支持
返回一个 PermMarks 集合,该集合代表文档中的所有可编辑区域。
语法
Application.ActiveDocument.PermMarks
返回值
Word.PermMarks
示例
// 获取文档中所有可编辑区域数目
function example() {
const permMarks = Application.ActiveDocument.PermMarks;
const count = await permMarks.count;
}
Comments
返回一个 Comments 集合,该集合代表文档中的所有批注。
语法
Application.ActiveDocument.Comments
返回值
Word.Comments
示例
// 获取文档中所有批注数目
function example() {
const comments = Application.ActiveDocument.Comments;
const count = await comments.count;
}
Paragraphs
返回一个 Paragraphs 集合,该集合代表文档中的所有段落。
语法
Application.ActiveDocument.Paragraphs
返回值
Word.Paragraphs
示例
// 获取文档中所有段落数目
function example() {
const paragraphs = Application.ActiveDocument.Paragraphs;
const count = await paragraphs.count;
}
Tables
返回一个 Tables 集合,该集合代表文档中的所有表格。
语法
Application.ActiveDocument.Tables
返回值
Word.Tables
示例
// 获取文档中所有表格数目
function example() {
const tables = Application.ActiveDocument.Tables;
const count = await tables.count;
}
Revisions
返回一个 Revisions 集合,该集合代表文档中的所有修订。
语法
Application.ActiveDocument.Revisions
返回值
Word.Revisions
示例
// 获取文档中所有修订数目
function example() {
const revisions = Application.ActiveDocument.Revisions;
const count = await revisions.count;
}
Shapes
返回一个 Shapes 集合,该集合代表文档中的所有形状。
语法
Application.ActiveDocument.Shapes
返回值
Word.Shapes
示例
// 获取文档中所有形状数目
function example() {
const shapes = Application.ActiveDocument.Shapes;
const count = await shapes.count;
}
InlineShapes
返回一个 InlineShapes 集合,该集合代表文档中的所有内嵌形状。
语法
Application.ActiveDocument.InlineShapes
返回值
Word.InlineShapes
示例
// 获取文档中所有内嵌形状数目
function example() {
const inlineShapes = Application.ActiveDocument.InlineShapes;
const count = await inlineShapes.count;
}
Sections
返回一个 Sections 集合,该集合代表文档中的所有节。
语法
Application.ActiveDocument.Sections
返回值
Word.Sections
示例
// 获取文档中所有内嵌形状数目
function example() {
const sections = Application.ActiveDocument.Sections;
const count = await sections.count;
}
OutlineEntries
JSSDK: 1.9.1、zOffice V8.0 FP1 支持
返回一个 OutlineEntries 集合,该集合代表文档中的所有大纲段落。
语法
Application.ActiveDocument.OutlineEntries
返回值
Word.OutlineEntries
示例
// 获取文档中所有大纲段落数目
function example() {
const OutlineEntries = Application.ActiveDocument.OutlineEntries;
const count = await OutlineEntries.count;
}
Content
JSSDK: 1.3.3、zOffice V6.0 FP3 支持
返回一个只读Range对象,该对象代表主文档文章。
语法
Application.ActiveDocument.Content
返回值
Range
示例
function example() {
const range = Application.ActiveDocument.Content;
}
ProtectionType
JSSDK: 1.7.2、zOffice V7.2 FP1 支持
返回文档的保护类型,可以是 Word.ProtectionType 常量之一
语法
Application.ActiveDocument.ProtectionType
返回值
Promise<number>
示例
async function example() {
const protectType = await Application.ActiveDocument.ProtectionType;
}
PermissionType
JSSDK: 1.9.1、zOffice V8.0 FP1 支持
当文档处于区域编辑保护状态时,文档的默认编辑权限,可以是 Word.DocPermission 常量之一,只读
语法
Application.ActiveDocument.PermissionType
返回值
Promise<Word.DocPermission>
示例
async function example() {
const docPermission = await Application.ActiveDocument.PermissionType;
}
方法
protect
JSSDK: 1.7.2、zOffice V7.2 FP1 支持
文档保护开启
语法
Application.ActiveDocument.protect(type, docPermission)
多个模式用 “ | ” 连接
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| type | number | 是 | 传入保护类型,具体值参照Word.ProtectionType枚举值(只有修订保护类型可以和其他保护类型同时设置,其他保护类型只能单独设置) |
| docPermission | Word.DocPermission | 否 | 当开启区域编辑保护时,全文的默认权限,默认全文只读 |
返回值
Promise<boolean>
示例
async function example1() {
const type = Word.ProtectionType
const result = await Application.ActiveDocument.protect(type.EditArea | type.Revision); // 同时开启区域编辑和修订保护
console.log(result)
}
async function example2() {
const type = Word.ProtectionType
const result = await Application.ActiveDocument.protect(type.EditArea, Word.DocPermission.Editable); // 开启区域编辑保护,全文默认可编辑
console.log(result)
}
unprotect
JSSDK: 1.7.2、zOffice V7.2 FP1 支持
文档保护关闭开启
语法
Application.ActiveDocument.unprotect()
返回值
Promise<boolean>
示例
async function example() {
const result = await Application.ActiveDocument.unprotect();
console.log(result);
}
isDataProtectionOn
JSSDK: 1.0.3、zOffice2022.1 FP3 支持
内容保护是否开启
语法
Application.ActiveDocument.isDataProtectionOn()
返回值
Promise<boolean>
示例
async function example() {
const isOpen = await Application.ActiveDocument.isDataProtectionOn();
console.log(isOpen);
}
save
保存文档
语法
Application.ActiveDocument.save()
返回值
Promise<boolean>
示例
async function example() {
await Application.ActiveDocument.save();
}
saveAs
JSSDK: 1.2.1、zOffice2022.3 FP1 支持
另存为文件
语法
Application.ActiveDocument.saveAs(format, name, path)
参数
| 属性 | 数据类型 | 必须 | 说明 |
|---|---|---|---|
| format | string | 是 | 另存为文件类型。目前仅支持pdf |
| name | string | 否 | 不带有后缀的文件名。name为空时文件名为当前文件名拼接时间(格式为yyyyMMddhhmmss),zOffice服务端发送preflight check请求时会回传 |
返回值
无
示例
// 只指定另存为格式
async function example() {
await Application.ActiveDocument.saveAs('pdf');
}
// 指定另存为格式和文件名
async function example2() {
await Application.ActiveDocument.saveAs('pdf', 'newFileName');
}
print
JSSDK: 1.2.2、zOffice2022.3 FP2 支持
打印文档
语法
Application.ActiveDocument.print()
返回值
Promise<boolean> 是否成功打开打印页面
示例
async function example() {
await Application.ActiveDocument.print();
}
getWordCount
JSSDK: 1.9.0、zOffice V7.4 支持
获取当前文档字数
语法
Application.ActiveDocument.getWordCount()
返回值
Promise<WordsCountJSON>
WordsCountJSON
{
total: number; // 文档总字数
}
示例
async function example() {
const words = await Application.ActiveDocument.getWordCount();
const wordsCount = words.total; // 文档字数
console.log(wordsCount)
}
getSelection
获取当前光标选择范围
语法
Application.ActiveDocument.getSelection()
Application:文档类型应用对象
返回值
Promise<Word.Range>
示例
async function example() {
const range = await Application.ActiveDocument.getSelection();
}
setSelection
选择指定范围内容
语法
Application.ActiveDocument.setSelection(range)
Application:文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| range | Word.Range | 是 | 范围 |
返回值
Promise<boolean>
示例
async function example() {
const bookmark = await Application.ActiveDocument.Bookmarks.item(1);
const range = await bookmark.range;
const res = await Application.ActiveDocument.setSelection(range);
}
getPageCount
获取页面总数
语法
Application.ActiveDocument.getPageCount()
Application:文档类型应用对象
返回值
Promise<number>
示例
async function example() {
const pageCount = await Application.ActiveDocument.getPageCount();
}
getComments
JSSDK: 1.0.4、zOffice2022.1 FP4 支持
获取所有批注数据
语法
Application.ActiveDocument.getComments()
Application:文档类型应用对象
返回值
Promise<Comment[]>
Comment 数据结构
{
content: string,
id: string,
replies: CommentReply[], // 批注回复,如果没有回复,则为空数组
resolved: boolean,
time: number
users: {
name: string,
uid: string
}
}
CommentReply 数据结构
{
content: string,
id: string,
pid: string, // 回复的批注的 id
time: number,
users: {
name: string,
uid: string
}
}
示例
async function example() {
const comments = await Application.ActiveDocument.getComments();
}
getName
获取文档标题名称
语法
Application.ActiveDocument.getName()
Application:文档类型应用对象
返回值
Promise<string>
示例
async function example() {
const documentTitle = await Application.ActiveDocument.getName();
}
getParagraphs
获取当前文档的所有一级段落
语法
Application.ActiveDocument.getParagraphs(option)
Application:文档类型应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| option | any | 否 | option.afterToc 为 true 表示只获取目录之后的段落 |
返回值
Promise<Word.Paragraph[]>
示例
async function example() {
const paras = await Application.ActiveDocument.getParagraphs();
}
enableTrackChange
打开跟踪更改,后续修改会生成修订记录
语法
Application.ActiveDocument.enableTrackChange()
Application:文档类型应用对象
返回值
无
示例
async function example() {
await Application.ActiveDocument.enableTrackChange();
}
disableTrackChange
关闭跟踪更改,关闭后后续修改不会再生成修订记录
语法
Application.ActiveDocument.disableTrackChange()
Application:文档类型应用对象
返回值
无
示例
async function example() {
await Application.ActiveDocument.disableTrackChange();
}
acceptAllRevisions
接受所有更改
语法
Application.ActiveDocument.acceptAllRevisions()
Application:文档类型应用对象
返回值
无
示例
async function example() {
await Application.ActiveDocument.acceptAllRevisions();
}
rejectAllRevisions
拒绝所有更改
语法
Application.ActiveDocument.rejectAllRevisions()
Application:文档类型应用对象
返回值
无
示例
async function example() {
await Application.ActiveDocument.rejectAllRevisions();
}
CleanDocument
清稿:清除所有文中的批注和接收全部修订记录
语法
Application.ActiveDocument.CleanDocument()
Application: 文档类型应用对象
返回值
无
示例
async function example() {
await Application.ActiveDocument.CleanDocument();
}
CleanComments
删除所有批注
语法
Application.ActiveDocument.CleanComments()
Application: 文档类型应用对象
返回值
无
示例
async function example() {
await Application.ActiveDocument.CleanComments();
}