Skip to content

当前文档

ActiveDocument

当前文档

语法

表达式.ActiveDocument

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

Bookmarks

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

表达式.ActiveDocument.Bookmarks

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

示例

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

  const app = instance.Application

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

Comments

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

表达式.ActiveDocument.Comments

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

示例

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

  const app = instance.Application

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

Content

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

表达式.ActiveDocument.Content

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

示例

//@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
}

ContentControls

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

表达式.ActiveDocument.ContentControls

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

示例

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

  const app = instance.Application

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

CustomDocumentProperties

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

表达式.ActiveDocument.CustomDocumentProperties

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

示例

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

  const app = instance.Application

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

DocumentFields

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

表达式.ActiveDocument.DocumentFields

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

示例

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

  const app = instance.Application

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

Fields

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

表达式.ActiveDocument.Fields

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

示例

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

  const app = instance.Application

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

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

表达式.ActiveDocument.Hyperlinks

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

示例

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

  const app = instance.Application

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

InlineShapes

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

表达式.ActiveDocument.InlineShapes

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

示例

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

  const app = instance.Application

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

PageSetup

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

表达式.ActiveDocument.PageSetup

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

示例

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

  const app = instance.Application

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

ReadOnly

JSSDK: v1.1.14+、WebOffice v3.3.1+ 支持

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

语法

表达式.ActiveDocument.ReadOnly

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

示例

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

  const app = instance.Application

  const ReadOnly = await app.ActiveDocument.ReadOnly
}

ReadOnlyComment

JSSDK: v1.1.15+、WebOffice v4.2.1+ 支持

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

语法

表达式.ActiveDocument.ReadOnlyComment

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

示例

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

  const app = instance.Application

  const ReadOnlyComment = await app.ActiveDocument.ReadOnlyComment
}

Revisions

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

表达式.ActiveDocument.Revisions

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

示例

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

  const app = instance.Application

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

Sections

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

表达式.ActiveDocument.Sections

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

示例

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

  const app = instance.Application

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

Shapes

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

表达式.ActiveDocument.Shapes

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

示例

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

  const app = instance.Application

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

SupportReadOnlyComment

JSSDK: v1.1.15+、WebOffice v4.2.1+ 支持

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

语法

表达式.ActiveDocument.SupportReadOnlyComment

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

示例

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

  const app = instance.Application

  const SupportReadOnlyComment = await app.ActiveDocument.SupportReadOnlyComment
}

Tables

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

表达式.ActiveDocument.Tables

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

示例

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

  const app = instance.Application

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

TrackRevisions

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

编辑与修订模式切换

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

语法

表达式.ActiveDocument.TrackRevisions = Boolean

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

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

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

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

  const app = instance.Application

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

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

注:需要 JSSDK:v1.1.15+、WebOffice v3.4.1+ 支持

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

  const app = instance.Application

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

ActiveWindows

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

表达式.ActiveDocument.ActiveWindows

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

示例

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

  const app = instance.Application

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

Words

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

表达式.ActiveDocument.Words

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

示例

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

  const app = instance.Application

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

AcceptAllRevisionsShown()

JSSDK: v1.1.10+、WebOffice v2.3.1+ 支持

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

语法

表达式.ActiveDocument.AcceptAllRevisionsShown()

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

示例

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

  const app = instance.Application

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

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

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

BuiltinDocumentProperties()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

文档的所有内置文档属性

语法

表达式.ActiveDocument.BuiltinDocumentProperties()

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

DeleteAllComments()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

删除文档内的所有评论

语法

表达式.ActiveDocument.DeleteAllComments()

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

示例

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

  const app = instance.Application

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

DeleteAllCommentsShown()

JSSDK: v1.1.10+、WebOffice v2.3.1+ 支持

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

语法

表达式.ActiveDocument.DeleteAllCommentsShown()

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

示例

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

  const app = instance.Application

  // 获取第 1 个代表已修订过的文档的单个审阅者
  const ActiveDocument =
    await app.ActiveDocument.ActiveWindow.View.ActiveDocuments.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 可在控制台查看

//@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:导出图片

//@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()

JSSDK: v1.1.9+、WebOffice v2.3.1+ 支持

提供获取文本中 @ 人列表

语法

表达式.ActiveDocument.GetAtList()

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

返回值

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

示例

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

  const app = instance.Application

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

GetAtPos()

JSSDK: v1.1.9+、WebOffice v2.3.1+ 支持

通过 UUID 获取 @ 的 Range 对象

语法

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

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

参数

传入一个@的 UUID。

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

示例

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

  const app = instance.Application

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

GetComments({ Offset, Limit })

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

获取全文评论

语法

表达式.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
评论对应正文的长度

示例

//@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()

JSSDK: v1.1.14+、WebOffice v3.3.1+ 支持

获取正文容器的尺寸信息

语法

