Skip to content

活动文档(ActiveDocument)

当前文档实例,该对象内封装了丰富的方法供开发者调用,也是其它实用对象的入口。

属性列表

属性说明
返回一个值,表示文档是否只读,此属性为只读属性。
返回一个值,表示文档是否只读可评论的权限,此属性为只读属性。
返回一个值,表示文档是否支持只读可评论权限,此属性为只读属性。
编辑与修订模式切换
返回一个 PageSetup 对象,该对象与指定文档相关联
返回一个 Windows 集合,该集合代表指定文档的所有窗口。此为只读属性
返回一个 Range 对象,该对象代表主文档文章。只读。
使用指定的起始字符和结束字符位置返回一个 Range 对象
返回一个 Section 集合,该集合代表指定文档中的各个节。此为只读属性
返回一个 ContentControls 集合,该集合代表文档中的所有内容控件。此为只读属性
返回一个 DocumentProperties 集合,该集合代表指定文档的所有自定义文档属性
返回一个 Bookmarks 集合,该集合代表文档中的所有书签。此为只读属性
返回一个 Comments 集合,该集合代表指定文档的所有批注。此为只读属性
返回一个 DocumentFields 集合,该集合代表文档中的所有公文域。此为只读属性
返回一个 Fields 集合,该集合代表文档中的所有域。此为只读属性
返回一个 Hyperlinks 集合,该集合代表指定文档中的所有超链接。此为只读属性
返回一个 Shapes 集合,该集合代表文档中的所有 Shape 对象。此为只读属性
返回一个 InlineShapes 集合,该集合代表文档中的所有 InlineShape 对象。此为只读属性
返回一个 Revisions 集合,该集合代表区域或文档中标有修订标记的更改。此为只读属性
返回一个 Table 集合,该集合代表指定文档中的所有表格。此为只读属性
返回一个 Words 集合,该集合代表文档中的所有单词。此为只读属性
返回一个文档限制编辑模式(可以判断是否开启Protect) Enum.WdRestrictEditMode 。此为只读属性

方法列表

方法说明
控制接受文档中指定审阅者的所有修订,详细配合可参考 Reviewer.Visible
文档的所有内置文档属性
删除文档内的所有评论
删除文档中指定审阅者的所有评论,详细配合可参考 Reviewer.Visible
导出当前文件为对应的 PDF 或者 Img 图片,并获取导出后的 url
提供获取文本中 @ 人列表
通过 UUID 获取 @ 的 Range 对象
获取全文评论
获取正文容器的尺寸信息
获取全文范围
获取所有缺失的字体列表
获取在线协作用户的列表
获取当前登录操作者信息
获取当前页面版式
安全文档中获取水印
安全文档中设置水印
是否有评论
根据传入数据及配置匹配文档中的内容部件并替换内容
开启限制编辑
控制拒绝文档中指定审阅者的所有修订,详细配合可参考 Reviewer.Visible
根据传入数组全文匹配并替换文本
保存文件的改动
滚动正文容器到指定位置
隐藏评论相关功能(当前仅移动端有效)
设置内容控件只读权限
将打开的文档临时设置为只读
设置正文滚动条样式
显示/不显示文件名栏
分页/连页模式切换
停止限制编辑

ReadOnly

返回一个值,表示文档是否只读,此属性为只读属性。

语法

表达式.ActiveDocument.ReadOnly

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  const ReadOnly = await app.ActiveDocument.ReadOnly
}

ReadOnlyComment

返回一个值,表示文档是否只读可评论的权限,此属性为只读属性。

语法

表达式.ActiveDocument.ReadOnlyComment

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  const ReadOnlyComment = await app.ActiveDocument.ReadOnlyComment
}

SupportReadOnlyComment

返回一个值,表示文档是否支持只读可评论权限,此属性为只读属性。

语法

表达式.ActiveDocument.SupportReadOnlyComment

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  const SupportReadOnlyComment = await app.ActiveDocument.SupportReadOnlyComment
}

TrackRevisions

编辑与修订模式切换

获取当前页面是否为修订状态需要 JSSDK:v1.1.15+ 支持

语法

