Skip to content

概述

js-sdk 除了提供基础的文档配置和使用,还提供了高级 API 来直接操作文档,接口风格与 VBA 一致,原则上兼容 VBA 的接口和参数。

js-sdk 的高级用法按不同的文档类型进行了划分:

  • 文字(Word):docdocxwps 等后缀文件
  • 表格(Excel):xlsxlsx 等后缀文件
  • 演示(PPT):pptpptx 等后缀文件
  • PDF:pdf 等后缀文件

当然还有特殊目录:

  • 公共:在文字(Word)、表格(Excel)、演示(PPT)、PDF 等文档都可以使用的高级 API

下面举例说明高级 API 调用流程。

实例:设置文档缩放

在上手之前,我们尝试一个小例子,通过控制文档的缩放比例,来了解下高级 API 的强大功能:

图

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

  const app = instance.Application

  // 设置文档缩放比例为 50%
  app.ActiveDocument.ActiveWindow.View.Zoom.Percentage = 50
}

如果需要大量使用高级 API,请认真阅读 注意事项,了解销毁对象等相关知识

那么,在这个例子中,我们需要了解哪些信息?下面通过 3 个步骤让你快速了解高级 API 相关信息。

步骤一:等待实例化完成

在调用高级 API 之前,需要先等待 ready() 方法执行完毕。

window.onload = async function () {
  const jssdk = WebOfficeSDK.config({
    url: '在线文档预览地址' // 该地址需要后端提供,https://wwo.wps.cn/office/p/xxx
  })

  // 需要等待 jssdk ready 之后再调用高级 API
  await jssdk.ready()
}

步骤二:取得文档类型应用对象

根据相应的字段取得文档对应的应用对象,如果不需要特指,那就使用 jssdk.Application

// 文字
const wordApp = jssdk.WordApplication()

// 表格
const excelApp = jssdk.ExcelApplication()

// 演示
const pptApp = jssdk.PPTApplication()

// PDF
const pdfApp = jssdk.PDFApplication()

// 自动识别
const app = jssdk.Application

提示:可以根据 WordApplicationExcelApplicationPPTApplicationPDFApplication 来判断当前是什么文档类型,下面文章中默认通过 jssdk.Application 自动识别文档类型。

步骤三:使用高级 API

这里以设置文字缩放比例为例,表明 API 的使用方式:

<script src="./web-office-sdk.umd.js"></script>
<script>
  window.onload = async function () {
    const jssdk = WebOfficeSDK.config({
      url: 'xxxx' // Word 文档路径
    })

    // 等待加载完毕
    await jssdk.ready()

    // 自动识别
    const app = jssdk.Application

    // 设置文档缩放比例为 50%
    app.ActiveDocument.ActiveWindow.View.Zoom.Percentage = 50
  }
</script>