表达式.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
元素内容宽度的度量

示例

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

  const app = instance.Application

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

GetDocumentRange()

JSSDK: v1.1.14+、WebOffice v3.3.1+ 支持

获取全文范围

语法

表达式.ActiveDocument.GetDocumentRange()

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

返回值

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

示例

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

  const app = instance.Application

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

GetMissingFontList()

JSSDK: v1.1.15+、WebOffice v4.2.1+ 支持

获取所有缺失的字体列表

语法

表达式.ActiveDocument.GetMissingFontList()

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

返回值

缺失的字体列表

示例

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

  const app = instance.Application

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

GetOnlineCooperatorList()

JSSDK: v1.1.14+、WebOffice v3.3.1+ 支持

获取在线协作用户的列表

语法

表达式.ActiveDocument.GetOnlineCooperatorList()

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

返回值

Array.<Object>

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

示例

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

  const app = instance.Application

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

GetOperatorsInfo()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

获取当前登录操作者信息

语法

表达式.ActiveDocument.GetOperatorsInfo()

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

返回值

Object object

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

response 说明

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

示例

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

  const app = instance.Application

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

GetViewMode()

JSSDK: v1.1.14+、WebOffice v3.3.1+ 支持

获取当前页面版式

语法

表达式.ActiveDocument.GetViewMode()

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

返回值

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

示例

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

  const app = instance.Application

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

GetWatermark()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

安全文档中获取水印

语法

表达式.ActiveDocument.GetWatermark()

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

示例

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

  const app = instance.Application

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

HasComments()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

是否有评论

语法

表达式.ActiveDocument.HasComments()

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

返回值

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

示例

//@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()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

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

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

参数

传入一个@的 UUID。

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

示例

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

  const app = instance.Application

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

Protect({ Password })

JSSDK: v1.1.15+、WebOffice v4.2.1+ 支持

开启限制编辑

语法

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

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

参数

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

示例

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

  const app = instance.Application

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

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

Range

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

表达式.ActiveDocument.Range

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

示例

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

  const app = instance.Application

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

RejectAllRevisionsShown()

JSSDK: v1.1.10+、WebOffice v2.3.1+ 支持

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

语法

表达式.ActiveDocument.RejectAllRevisionsShown()

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

示例

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

  const app = instance.Application

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

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

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

ReplaceText()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

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

语法

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

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

参数

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

属性数据类型默认值必填说明
list
Array.<Object>
要替换的文本列表

list 说明

属性数据类型默认值必填说明
key
String
被替换的文本
value
String
替换的文本
options
Object
替换配置

#options 说明

属性数据类型默认值必填说明
isWildcardMatched
Boolean
使用通配符
isCaseSensitive
Boolean
区分大小写
isWholeWordMatched
Boolean
全字匹配
isWidthIgnored
Boolean
忽略全/半角

返回值

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

示例

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

  const app = instance.Application

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

Save()

JSSDK: v1.1.9+、WebOffice v2.3.1+ 支持

保存文件的改动

语法

表达式.ActiveDocument.Save()

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

返回值

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

保存状态说明

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

示例

//@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 })

JSSDK: v1.1.14+、WebOffice v3.3.1+ 支持

滚动正文容器到指定位置

语法

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

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

参数

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

示例

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

  const app = instance.Application

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

SetCommentEnabled()

JSSDK: v1.1.14+、WebOffice v3.3.1+ 支持

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

语法

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

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

参数

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

示例

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

  const app = instance.Application

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

SetContentControlAuthority({ DefaultPermission, Permissions })

JSSDK: v1.1.17+、WebOffice v4.3.1+ 支持

需要开启配置 __CONFIG__.wps.enableContentControlACL,目前 WebOffice 开放平台环境未开启该功能

设置内容控件只读权限

语法

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

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

参数

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

Permissions 说明

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

示例

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

  const app = instance.Application

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

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

SetReadOnly()

JSSDK: v1.1.14+、WebOffice v3.3.1+ 支持

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

请注意:

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

语法

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

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

参数

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

示例

//@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+、WebOffice v5.2.1+ 支持

设置正文滚动条样式

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

语法

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

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

参数

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

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

示例

//@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
  })
}

SetWatermark()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

安全文档中设置水印

语法

表达式.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
垂直间距

示例

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

  const app = instance.Application

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

SwitchFileName(Boolean)

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

显示/不显示文件名栏

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

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

语法

表达式. ActiveDocument.SwitchFileName(Boolean)

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

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

示例

//@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)

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

分页/连页模式切换

语法

表达式.ActiveDocument.SwitchTypoMode(Boolean)

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

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

返回值

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

示例

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

  const app = instance.Application

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

Unprotect({ Password })

JSSDK: v1.1.15+、WebOffice v4.2.1+ 支持

停止限制编辑

语法

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

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

参数

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

示例

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

  const app = instance.Application

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

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