表达式.ActiveDocument.TrackRevisions = Boolean

表达式:文档类型应用对象。

如果 Boolean 值为 true,则表明切换到修订模式,否则为编辑模式。

示例 1:切换修订模式和编辑模式

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 将当前文档的编辑状态切换成修订模式
  app.ActiveDocument.TrackRevisions = true
}

示例 2:获取页面是否处于修订模式

注:需要 JSSDK:v1.1.15+ 支持

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取页面是否处于修订模式
  const TrackRevisions = await app.ActiveDocument.TrackRevisions
  console.log(TrackRevisions)
}

PageSetup

返回一个 PageSetup 对象,该对象与指定文档相关联

语法

表达式.ActiveDocument.PageSetup

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回一个 PageSetup 对象
  const PageSetup = await app.ActiveDocument.PageSetup
}

ActiveWindows

返回一个 Windows 集合,该集合代表指定文档的所有窗口。此为只读属性

语法

表达式.ActiveDocument.ActiveWindows

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回一个 Windows 对象
  const Windows = await app.ActiveDocument.ActiveWindows
}

Content

返回一个 Range 对象,该对象代表主文档文章。只读。

语法

表达式.ActiveDocument.Content

表达式:一个代表 Document 对象的变量。

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回一个 Range 对象
  const Range = await app.ActiveDocument.Content

  // 获取 range 内文本内容信息
  const text = await Range.Text
}

Range

使用指定的起始字符和结束字符位置返回一个 Range 对象

语法

表达式.ActiveDocument.Range

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回一个 Range 对象
  const Range = await app.ActiveDocument.Range
}

Sections

返回一个 Section 集合,该集合代表指定文档中的各个节。此为只读属性

语法

表达式.ActiveDocument.Sections

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回一个 Sections 对象
  const Sections = await app.ActiveDocument.Sections
}

ContentControls

返回一个 ContentControls 集合,该集合代表文档中的所有内容控件。此为只读属性

语法

表达式.ActiveDocument.ContentControls

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回一个 ContentControls 对象
  const ContentControls = await app.ActiveDocument.ContentControls
}

CustomDocumentProperties

返回一个 DocumentProperties 集合,该集合代表指定文档的所有自定义文档属性

语法

表达式.ActiveDocument.CustomDocumentProperties

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // CustomDocumentProperties 对象
  const CustomDocumentProperties = await app.ActiveDocument
    .CustomDocumentProperties
}

Bookmarks

返回一个 Bookmarks 集合,该集合代表文档中的所有书签。此为只读属性

语法

表达式.ActiveDocument.Bookmarks

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回一个 Bookmarks 对象
  const Bookmarks = await app.ActiveDocument.Bookmarks
}

Comments

返回一个 Comments 集合,该集合代表指定文档的所有批注。此为只读属性

语法

表达式.ActiveDocument.Comments

表达式:一个代表 Document 对象的变量。

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回一个 Comments 对象
  const Comments = await app.ActiveDocument.Comments
}

DocumentFields

返回一个 DocumentFields 集合,该集合代表文档中的所有公文域。此为只读属性

语法

表达式.ActiveDocument.DocumentFields

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回一个 DocumentFields 对象
  const DocumentFields = await app.ActiveDocument.DocumentFields
}

Fields

返回一个 Fields 集合,该集合代表文档中的所有域。此为只读属性

语法

表达式.ActiveDocument.Fields

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回一个 Fields 对象
  const Fields = await app.ActiveDocument.Fields
}

返回一个 Hyperlinks 集合,该集合代表指定文档中的所有超链接。此为只读属性

语法

表达式.ActiveDocument.Hyperlinks

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回一个 Hyperlinks 对象
  const Hyperlinks = await app.ActiveDocument.Hyperlinks
}

Shapes

返回一个 Shapes 集合,该集合代表文档中的所有 Shape 对象。此为只读属性

语法

表达式.ActiveDocument.Shapes

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回一个 Shapes 对象
  const Shapes = await app.ActiveDocument.Shapes
}

InlineShapes

返回一个 InlineShapes 集合,该集合代表文档中的所有 InlineShape 对象。此为只读属性

语法

表达式.ActiveDocument.InlineShapes

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回一个 InlineShapes 对象
  const InlineShapes = await app.ActiveDocument.InlineShapes
}

Revisions

返回一个 Revisions 集合,该集合代表区域或文档中标有修订标记的更改。此为只读属性

语法

表达式.ActiveDocument.Revisions

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回一个 Revisions 对象
  const Revisions = await app.ActiveDocument.Revisions
}

Tables

返回一个 Table 集合,该集合代表指定文档中的所有表格。此为只读属性

语法

表达式.ActiveDocument.Tables

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回一个 Tables 对象
  const Tables = await app.ActiveDocument.Tables
}

Words

返回一个 Words 集合,该集合代表文档中的所有单词。此为只读属性

语法

表达式.ActiveDocument.Words

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回一个 Words 对象
  const Words = await app.ActiveDocument.Words
}

RestrictEditMode

返回一个文档限制编辑模式 Enum.WdRestrictEditMode。此属性为只读属性

语法

表达式.ActiveDocument.RestrictEditMode

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取限制编辑模式
  const mode = await app.ActiveDocument.RestrictEditMode
}

AcceptAllRevisionsShown()

控制接受文档中指定审阅者的所有修订,详细配合可参考 Reviewer.Visible

语法

表达式.ActiveDocument.AcceptAllRevisionsShown()

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取第 1 个代表已修订过的文档的单个审阅者
  const ActiveDocument =
    await app.ActiveDocument.ActiveWindow.View.Reviewers.Item(1)

  // 控制接受文档中指定审阅者的所有修订
  ActiveDocument.Visible = true

  // 接受文档中指定审阅者的所有修订
  await app.ActiveDocument.AcceptAllRevisionsShown()
}

BuiltinDocumentProperties()

文档的所有内置文档属性

语法

表达式.ActiveDocument.BuiltinDocumentProperties()

表达式:文档类型应用对象

DeleteAllComments()

删除文档内的所有评论

语法

表达式.ActiveDocument.DeleteAllComments()

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 删除文档内的所有评论
  await app.ActiveDocument.DeleteAllComments()
}

DeleteAllCommentsShown()

删除文档中指定审阅者的所有评论,详细配合可参考 Reviewer.Visible

语法

表达式.ActiveDocument.DeleteAllCommentsShown()

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取第 1 个代表已修订过的文档的单个审阅者
  const ActiveDocument =
    await app.ActiveDocument.ActiveWindow.View.Reviewers.Item(1)

  // 控制删除文档中指定审阅者的所有评论
  ActiveDocument.Visible = true

  // 删除文档中指定审阅者的所有评论
  await app.ActiveDocument.DeleteAllCommentsShown()
}

ExportAsFixedFormat()

导出当前文件为对应的 PDF 或者 Img 图片,并获取导出后的 url

语法

表达式.ActiveDocument.ExportAsFixedFormat({ OutputFileName, ExportFormat })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
OutputFileName
String
可选
【暂不支持】导出的文件名称
ExportFormat
Enum
wdExportFormatPDF
可选
导出的类型,详细可参考 Enum.WdExportFormat,目前仅支持导出图片和导出 PDF
OpenAfterExport
Boolean
可选
【暂不支持】导出内容后打开新文件
OptimizeFor
Enum
可选
【暂不支持】指定是针对屏幕显示还是打印进行优化,详细可参考 Enum.WdExportOptimizeFor
Range
Enum
可选
指定导出区域是整个文档、当前页面、文本区域还是当前所选内容。默认值是导出整个文档,详细可参考 Enum.WdExportRange
From
Number
可选
如果 Range 参数设置为 wdExportFromTo,则指定起始页码
To
Number
可选
如果 Range 参数设置为 wdExportFromTo,则指定结束页码
Item
Enum
可选
指定导出过程是只包括文本还是包括文本和标记,详细可参考 Enum.WdExportItem
IncludeDocProps
Boolean
可选
指定在最新导出的文件中是否包括文档属性
KeepIRM
Boolean
可选
【暂不支持】指定是否将 IRM 权限复制到 XPS 文档,如果在源文档具有 IRM 保护。默认值为 true
CreateBookmarks
Enum
可选
【暂不支持】指定是否导出书签和要导出的书签的类型,详细可参考 Enum.WdExportCreateBookmarks
DocStructureTags
Boolean
true
可选
【暂不支持】指定是否包含额外数据来帮助屏幕阅读器,例如有关的流和逻辑组织的内容的信息
BitmapMissingFonts
Boolean
true
可选
【暂不支持】指定是否包含文本的位图。 当字体许可不允许在 PDF 文件中嵌入某一字体时,请将此参数设置为 true。如果 false ,则引用该字体,和查看者的计算机会替换合适的字体,如果编写的一个不可用
UseISO19005_1
Boolean
false
可选
【暂不支持】指定是否限制对 PDF 子集的 PDF 使用按照 ISO 标准化 19005-1。 如果 true,所产生的文件会更加可靠地自我包含,但可能会更大或显示更多的视觉瑕疵,由于受到格式的限制
FixedFormatExtClassPtr
Enum
可选
【暂不支持】指定一个指针以指向一个允许对代码的备用实现进行调用的加载项。代码的备用实现将对应用程序生成的 EMF 和 EMF+ 页面描述进行解释,以生成其自身的 PDF 或 XPS
Dpi
Number
96
可选
导出图片的 dpi
Combine2LongPic
Boolean
false
可选
是否输出为长图
ImgFormat
Enum
wdExportFormatPNG
可选
导出图片的格式,详细可参考 Enum.WdExportImgFormat
WaterMark
Boolean
false
可选
带水印还是无水印

返回值

返回打印后 String 型的 url

示例 1:导出 PDF

该 url 可在控制台查看

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 导出 PDF,并获取导出后的 url
  const pdfUrl = await app.ActiveDocument.ExportAsFixedFormat() // 默认导出 PDF,所以可以不传参
  console.log(pdfUrl)
}

示例 2:导出图片

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 导出 PDF,并获取导出后的 url
  const pdfUrl = await app.ActiveDocument.ExportAsFixedFormat({
    ExportFormat: app.Enum.WdExportFormat.wdExportFormatIMG
  }) // 或者传参 19
  console.log(pdfUrl)
}

GetAtList()

提供获取文本中 @ 人列表

语法

表达式.ActiveDocument.GetAtList()

表达式:文档类型应用对象

返回值

返回对应的 @ 人列表数组,包含 uuid 字段

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 提供获取文本中 @ 人列表
  const atInfo = await app.ActiveDocument.GetAtList()
  console.log(atInfo)
}

GetAtPos()

通过 UUID 获取 @ 的 Range 对象

语法

表达式.ActiveDocument.GetAtPos({ Uuid })

表达式:文档类型应用对象

参数

传入一个@的 UUID。

属性数据类型默认值必填说明
Uuid
string
UUID

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 通过 UUID 获取 @ 的 Range 对象
  const range = await app.ActiveDocument.GetAtPos()
  console.log(range)
}

GetComments({ Offset, Limit })

获取全文评论

语法

表达式.ActiveDocument.GetComments({ Offset, Limit })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Offset
Number
起始位置
Limit
Number
限制条数

由于文字文档是流式排版, 在大文档时且 Limit - Offset 较大时,获取时间时间会比较长,建议加一个中间 loading 过渡效果。

返回值

**Array.<Object>**

WebOffice v1.67.1+ 版本后返回值

属性数据类型说明
auth
String
评论人
content
String
内容
date
Date
评论时间

WebOffice v3.3.1+ 版本后返回值:

属性数据类型说明
commentId
String
评论的 id
replyCommentId
String
所回复评论的 id
userId
Date
评论所属用户的用户 id
author
Date
评论所属用户的名称
content
Date
评论内容
date
Date
评论时间
pos
Date
评论对应正文内容的起始位置
len
Date
评论对应正文的长度

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取全文评论
  const operatorsInfo = await app.ActiveDocument.GetComments({
    Offset: 0,
    Limit: 20
  })
  console.log(operatorsInfo)
}

GetContainerAttributes()

获取正文容器的尺寸信息

语法

表达式.ActiveDocument.GetContainerAttributes()

表达式:文档类型应用对象

返回值

属性数据类型说明
Width
Number
宽度
Height
Number
高度
OffsetLeft
Number
当前元素左上角相对于 HTMLElement.offsetParent 节点的左边界偏移的像素值
OffsetTop
Number
当前元素相对于其 offsetParent 元素的顶部内边距的距离
ClientWidth
Number
元素的内部宽度
ClientHeight
Number
元素的内部高度
OffsetWidth
Number
元素的布局宽度
OffsetHeight
Number
元素的布局高度
ScrollTop
Number
这个元素的内容顶部(卷起来的)到它的视口可见内容(的顶部)的距离的度量
ScrollLeft
Number
这个元素的内容顶部(卷起来的)到它的视口可见内容(的左侧)的距离的度量
ScrollHeight
Number
元素内容高度的度量
ScrollWidth
Number
元素内容宽度的度量

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取正文容器的尺寸信息
  const info = await app.ActiveDocument.GetContainerAttributes()
  console.log(info)
}

GetDocumentRange()

获取全文范围

语法

表达式.ActiveDocument.GetDocumentRange()

表达式:文档类型应用对象

返回值

返回 Range 表示全文的区域范围

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取全文范围
  const range = await app.ActiveDocument.GetDocumentRange()
  console.log(range)
}

GetMissingFontList()

获取所有缺失的字体列表

语法

表达式.ActiveDocument.GetMissingFontList()

表达式:文档类型应用对象

返回值

缺失的字体列表

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  const list = await app.ActiveDocument.GetMissingFontList()
  console.log('list: ', list)
}

GetOnlineCooperatorList()

获取在线协作用户的列表

语法

表达式.ActiveDocument.GetOnlineCooperatorList()

表达式:文档类型应用对象

返回值

Array.<Object>

属性数据类型说明
Avatar
String
用户头像地址
UserName
String
用户名称

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取在线协作用户的列表
  const operatorsInfo = await app.ActiveDocument.GetOnlineCooperatorList()
  console.log(operatorsInfo)
}

GetOperatorsInfo()

获取当前登录操作者信息

语法

表达式.ActiveDocument.GetOperatorsInfo()

表达式:文档类型应用对象

返回值

Object object

属性数据类型说明
type
String
请求类型
response
Object
用户信息列表

response 说明

属性数据类型说明
id
String
用户 id
avatar_url
Object
用户头像
logined
Object
用户登录状态
name
Object
用户姓名

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取当前登录操作者信息
  const operatorsInfo = await app.ActiveDocument.GetOperatorsInfo()
  console.log(operatorsInfo)
}

GetViewMode()

获取当前页面版式

语法

表达式.ActiveDocument.GetViewMode()

表达式:文档类型应用对象

返回值

返回 web 为连页模式,pages 为分页模式

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取当前页面版式
  const mode = await app.ActiveDocument.GetViewMode()
  console.log(mode)
}

GetWatermark()

安全文档中获取水印

语法

表达式.ActiveDocument.GetWatermark()

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 安全文档中获取水印
  const watermarkInfo = await app.ActiveDocument.GetWatermark()
  console.log(watermarkInfo)
}

SetWatermark()

安全文档中设置水印

语法

表达式.ActiveDocument.SetWatermark({ Type, Value, FillStyle, Font, Rotate, Horizontal, Vertical })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Type
Number
有无水印。1 有 0 无
Value
String
水印文字
FillStyle
Object
水印填充样式
Font
Object
水印字体
Rotate
Number
旋转
Horizontal
Number
水平间距
Vertical
Number
垂直间距

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 安全文档中设置水印
  await app.ActiveDocument.SetWatermark({
    Type: 1,
    Value: 'WebOffice',
    FillStyle: 'rgba(192, 192, 192, 0.6)',
    Font: 'bold 20px Serif',
    Rotate: (-45 * Math.PI) / 180,
    Horizontal: 50,
    Vertical: 100
  })
}

HasComments()

是否有评论

语法

表达式.ActiveDocument.HasComments()

表达式:文档类型应用对象

返回值

返回 Boolean,为 true 表明有评论,否则没评论

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 是否有评论
  const hasComments = await app.ActiveDocument.HasComments()
  console.log(hasComments) // true|false
}

ImportDataIntoFields()

根据传入数据及配置匹配文档中的内容部件并替换内容

语法

表达式.ActiveDocument.ImportDataIntoFields({ Data, Options })

表达式:文档类型应用对象

参数

传入一个@的 UUID。

属性数据类型必填说明
Data
Object
包含单项、多项或嵌套字段,多项字段进行复制粘贴后统一进行替换,嵌套字段会对 key 进行拼接。注意:目前仅支持 Data: { content: value } 形式
Options
Object
导入配置。目前仅支持 Options: { keyword: 1 / 2 },其中 1 是指标题 Title,2 是指标签 Tag

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 根据传入数据及配置匹配文档中的内容部件并替换内容
  // 如果找不到该内容,则往文末插入文本
  // 这里假设有一个 Title 为 jssdk 的内容控件
  await app.ActiveDocument.ImportDataIntoFields({
    Data: {
      jssdk: 'jssdk2'
    },
    Options: {
      keyword: 1
    }
  })
}

Protect({ Password })

开启限制编辑

语法

表达式.ActiveDocument.Protect({ Password })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Password
String
-
设置的密码

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 开启限制编辑
  await app.ActiveDocument.Protect('test')

  // 停止限制编辑
  await app.ActiveDocument.Unprotect('test')
}

RejectAllRevisionsShown()

控制拒绝文档中指定审阅者的所有修订,详细配合可参考 Reviewer.Visible

语法

表达式.ActiveDocument.RejectAllRevisionsShown()

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取第 1 个代表已修订过的文档的单个审阅者
  const ActiveDocument =
    await app.ActiveDocument.ActiveWindow.View.Reviewers.Item(1)

  // 控制拒绝文档中指定审阅者的所有修订
  ActiveDocument.Visible = true

  // 拒绝文档中指定审阅者的所有修订
  await app.ActiveDocument.RejectAllRevisionsShown()
}

ReplaceText()

根据传入数组全文匹配并替换文本

语法

表达式.ActiveDocument.ReplaceText(Array.<Object>)

表达式:文档类型应用对象

参数

传入一个数组,表明需要替换的文本列表。

属性类型默认值必填说明
+
list
list[]
要替换的文本列表

返回值

返回 Boolean 值,为 true 表明替换成功,为 false 表明替换失败。

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  const isSuccess = await app.ActiveDocument.ReplaceText([
    {
      key: 'WebOffice',
      value: 'JSSDK'
    }
  ])
  console.log(isSuccess) // true
}

Save()

保存文件的改动

语法

表达式.ActiveDocument.Save()

表达式:文档类型应用对象

返回值

属性数据类型说明
result
String
保存状态
size
Number
文件大小,单位 byte
version
Number
版本

保存状态说明

保存状态说明
ok
版本保存成功,可在历史版本中查看
nochange
文档无更新,无需保存版本
SavedEmptyFile
暂不支持保存空文件 触发场景:内核保存完后文件为空
SpaceFull
空间已满
QueneFull
保存中请勿频繁操作 触发场景:服务端处理保存队列已满,正在排队
fail
保存失败

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 保存文件的改动
  const save = await app.ActiveDocument.Save()
  console.log(save)
}

ScrollTo({ ScrollLeft, ScrollTop })

滚动正文容器到指定位置

语法

表达式.ActiveDocument.ScrollTo({ ScrollLeft, ScrollTop })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
ScrollLeft
Number
横向滚动距离
ScrollTop
Number
纵向滚动距离

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 滚动正文容器到指定位置
  await app.ActiveDocument.ScrollTo({ ScrollLeft: 0, ScrollTop: 20 })
}

SetCommentEnabled()

隐藏评论相关功能(当前仅移动端有效)

语法

表达式.ActiveDocument.SetCommentEnabled({ Enable })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Enable
Boolean
是否隐藏

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 设置为隐藏
  await app.ActiveDocument.SetCommentEnabled({
    Enable: true
  })
}

SetContentControlAuthority({ DefaultPermission, Permissions })

需要开启配置 __CONFIG__.wps.enableContentControlACL

提示

__CONFIG__.wps.enableContentControlACL配置方式:控制台进入应用管理页面-选择进入某个在线编辑应用后,切换到文档配置-筛选文字配置-文字配置类别扩展功能-是否设置内容控件只读权限

语法

表达式.ActiveDocument.SetContentControlAuthority({ DefaultPermission, Permissions })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
DefaultPermission
String
-
默认文档内容控件权限,read: 只读权限,edit: 编辑权限
Permissions
Array.<Object>
-
单个内容控件权限列表

Permissions 说明

属性数据类型默认值必填说明
tag
String
内容控件 Tag
access
String
内容控件权限,read: 只读权限,edit: 编辑权限

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 开启限制编辑,建议调用一次,多次调用易出错,可配合Unprotect()使用
  await app.ActiveDocument.Protect()

  // 文档内容控件开启只读权限,Tag为test的控件设置为编辑权限,需要开启配置 __CONFIG__.wps.enableContentControlACL【设置内容控件只读权限】
  await app.ActiveDocument.SetContentControlAuthority('read', [
    { tag: 'test', access: 'edit' }
  ])
}

SetReadOnly()

将打开的文档临时设置为只读

请注意:

  1. 只读状态为本地临时状态,只对当前标签页打开的文档有效,刷新后失效。
  2. 只能将有编辑权限的文档临时设置为不可编辑,然后取消。
  3. 无法把一个只读权限的文档设置为可编辑的。

语法

表达式.ActiveDocument.SetReadOnly({ Value })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Value
Boolean
是否设置为只读

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 设置为只读
  await app.ActiveDocument.SetReadOnly({
    Value: true
  })
}

SetScrollBarStyle({ BackgroundColor, HoverBackgroundColor, ScrollBarWidth, BorderRadius })

JSSDK: v1.1.18+ 支持

设置正文滚动条样式

注:只针对 webkit 内核浏览器生效

语法

表达式.ActiveDocument.SetScrollBarStyle({ BackgroundColor, HoverBackgroundColor, ScrollBarWidth, BorderRadius })

表达式:文档类型应用对象

参数

传入一个对象,表明需要设置的滚动条样式。

属性数据类型默认值必填说明
BackgroundColor
String
-
滚动条背景色
HoverBackgroundColor
String
-
滚动条 hover 背景色
ScrollBarWidth
Number
-
滚动条宽度 (有效范围为 0-100)
BorderRadius
Number
-
滚动条圆角值 (负值无效)

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 设置滚动条样式
  await app.ActiveDocument.SetScrollBarStyle({
    BackgroundColor: '#FFFFFF',
    HoverBackgroundColor: '#ffffff',
    ScrollBarWidth: 6,
    BorderRadius: 6
  })
}

SwitchFileName(Boolean)

显示/不显示文件名栏

注 1:需要连页模式下才生效,非连页模式下设置了也不会生效

注 2:文件名栏是指连页模式下,在内容开头会显示文件名相关栏

语法

表达式. ActiveDocument.SwitchFileName(Boolean)

表达式:文档类型应用对象

参数 Booleantrue 表示显示文件名栏,为 false 表示隐藏文件名栏。

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 分页/连页模式切换
  await app.ActiveDocument.SwitchTypoMode(true)

  // 显示/不显示文件名栏
  await app.ActiveDocument.SwitchFileName(false)
}

SwitchTypoMode(Boolean)

分页/连页模式切换

语法

表达式.ActiveDocument.SwitchTypoMode(Boolean)

表达式:文档类型应用对象

Boolean 参数,为 true 表示切换到连页模式,为 false 表示切换到分页模式。

返回值

Boolean 返回值,为 true 表示切换成功,为 false 表示切换失败

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 分页/连页模式切换
  await app.ActiveDocument.SwitchTypoMode(false)
}

Unprotect({ Password })

停止限制编辑

语法

表达式.ActiveDocument.Unprotect({ Password })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Password
String
-
设置的密码

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 开启限制编辑
  await app.ActiveDocument.Protect('test')

  // 停止限制编辑
  await app.ActiveDocument.Unprotect('test')
}