概述

WPS Android 版 API 使用手册 V11.4.1(API, Android)

版权声明

版权所有金山办公软件技术有限公司 2019。 保留一切权利。

非经本公司书面许可，任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部，并不得以任何形式传播。

商标声明

本文档提及的其他所有商标或注册商标，由制作方拥有解释权。

注意

您购买的产品、服务或特性等应受金山办公软件有限公司商业合同和条款的约束，本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。

由于产品版本升级或其他原因，本文档内容会不定期进行更新。除非另有约定，本文档仅作为使用指导，本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

技术支持

金山办公软件有限公司
地址： | 武汉市江夏区流芳街道金融港中路B24栋 邮编：430000
网址： | http://www.wps.cn/
客户服务邮箱： | mo_dev_support_pro@kingsoft.com
客户服务电话： | -
金山办公软件专有和保密信息
版权所有金山办公软件有限公司


更新履历

No. | Office版本 | 变更内容 | 备注
1 | 9.2.1 | 1.完善水印显示界面处理 2.增加截屏控制参数 3.新增接口控制文字组件“输出为PDF”按钮是否可用isActionAllowed接口ActionType增加参数AT_EXPORT_AS_PDF |
2 | 9.2.2 | 1.修复少量兼容问题 |
3 | 9.2.3 | 1.新增：第三方打开intent参数控制：打开 word 文档屏幕显示方向 2.修复：使用isViewInVisible接口控制部分 tab 菜单不可见后，程序工具栏展开后的相关错误问题 |
4 | 9.2.4 | 1.新增：AIDL接口，获取修订信息，包括：修订人、修订时间、修订类型（如：添加、删除等）、修订内容 2.新增：AIDL接口，Word文档阅读、编辑模式切换。（mDoc.switchReadMode(boolean isToggle) ） |
5 | 9.2.5 | 1.新增：isActionAllowed方法增加“ AT_MENU_FIND”参数控制Word文档上下文菜单中“查词”是否可用 |
6 | 9.2.6 | 1.新增：第三方打开intent参数：打开文档默认显示比例（Word文档） 2.修复部分文档兼容问题 3.修复部分接口问题 |
7 | 9.2.7 | 1.修复部分文档兼容问题 |
8 | 9.2.8 | 1.补充支持华为设备自启动限制后的AIDL方式启动 |
9 | 9.2.9 | 解决OPPO类型设备，AIDL无法调起问题 |
10 | 9.2.11 | 增加广播接口：绑定服务是否链接正常 |
11 | 11.1.1 | 1.演示文档新增墨迹 2.参数列表节点整理 3."原生菜单控制" 增加手机和平板的区分 |
12 | 11.4.1 | 1.新增：增值接口 2.新增：演示播放接口--录制幻灯片、会议 |


集成前必读

在集成WPS Office接口对接前，请无法阅读以下内容，以避免在对接中导致基本调用流程无法完成。

1.设备上如果同时安装了多个调用WPS Office的APP时（比如安装了WPS Office提供的demo，另外也安装了企业自己的APP（该APP已集成WPS接口相关）），

请注意参考本文档 “多应用绑定 ” 进行处理，否则可能会遇到以AIDL方式打开崩溃的现象。

2.如使用AIDL调用方式，请参考“AIDL方式调用注意”进行相关处理，以避免在部分设备无法AIDL调起WPS Office打开文档的现象。


StartActivity 控制

【概述】

第三方通过 StartActivity 方式启动WPS，启动的时候传入 intent 参数控制文档的打开后效果。

【代码示例】

boolean openFile(String path)

{

Intent intent = new Intent();

Bundle bundle = new Bundle();

bundle.putString(OPEN_MODE, READ_ONLY);

//打开模式

bundle.putBoolean(SEND_CLOSE_BROAD, true);

//关闭时是否发送广播

bundle.putString(THIRD_PACKAGE, selfPackageName);

//第三方应用的包名，用于对改应用合法性的验证

bundle.putBoolean(CLEAR_TRACE, true);

//打开文件时，在最近列表不显示该打开记录

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

intent.setAction(android.content.Intent.ACTION_VIEW);

intent.setClassName(packageName, className);

File file = new File(path);

if (file == null || !file.exists())

{

return false;

}

Uri uri = Uri.fromFile(file);

intent.setData(uri);

intent.putExtras(bundle);

try

{

startActivity(intent);

}

catch (ActivityNotFoundException e)

{

e.printStackTrace();

return false;

}

return true;

}


AIDL 控制

AIDL打开

【概述】

通过绑定Office Service，在文档使用过程中，第三方应用通过调用 WPS 对外暴露的接口，直接对文档进行操作，如打开、保存、另存、打开手绘等。

注意：第三方程序如果需要使用AIDL方式操作 WPS，需要将 moffice-service.jar 以及 moffice-service-base.jar 导入到自己的工程中，

并在eclipse中选择Java Build Path的Order and Export中选中 jar 包， 这样编出的第三方应用程序才能正常操作控制 WPS。

【集成介绍】

实现agent、client后，绑定WPS的Service，获取文档对象后调用对应的接口操作。

【示例代码】

private synchronized boolean bindOfficeService()
{

  if (mService
!= null) {
// 之前已经连接过，先解除绑定，再尝试连接
unbindService(connection);
}
//
关闭自启动后，先启动moffice进程
final Intent startAppIntent = new
Intent();
startAppIntent.setClassName("com.kingsoft.moffice_pro",
"cn.wps.moffice.second_dev.StartAppActivity");
startAppIntent.setAction("cn.wps.moffice.second_dev.StartApp");
startAppIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startAppIntent);

  //
先唤醒moffice进程，再绑定service
final BroadcastReceiver receiver = new
BroadcastReceiver() {
@Override
public
void onReceive(Context context, Intent intent) {
if
(Define.OFFICE_READY_ACTION.equals(intent.getAction()))
{
synchronized (this)
{
this.notifyAll();
}
}
}
};
registerReceiver(receiver,
new IntentFilter(Define.OFFICE_READY_ACTION));
final Intent
wakeAppIntent = new
Intent();
wakeAppIntent.setClassName("com.kingsoft.moffice_pro",
Define.OFFICE_ACTIVITY_NAME);
wakeAppIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(wakeAppIntent);
synchronized
(this) {
try
{
this.wait(500);
} catch
(InterruptedException e)
{
e.printStackTrace();
}
}
unregisterReceiver(receiver);
isChangedFlag
= false;
final Intent intent = new
Intent(Define.OFFICE_SERVICE_ACTION);
intent.setPackage("com.kingsoft.moffice_pro");
intent.putExtra("DisplayView",
true);
startService(intent);
boolean bindOk =
false;
for (int i = 0 ; i < 10 ;
++i)
{
bindOk = bindService(intent,
connection,
Service.BIND_AUTO_CREATE);

if
(bindOk)
break;
else
{
try
{
Thread.sleep(500);
}
catch (InterruptedException
e)
{
e.printStackTrace();
break;
}
}

}

if
(!bindOk)
{
// bind failed, maybe wps
office is not installd yet.
Util.showToast(mContext,
"服务绑定失败！");
unbindService(connection);

mService = null;
return false;
}

return true;
}

//获取连接实例

 private
ServiceConnection connection = new
ServiceConnection()
{
@Override
public
void onServiceConnected(ComponentName name, IBinder service)
{
mService =
OfficeService.Stub.asInterface(service);
isBound =
true;
}

  @Override
public void
onServiceDisconnected(ComponentName name)
{
mService =
null;
isBound =
false;
}
};


术语定义

WPS Android 专业版

模块划分及术语定义

术语简称 | 详细描述
业务系统方 | 指对Office使用流程有根据特定业务（如加解密）进行定制要求的一方。
Agent | 一个本地应用程序，由业务系统开发方提供，负责提供Client的认证信息列表，为json数据格式。
Sever | 即WPS Office for Android（以下简称WPS） 应用程序，是流程的发起者，事件的发送者。
Client | 接收事件的应用程序，由业务系统开发方提供。必须预先通过业务系统方管理员注册到认证列表之后，才能通过Agent被Server获取到，才能接收到由Server发送的事件。


Agent 方法说明

WPS Android 专业版

Agent使用规范

  • Agent是一个本地应用程序。它的包名是由业务系统方管理员预订的（如cn.wps.moffice.agent.OfficeServiceAgent，现在默认为”cn.wps.moffice.demo”），

此信息将被固化到Sever中。Agent必须按照以下AIDL实现一个接口，Server将调用此接口中的方法，获取可用的Client的列表。

OfficeServiceAgent对象及方法

package cn.wps.moffice.agent

interface OfficeServiceAgent

{

int getClients(out string[] clients, out int[] expireDays);

boolean isValidPackage(String originalPackage, String realThirdPackage)

}

AIDL说明：

getClients 方法

方法说明：用于获取一个json数据包和Client连接的过期时间。

首先，要判断由WPS传入的包名是否可信（可信判断由业务系统方自己决定，如判断包名是否等于”cn.wps.demo”等），根据判断结果，如果为true，则返回包含Client认证列表的JSON数据包；如果为false，则返回空的json数据包。

clients参数：返回一个认证信息列表，其中包含了一个或多个Client的认证信息。

expireDays参数：返回一个过期时间。在次过期时间之内，Server将不会再次调用此方法来更新认证信息列表。此参数是为了避免每次启动时都需要进行一次认证信息列表获取动作，以提高启动速度。此参数若小于等于0，则会导致每次启动时都需要进行一次获取动作。若大于0，则在此数字规定的天数之后，Server会再次调用此方法来更新认证信息列表。

isValidPackage方法：

该方法是为了验证多个第三方包名定制，特殊需要，如果不需要可以直接返回false

注：

获取第三方包名代码如下：

Bundle bundle = intent.getExtras();

m3rdPartyPackageName = bundle.getString(Define.THIRD_PACKAGE);

Agent可以将Client认证信息列表固化在自身程序内部，也可以实现为连接到某个有效的服务器获取。这由业务系统方自行决定。

不论如何，返回给调用者的Client认证信息列表必须符合以下格式要求：

{

"name"：String Value,

"type" : "Package-ID",

"id" : String Value,

"Security-Level" : "Full-access",

"Authorization" : String Value

}

格式说明:

name：业务流程处理程序名称,目前为client对应Service的intent-filter的参数。

type：调用方式，目前必须为"Package-ID"。

id： 根据调用方式确定的唯一名称，目前必须为Client的程序包名。

Security-Level：目前必须为"Full-access"

Authorization：认证码，将会与Client程序返回的认证码作对比，用于验证Client程序有效性。

注：这些参数中最重要的是name，因为这个将是绑定Client的依据，其次是Authorization，这个参数会在绑定client之后校验。

假设Agent存放（或通过其他方式获取的）的Client信息为下表内容：

信息列表
name | type | id | Security-Level | Authorization
King Test App1 | "Package-ID" | cn.wps.moffice.test.App1 | Full-access | "abxxdsewrwsds3232ss"
King Test App2 | "Package-ID" | cn.wps.moffice.test.App2 | Full-access | "abxxdseqqds3ssw32ss"
King Test App3 | "Package-ID" | cn.wps.moffice.test.App3 | Full-access | "affxdseqqds3ssws2ss"

则调用上述API后返回的结果为如下json格式的数据包：


Client

WPS Android 专业版

Client使用规范

  • Client需要根据一套AIDL接口描述来实现一系列接口，以供Sever调用。
  • Sever在获得Agent的Client认证列表后，会试着连接列表中的每个Client，直到有一个成功连接。
  • Client主要实现有三部分组成：OfficeServiceClient 、OfficeAuthorization、OfficeClientEventListener。
  • OfficeServiceClient 返回OfficeAuthorization和OfficeClientEventListener两个类的实例，以便进行操作。
  • OfficeAuthorization主要是返回该Client的验证码给Sever以验证Client的有效性。
  • OfficeClientEventListener主要是实现响应Sever发送的事件（如打开文件）。

下面是这些类的AIDL详细定义：

OfficeServiceClient 对象及方法

package cn.wps.moffice.client;

import cn.wps.moffice.client.OfficeAuthorization;

import cn.wps.moffice.client.OfficeEventListener;

interface OfficeServiceClient

{

OfficeAuthorization getAuthorization();

OfficeEventListener getOfficeEventListener();

}

OfficeAuthorization getAuthorization()

Client实现此接口被Server调用，返回值为OfficeAuthorization对象，当Client不在服务列表时，返回值为null,则当前Client对象不会得到任何Server的服务及调用请求。

OfficeEventListener getOfficeEventListener()

Client实现此接口被Server调用，返回值为OfficeEventListener对象，当Client不在服务列表时，返回值为null,则当前Client对象不会得到任何Server的服务及调用请求。

OfficeAuthorization对象及方法

package cn.wps.moffice.client

interface OfficeAuthorization

{

int getAuthorization( out String[] auth_code );

}

AIDL说明：

getAuthorization方法：

方法说明：

用于向调用者返回自身的认证码 。Server调用此方法，检测授权码是否正确。如果不正确，该Client将不会接受到任何事件。

OfficeClientEventListener对象及方法

package cn.wps.moffice.client

interface OfficeEventListener

{

int onOpenFile( in String path, in OfficeOutputStream output);

int onSaveFile( in OfficeInputStream input, in String path);

int onCloseFile();

}

onOpenFile( in String path, in OfficeOutputStream output)

onOpenFile方法：

方法说明：打开文件事件，打开文件时会调用此方法。

path参数：文件路径。

output参数：Client对path所对应的文件解密，将解密结果写入到output对象中，写入完成之后，返回0。解密失败返回-1.

返回值：返回值为-1时，Server将告诉用户，文件无法打开。

int onCloseFile()

onCloseFile方法：

方法说明：关闭文件事件。

int onSaveFile( in OfficeInputStream input, in String path)

方法说明：保存文件事件，保存文件时会调用此方法。

path参数：文件路径。

input参数：Client从input对象中读取数据，对path对应的文件进行加密，加密完成之后，保存到path指向的路径，返回0。加密失败返回-1。

返回值：返回值为-1时，Server将告诉用户，文件无法保存。

boolean isActionAllowed(String path, ActionType type)

方法说明：wps外部编辑事件功能，即外部控制wps中某些功能可否操作

Path参数：当前打开文档路径

Type参数：当前事件的类型

返回值：返回该事件是否可以执行。该方式是控制wps某些操作（如保存功能）可否进行，如果返回false，则wps中文档不能保存，否则可以保存操作，如果不需要用到该功能，则直接返回true

boolean isValidPackage(String originalPackage, String thirdPackage)

特殊定制需求，直接返回false即可。

注：OfficeInputStream 、OfficeOutputStream 类由Sever实现，在OfficeClientEventListener打开和保存文件方法使用时，可以像FileInputStream、FileOutputStream一样使用。


多应用绑定

WPS Android 专业版

背景

由于业务方需求，希望支持多个第三方应用绑定moffice服务。故取消第三方客户端包名验证，允许同一台设备上有多个第三方应用调用WPS Office专业版二次开发接口，同时确保加解密功能都能对应第三方demo加解密处理流程。

接入流程

遵循原有Agent、Client、Server(WPS)通信流程：

  • WPS 启动自动连接agent
  • 通过agent获取client服务名称

为保证两个（或以上）app能同时连接，需要Agent和Client服务名称唯一，根据这个原则需要改如下几个地方：

1、修改app配置文件中的agent 和client服务名称

在AndroidManifest.xml文件中修改注册的Client和Agent服务名称（参考：图1）

2、修改agent服务中client的服务名称

在OfficeServiceAgentImpl类中修改"JSON_DATA"数据里面的“cn.wps.moffice.client.OfficeServiceClient ”服务名称 （参考：图2）

3、传入参数

a. Agent参数名为"agentClassName"，该参数在打开文档时在Intent对象中传入。 （参考：图3）

b. 传入第三方包名给moffice验证agent请求，如： bundle.putString("ThirdPackage", context.getPackageName());

特别注意： 第三方包名参数传入很重要，因为打开文档时，WPS Service会根据此包名来确认目标应用发起的请求是否正确。否则，传入错误的包名会导致agent服务验证失败，加解密功能以及相关功能控制失效 。

【截图示例】

图1

图2

图3


StartActivity 控制参数

WPS Android专业版

  • 参数列表
  • 广播事件


参数列表

WPS Android 版参数控制介绍

文档打开参数列表

参数名

参数说明

类型

默认值

OpenMode

打开文件的模式，具体模式参看下方说明。（如控制文档只读）

String

Normal

SendSaveBroad

文件保存时是否发送广播。

boolean

FALSE

SendCloseBroad

文件关闭时是否发送广播。

boolean

FALSE

ThirdPackage

第三方的包名，关闭的广播会包含该项。

String

ClearTrace

关闭文件时是否删除使用记录(即删除照片墙上的痕迹，就是文档的预览图)。

boolean

FALSE

ClearFile

关闭文件时是否删除打开的文件。

boolean

FALSE

ViewProgress

文件上次查看的进度。

float

0.00%

AutoJump

是否自动跳转到上次查看的进度。

boolean

FALSE

SavePath

文件保存路径。

String

ViewScale

文件上次查看的视图的缩放。

float

1

ViewScrollX

文件上次查看的视图的X坐标。

int

0

ViewScrollY

文件上次查看的视图的Y坐标。

int

0

UserName

批注的作者。

String

HomeKeyDown

监听home键并发广播

boolean

FALSE

BackKeyDown

监听back键并发广播

boolean

FALSE

EnterReviseMode

以修订模式打开文档

boolean

FALSE

CacheFileInvisible

Wps生成的缓存文件外部是否可见

boolean

TRUE

AutoPlay

【演示文档】打开演示文档进入自动播放模式

boolean

TRUE

AutoPlayInternal

【演示文档】自动播放时间间隔设置

int

0
PagePlay

【演示文档】打开演示文档进入播放模式

boolean

WaterMaskText

设置水印文字内容

bundle.putString("WaterMaskText", "水印测试style");

string

WaterMaskColor

设置水印颜色：bundle.putInt("WaterMaskColor", Color.argb(51, 238, 238, 238));

int

51, 238, 238, 238

ShowReviewingPaneRightDefault

打开文档是否显示修订批注面板

boolean

RevisionNoMarkup

bundle.putBoolean("RevisionNoMarkup", true);//控制修订无标记的状态

boolean

SerialNumberOther

传入Android序列号验证激活

string

SerialNumberOtherPc

传入PC序列号激活

string

isScreenshotForbid

屏幕截屏控制，false：允许截屏，ture：禁止截屏

boolean

ScreenOrientation

控制打开文档显示屏幕方向

// 横屏显示

bundle.putInt("ScreenOrientation", ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
// 竖屏显示

bundle.putInt(ScreenOrientation", ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
// 反向竖屏显示

bundle.putInt(ScreenOrientation", ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
// 反向横屏显示

bundle.putInt(ScreenOrientation", ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);

IgnoreImportRoaming

控制不使用文档漫游
true：打开文档不使用漫游功能；false：打开文档使用漫游功能

boolean

zoom

打开文档默认缩放比例（仅针对doc文字组件文档）

float

 9.2.6版本增加
WaterMaskColCount | 水印纵向个数
WaterMaskRowCount | 水印横向个数
WaterTypeface | 水印类型

PS：以上参数均放在Intent中，如有需要使用或者需要参加，请使用Intent添加或获取参数的方式使用。

例如：

Intent intent = new Intent();

Bundle bundle = new Bundle();

bundle.putString(Define.OPEN_MODE, OpenMode); //打开模式

OpenMode参数列表

模式 | 说明 | 备注
” ReadOnly ” | 只读模式 |
“ Normal” | 正常模式 |
” ReadMode” | 打开直接进入阅读模式 | 仅 Word、TXT文档支持
”Edit Mode” | 打开直接进入编辑模式 | 手机


打开文档参数

【简介】 将“打开文档参数”的控制参数进行统一归纳整理。

参数名 | 参数说明 | 类型 | 默认值
OpenMode | 打开模式 | String | Normal
ReadOnly | 只读模式 | String |
Normal | 正常模式 | String |
ReadMode | 打开直接进入阅读模式 | String |
Edit Mode | 打开直接进入编辑模式 | string | FALSE

PS：以上参数均放在Intent中，如有需要使用或者需要参加，请使用Intent添加或获取参数的方式使用。

例如：

Intent intent = new Intent();

Bundle bundle = new Bundle();

bundle.putString(Define.OPEN_MODE, OpenMode); //打开模式


广播相关参数

【简介】 将“打开文档参数”的控制参数进行统一归纳整理 。

参数名 | 参数说明 | 类型 | 默认值
SendSaveBroad | 文件保存时是否发送广播。 | boolean | FALSE
SendCloseBroad | 文件关闭时是否发送广播。 | boolean | FALSE
ThirdPackage | 第三方的包名，关闭的广播会包含该项。 | String |
HomeKeyDown | 监听home键并发广播 | boolean | FALSE
BackKeyDown | 监听back键并发广播 | boolean | FALSE

PS：以上参数均放在Intent中，如有需要使用或者需要参加，请使用Intent添加或获取参数的方式使用。

例如：

Intent intent = new Intent();

Bundle bundle = new Bundle();

bundle.putBoolean(Define.SEND_SAVE_BROAD, SendSaveBroad); //保存文件的广播boolean


文档记录

【简介】 将“文档记录”的控制参数进行统一归纳整理 。

参数名 | 参数说明 | 类型 | 默认值
ClearTrace | 关闭文件时是否删除使用记录(即删除照片墙上的痕迹，就是文档的预览图)。 | boolean | FALSE
ClearFile | 关闭文件时是否删除打开的文件。 | boolean | FALSE
ClearBuffer | 清除缓冲区 | boolean | true
CacheFileInvisible | 缓存文件是否可见 | boolean | true

PS：以上参数均放在Intent中，如有需要使用或者需要参加，请使用Intent添加或获取参数的方式使用。

例如：

Intent intent = new Intent();

Bundle bundle = new Bundle();

bundle.putBoolean(Define.CLEAR_BUFFER, IsIsClearBuffer); //清除临时文件boolean


文档初始化参数

【简介】 将“文档初始化参数”的控制参数进行统一归纳整理 。

参数名

参数说明

类型

默认值

ViewProgress

文件上次查看的进度。

float

0.00%

AutoJump

是否自动跳转到上次查看的进度。

boolean

FALSE

ViewScale

文件上次查看的视图的缩放。

float

1

ViewScrollX

文件上次查看的视图的X坐标。

int

0

ViewScrollY

文件上次查看的视图的Y坐标。

int

0

AutoPlay

【演示文档】打开演示文档进入自动播放模式

boolean

TRUE

AutoPlayInternal

【演示文档】自动播放时间间隔设置

int

0

PagePlay

【演示文档】打开演示文档进入播放模式

boolean

ScreenOrientation

控制打开文档显示屏幕方向

// 横屏显示

bundle.putInt("ScreenOrientation", ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
// 竖屏显示

bundle.putInt(ScreenOrientation", ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
// 反向竖屏显示

bundle.putInt(ScreenOrientation", ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
// 反向横屏显示

bundle.putInt(ScreenOrientation", ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);

IgnoreImportRoaming

控制不使用文档漫游

true：打开文档不使用漫游功能；false：打开文档使用漫游功能

boolean

zoom

打开文档默认缩放比例（仅针对doc文字组件文档）

float

 9.2.6版本增加

PS：以上参数均放在Intent中，如有需要使用或者需要参加，请使用Intent添加或获取参数的方式使用。

例如：

Intent intent = new Intent();

Bundle bundle = new Bundle();

//bundle.putBoolean(Define.AUTO_JUMP, AutoJump); //自动跳转到上次查看的进度boolean，包括页数和xy坐标


修订相关参数

【简介】 将“修订相关参数”的控制参数进行统一归纳整理 。

参数名 | 参数说明 | 类型 | 默认值
ShowReviewingPaneRightDefault | 打开文档是否显示修订批注面板 | boolean |
EnterReviseMode | 以修订模式打开文档 | boolean | FALSE
RevisionNoMarkup | 控制修订无标记的状态 | boolean | true

PS：以上参数均放在Intent中，如有需要使用或者需要参加，请使用Intent添加或获取参数的方式使用。

例如：

Intent intent = new Intent();

Bundle bundle = new Bundle();

bundle.putBoolean(Define.REVISION_NOMARKUP, false); //控制修订无标记的状态


水印相关参数

【简介】 将“水印相关参数”的控制参数进行统一归纳整理 。

参数名 | 参数说明 | 类型 | 默认值
WaterMaskText | 设置水印文字内容 bundle.putString("WaterMaskText", "水印测试style"); | string |
WaterMaskColor | 设置水印颜色：bundle.putInt("WaterMaskColor", Color.argb(51, 238, 238, 238)); | int | 51, 238, 238, 238
WaterMaskColCount | 水印纵向个数 | int |
WaterMaskRowCount | 水印横向个数 | int |
WaterTypeface | 水印类型（1 DEFAULT_BOLD 2 SANS_SERIF 3 SERIF 4 MONOSPACCE） | string |

PS：以上参数均放在Intent中，如有需要使用或者需要参加，请使用Intent添加或获取参数的方式使用。

例如：

Intent intent = new Intent();

Bundle bundle = new Bundle();

bundle.putString(Define.WATERMASK_TEXT, "1233211233211233211123321"); //设置文档水印内容


批注

【简介】 将“批注”的控制参数进行统一归纳整理 。

参数名 | 参数说明 | 类型 | 默认值
UserName | 批注的作者。 | string |

PS：以上参数均放在Intent中，如有需要使用或者需要参加，请使用Intent添加或获取参数的方式使用。

例如：

Intent intent = new Intent();

Bundle bundle = new Bundle();

bundle.putString(Define.USER_NAME, userName); //批注作者


激活相关

激活相关参数

【简介】 将"激活相关参数"的控制参数进行统一归纳整理 。

参数名 | 参数说明 | 类型 | 默认值
SerialNumberOther | 传入Android序列号验证激活 | string |
SerialNumberOtherPc | 传入PC序列号激活 | string |

PS：以上参数均放在Intent中，如有需要使用或者需要参加，请使用Intent添加或获取参数的方式使用。

例如：

Intent intent = new Intent();

Bundle bundle = new Bundle();

bundle.putString(Define.SERIAL_NUMBER_OTHER, "XXXXXXXXX");


其他

【简介】 将“其他”的控制参数进行统一归纳整理 。

参数名 | 参数说明 | 类型 | 默认值
SavePath | 文件保存路径。 | string |

PS：以上参数均放在Intent中，如有需要使用或者需要参加，请使用Intent添加或获取参数的方式使用。

例如：

Intent intent = new Intent();

Bundle bundle = new Bundle();

bundle.putString(Define.SAVE_PATH, "/sdcard/SavePath另存文档.doc"); //文件保存路径


广播事件

WPS Android 版参数控制介绍

广播参数列表

1 Back按钮广播

BackKeyDown的值为true的时候，会发送该条广播

参数：action = “com.kingsoft.writer.back.key.down”

2 Home 按钮广播

HomeKeyDown 的值为true的时候，会发送该条广播

参数：action = “com.kingsoft.writer.home.key.down”

3 保存文件广播

设置SendSaveBroad值为true，文件保存时，程序发送" cn.wps.moffice.broadcast.AfterSaved"的广播。

广播包含信息见下表：

参数名 | 参数说明 | 类型 | 默认值
CurrentPath | 当前文档路径 | String |
ThirdPartyPackage | 传入的第三方的包名。 | String |
SaveAs | 本次保存事件是否是另存 | Boolean |

4 关闭文件广播

设置SendCloseBroad值为true，文件关闭时，程序发送" cn.wps.moffice.broadcast.AfterClosed "的广播。

广播包含信息见下表：

参数名 | 参数说明 | 类型 | 默认值
CurrentPath | 关闭文件的路径 | String |
ThirdPartyPackage | 传入的第三方的包名。 | String |
ViewProgress | 文件查看的进度 | float | 0.00%
ViewScale | 文件上次查看的视图的缩放 | float | 1
ViewScrollX | 文件上次查看的视图的X坐标 | int | 0
ViewScrollY | 文件上次查看的视图的Y坐标 | int | 0

5 WPS前台、后台状态切换广播

public static final String
BROAD_WPS_ONPAUSE = "cn.wps.moffice.activity.onPause";
//切换到后台时发送广播
public static final String BROAD_WPS_ONRESUME = "cn.wps.moffice.activity.onResume";
//切回到前台时发送广播

6 服务绑定确认广播

public static final String BROAD_THIRD_AGENT_CONN = "cn.wps.moffice.agent.connected";


AIDL 控制接口

专业 版 AIDL 类介绍

打开（或新建）并获取文档对象及方法摘要
功能 | 类型 | 方法 | 描述
获取文档对象集合 | Documents | getDocuments(); | 获取文档对象集合
 | Workbooks | getWorkbooks(); | 获取表格对象集合（注：暂时不支持带界面的操作）
 | Presentations | getPresentations(); | 获取演示文档对象集合
 | PDFReaders | getPDFReaders(); | 获取当前打开的PDF文档对象集合
打开文档获得文档对象 | Document | openWordDocument(String docPath, String password, Intent intent); openDocument(String docPath, String password, Intent intent); //废弃 | 打开文字文档获得文档对象 参数说明： docPath: 要打开的文档路径 Password: WPS加密文档的密码，如果文档没有使用WPS加密，传入””; Intent：包装其他数据，传入不同的打开参数，实现不同的效果，文档具体打开参数见附录“打开参数”。 【PPT\EXCEL\PDT格式的打开文档参数类似】
 | Workbook | openWorkbook(String path, String password); | 打开一份excel文档（注：暂时不支持带界面的操作）
 |  | openBookEx(String path, String password, in Intent intent); | 打开表格文档，获取表格文档对象
 | Presentation | openPresentation(String filePath, String password, in Intent intent) | 打开一个演示文档，获取演示文档对象
 | PDFReader | openPDFReader(String filePath, String password, Intent intent) | 打开一个PDF文档，获取PDF文档对象
新建文档获得文档对象 | Document | newDocument(String newDocPath, in Intent intent); | 新建一个doc文档 参数说明： docPath： 要打开的文档路径 intent： 是AIDL操作文档的一些设置，与openDocument的intent相同作用 【PPT\EXCEL格式的打开文档参数类似】
 | Workbook | newWorkbook(String newFilePath, in Intent intent); | 新建一个excel文档
 | Presentation | newPresentation(String newFilePath, in Intent intent); | 新建一个演示文档
获取当前活动文档对象 | Document | getActiveDocument() | 获取当前活动 Word 文档对象
 | Workbook | getActiveWorkbook() | 获取当前活动 Excel 文档对象
 | Presentation | getActivePresentation() | 获取当前活动 PPT 文档对象
 | PDFReader | getActivePDF() | 获取当前活动 PDF 文档对象

注：请将打开文档功能在子线程中进行，避免出现死锁现象

Intent intent = new Intent();

Bundle bundle = new Bundle();

bundle.putBoolean(Define.BACK_KEY_DOWN, true);//监听Back键事件,对外发送广播

intent.putExtras(bundle);

mDoc = mService.openDocument(path, "", intent);//mService为绑定文档后返回的对象


显示界面调用

在文档打开，界面显示后，通过相关接口跨进程控制文档相关动作。


示例

【代码示例】

专业版绑定moffice-service介绍

下面代码展示如何绑定WPS的Service，通过获得绑定的Service对象，调用对应的接口，即可操作WPS的相关功能。

public static final String PRO_OFFICE_SERVICE_ACTION = "cn.wps.moffice.service.ProOfficeService";

void doBindService()

{

Intent intentOfficeService = new Intent(PRO_OFFICE_SERVICE_ACTION);

intent.setPackage("com.kingsoft.moffice_pro"); //注意：5.0以及5.0以上系统显式绑定需要补充该代码，不添加无法正常绑定服务

intentOfficeService.putExtra("DisplayView", true);

bindService(intentOfficeService, mConnection, BIND_AUTO_CREATE);

}

void doUnbindService()

{

if (mIsBound)

{

unbindService(mConnection);

mIsBound = false;

}

}

//获取连接实例

private ServiceConnection connection = new ServiceConnection()
{
@Override
public void onServiceConnected(ComponentName name, IBinder service)
{
mService = OfficeService.Stub.asInterface(service);
isBound = true;
}

  @Override
public void
onServiceDisconnected(ComponentName name)
{
mService =
null;
isBound =
false;
}
};


Word

Word打开文档与新建文档

获取文档对象方法概要
功能 | 类型 | 方法 | 描述
获取文档对象集合 | Documents | getDocuments(); | 获取Doc文档对象集合
打开文档 | Document | openWordDocument(String docPath, String password, Intent intent); | 打开文字文档获得文档对象 参数说明： docPath: 要打开的文档路径 Password: WPS加密文档的密码，如果文档没有使用WPS加密，传入””; Intent：包装其他数据，传入不同的打开参数，实现不同的效果，文档具体打开参数见附录“打开参数”。
新建文档 | Document | newDocument(String newDocPath, in Intent intent); | 新建一个doc文档 参数说明： docPath：要打开的文档路径 intent：是AIDL操作文档的一些设置，与openDocument的intent相同作用

注：请将打开文档功能在子线程中进行，避免出现死锁现象

【示例】：

mDoc = mService.openWordDocument(path, "", intent); //打开word文档，9.2.9以上版本，请使用下方方法

Intent intent = Util.getOpenIntent(mContext, this.path, true);

Intent i = mService.getDocuments().getDocumentIntent(path, "", intent);

i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(i) ;

mDoc = mService.getDocuments().waitForDocument(path);//获取文档对象


Document

Document类

【简介】 该接口是Document对象调用的接口，要使用这些接口必须先通过OfficeService对象的openDocument方法获得文档对象。

【详细参数及方法介绍】

Document对象及方法摘要
类型 | 方法 | 描述
void | public void close(); | 关闭文档
String | public String getPath() | 获取文档路径
String | public String getName() | 获取文档名称
int | public int getLength() | 获取文档长度
float | public float getViewScale() | 获取文档缩放比
int | public int getCommentNumber() | 获取文档批注个数
int | public int getCurrentPageNum(int num) | 获取当前页的页码 参数说明： num：该值暂无意义，只要是整型即可
String | public String getDocumentVariable(String key) | 查询文档属性标记内容 参数说明： key：文档标记属性对应的key值
float | public float getScrollX() | 当前文档已经划过的X长度
float | public float getScrollY() | 当前文档已经划过的Y长度
Range | public Range getContent() | 返回一个Range对象，表示主文档的故事
Selection | public Selection getSelection() | 返回Selection对象
Shapes | public Shapes getShapes() | 获得Shapes对象
Comments | public Comments getComments() | 获得Comments对象
Bookmarks | public Bookmarks getBookmarks() | 获得Bookmarks对象
float | public float getViewScrollX() | 获取划过X坐标
float | public float getViewScrollY() | 获取划过Y坐标
InlineShapes | public InlineShapes getInlineShapes() | 获得InlineShapes嵌入式对象
float | public float getViewProgress() | 获取当前文档打开进度
boolean | public boolean isLoadOK() | 判断文档是否加载完成 返回值说明： <boolean>文档打开加载状态：True表示文档已完成加载完成，False则未加载完
boolean | public boolean isModified() | 判断文档是否被修改 返回值说明： <boolean>True当前文档已被修订；False文档未作修改
boolean | public boolean isInRevisionMode() | 是否处于修订模式 返回值说明： <boolean>True：当前已是修订模式；False：当前非修订模式
boolean | public boolean enterReviseMode() | 进入修订模式 --普通模式下生效 返回值说明： <boolean>True：进入修订模式；False：当前已是修订模式
boolean | public boolean exitReviseMode() | 退出修订模式 返回值说明： <boolean>True：退出修订模式；False：当前已是退出修订模式
void | public void denyAllRevision() | 拒绝所有修订
void | public void acceptAllRevisions() | 接受指定的文档中的所有修订
void | public void acceptAllRevision() | 接受所有修订 (注意：修订状态下生效)
boolean | public boolean getShowRevisions() | 获取修订标记显示状态 返回值说明： <boolean>True表示文档修订已显示，False则修订未显示
Revisions | public Revisions getRevisions() | 获取修订信息
Revision | public Revision item(int index) | 获取指定修订信息 参数说明： item：对象index
string | public string getAuthor(int item) | 获取修订作者信息 参数说明： item：对象index
string | public string getDate(int item) | 获取修订时间 参数说明： item：对象index
WdRevisionType | public WdRevisionType getType(int item) | 获取修订信息的类型 参数说明： item：对象index
Range | public Range getRange(int item) | 获取修订内容范围对象 参数说明： item：对象index
void | public void toggleToHighLightPen() | 切换至荧光笔手写
void | public void toggleToPen() | 切换至笔手写
void | public void toggleToEraser() | 切换至橡皮擦
void | public void setInkColor(int color) | 设置墨迹颜色 参数说明： color：墨迹颜色值。 Ex.0xff0000
void | pupublic void toggleInkFinger() | 切换至手指手写
void | public void handWriteComment() | 打开手绘批注
boolean | public boolean isInHandWriterMode() | 是否开启手绘模式 返回值说明： <boolean>True：当前为手绘模式；False：当前非手绘模式
float | public float getInkHighLightThick() | 获取荧光笔粗细
Selection | public float getInkPenThick() | 获取笔画粗细
int | public int getInkColor() | 获取墨迹颜色
void | public void closeHandwriteComment() | 关闭手绘批注模式
float | public boolean getForbiddenInk() | 获取停用墨迹状态 返回值说明： boolean 值：true表示当前墨迹功能为停用状态，false表示启用状态
float | public void toggleForbiddenInk(boolean isEnableInk ) | 启动/禁用墨迹功能 参数说明： isEnableInk ：true表示停用，false表示启用
void | public void close2(WdSaveOptions wdSaveOptions, WdOriginalFormat wdOriginalFormat, boolean booleanValue) | 关闭文档 参数说明： WdSaveOptions 指定文档的保存操作 wdOriginalFormat 指定文档的保存格式 booleanValue 是否作为附件传送到收件人列表
void | public void save(boolean booleans) | 保存文档 参数说明： booleans：True，则自动保存所有文档； False，提示用户保存自上次保存后已修改过的每篇文档
void | public void undoClear() | 清除的可以撤消指定文档操作的列表
void | public void undo2(int num) | 撤销功能 参数说明： num：撤销步数
void | public void saveAs(String savePath, SaveFormat docFormat, String password, String writePassword) | 将当前文档另存文档，可根据传参进行加解密另存后的文档，并且可根据SaveFormat改变另存的文档格式 参数说明： savePath 另存文档的绝对路径；docFormat 存储文档的格式 password 加密文档访问密码；writePassword 设置或修改密码
void | public void redo2(int num) | 重做已撤销的动作 参数说明： num：重做步数
void | public void addDocumentVariable(String key, String value) | 添加文档属性标记（settings.xml 中 docVars 参数说明： key： 文档标记属性对应的key值；value：文档标记的内容
boolean | public boolean clearAllComments() | 删除文档中所有批注
void | public void setSaved(boolean saved) | 设置保存设置标记 参数说明： saved: ture 无论文档是否修改直接关闭文档，不会弹保存提示 false 文档修改后直接关闭文档，会弹保存提示
void | public void setUser(String user) | 设置修订批注的作者名 参数说明： user：修订和批注的作者名称
void | public void saveCurrentPageToImage(String path, PictureFormat picFormat,int index, int posAtScreen, int item, int bkColor, int width,int height) | 对当前页面进行截图保存 参数说明： path：保存路径；picFormat：保存的图片格式；index：页码 posAtScreen 屏幕的位置，取0、1、2三个值，分别代表屏幕顶部、中部、底部对应的页面的页码 index：是否截取修订界面；bkColor：截图背景 width：截图的宽；height：截图的长
void | public void unProtectDocument(String password) | 解锁文档保护 参数说明： password：文档保护密码
int | public void protect2(WdProtectionType type, boolean noReset,String password, boolean useIRM, boolean enforceStyleLock) | 保护文档（保护指定编辑类型未经授权的文件） 参数说明： type：申请保护的类型 noReset：False:重置表单域为默认值,True :如果该文件是受保护的要保留当前表单域值 password：文档保护密码 useIRM：被保护的文档遇修改时指定是否使用信息权限管理（IRM） enforceStyleLock：是否启用强制保护
boolean | public boolean isProtectOn() | 文档是否处于保护
WdProtectionType | public WdProtectionType getProtectionType2() | 获取文档保护类型 返回值说明： WdProtectionType <枚举值>返回文档保护类型：只读保护、批注保护、修订保护、窗体保护、无保护
void | public void hiddenMenuBar() | 隐藏上下文菜单
void | public void hiddenToolBar() | 隐藏工具栏
void | public void switchReadMode(boolean isToggle) | 切换文档模式为阅读模式或编辑模式（手机界面使用） 参数说明： true：阅读模式；false：编辑模式

【代码示例】另存文档

SaveFormat saveFormat= SaveFormat.DOC; // 另存的文档格式

mDoc.saveAs(path, saveFormat, null, null); // 另存文档

注：mDoc是示例1中打开文档得到的文档对象，该对象可以调用上表中的方法


获取文档内容

【简介】 将“获取文档内容”的相关接口进行统一归纳整理 ，要使用这些接口必须先通过OfficeService对象的openDocument方法获得文档对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
String | public String getUser() | 获取当前修订批注手绘作者的作者名
String | public String getPath() | 获取文档路径
String | public String getName() | 获取文档名称
int | public int getLength() | 获取文档长度
float | public float getViewScale() | 获取文档缩放比
int | public int getCommentNumber() | 获取文档批注个数
int | public int getCurrentPageNum(int num) | 获取当前页的页码 参数说明： num：该值暂无意义，只要是整型即可
String | public String getDocumentVariable(String key) | 查询文档属性标记内容 参数说明： key：文档标记属性对应的key值
float | public float getScrollX() | 当前文档已经划过的X长度
float | public float getScrollY() | 当前文档已经划过的Y长度
Range | public Range getContent() | 返回一个Range对象，表示主文档的故事
Selection | public Selection getSelection() | 返回Selection对象
Shapes | public Shapes getShapes() | 获得Shapes对象
Comments | public Comments getComments() | 获得Comments对象
Bookmarks | public Bookmarks getBookmarks() | 获得Bookmarks对象
float | public float getViewScrollX() | 获取划过X坐标
float | public float getViewScrollY() | 获取划过Y坐标
InlineShapes | public InlineShapes getInlineShapes() | 获得InlineShapes嵌入式对象
float | public float getViewProgress() | 获取当前文档打开进度

【代码示例】（获取文档批注个数）

mDoc.getCommentNumber();


getUser()

获取当前修订批注手绘作者的作者名

方法定义

public String getUser()

返回值

<String> 得到当前修改文档生成文档记录的修改作者名称

使用说明

无

使用示例

public String getUser() {
  try {
   return mDoc.getUser();
  } catch (RemoteException e) {
   e.printStackTrace();
   return null;
  }
 }
父主题： cn.wps.moffice.service.doc.Document.getUser
KingSoft专有和保密信息
版权所有 ?KingSoft


getPath()

获取文档路径

方法定义

public String getPath()

返回值

<String>得到文档所在的绝对完整路径

使用说明

无

使用示例

public String getPath() {
  try {
   return mDoc.getPath();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return null;
 }
父主题： cn.wps.moffice.service.doc.Document.getPath
KingSoft专有和保密信息
版权所有 ?KingSoft


getName()

获取文档名称

方法定义

public String getName()

返回值

<String>得到文档的标题名称

使用说明

无

使用示例

public String getName() {
  try {
   return mDoc.getName();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return null;
 }
父主题： cn.wps.moffice.service.doc.Document.getName
KingSoft专有和保密信息
版权所有 ?KingSoft


getLength()

获取文档长度

方法定义

public int getLength()

返回值

<int>得到当前文档的内容总长度

使用说明

无

使用示例

public int getLength() {
  try {
   return mDoc.getLength();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return -1;

   }
父主题： cn.wps.moffice.service.doc.Document.getLength
KingSoft专有和保密信息
版权所有 ?KingSoft


getViewScale()

获取文档缩放比

方法定义

public float getViewScale()

返回值

<float>得到文档浏览页面的缩放比例值

使用说明

无

使用示例

 public float getViewScale() {
  try {
   return mDoc.getViewScale();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return 0;
 }
父主题： cn.wps.moffice.service.doc.Document.getViewScale
KingSoft专有和保密信息
版权所有 ?KingSoft


getCommentNumber()

获取文档批注个数

方法定义

public int getCommentNumber()

返回值

<int>得到文档中批注的总个数

使用说明

无

使用示例

 public int getCommentNumber() {
  try {
   return mDoc.getCommentNumber();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return 0;
 }
父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


getCurrentPageNum()

获取当前页的页码

方法定义

public int getCurrentPageNum(int num)

参数描述

参数名 | 类型 | 描述
num | int | 该参数传入整型（该值暂无意义，只要是整型即可）

返回值

<int>得到当前文档可见页面的页码数

使用说明

无

使用示例

  public int getCurrentPageNum(int num)
{
try {
return
mDoc.getCurrentPageNum(num);
} catch (RemoteException e)
{
e.printStackTrace();
}
return
-1;
}

父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


getDocumentVariable()

查询文档属性标记内容。

方法定义

public String getDocumentVariable(String key)

参数描述

参数名 | 类型 | 描述
key | String | 文档标记属性对应的key值

返回值

<String>获取对应key值标记的文档属性记号

使用说明

无

使用示例

  public String getDocumentVariable(String key)
{
try {
return
mDoc.getDocumentVariable(key);
} catch (RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


getScrollX()

当前文档已经划过的X长度

方法定义

public float getScrollX()

返回值

<float>文档划过X范围值

使用说明

无

使用示例

public float getScrollX() {
  try {
   return mDoc.getScrollX();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return -1;
 }
父主题： cn.wps.moffice.service.doc.Document.getScrollX
KingSoft专有和保密信息
版权所有 ?KingSoft


getScrollY()

当前文档已经划过的Y长度

方法定义

public float getScrollY()

返回值

<float>文档划过Y范围值

使用说明

无

使用示例

public float getScrollY() {
  try {
   return mDoc.getScrollY();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return -1;

   }
父主题： cn.wps.moffice.service.doc.Document.getScrollY
KingSoft专有和保密信息
版权所有 ?KingSoft


getContent()

返回一个Range对象，表示主文档的故事

方法定义

public Range getContent()

返回值

Range

使用说明

无

使用示例

public Range getContent() {
  try {
   return mDoc.getContent();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return null;

   }
父主题： cn.wps.moffice.service.doc.Document.getContent
KingSoft专有和保密信息
版权所有 ?KingSoft


getSelection()

返回Selection对象

方法定义

public Selection getSelection()

返回值

Selection

使用说明

编辑相关的操作大多需要先获取选区对象才可进行操作，比如: Font

使用示例

public Selection getSelection() {
  try {
   return mDoc.getSelection();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return null;
 }
父主题： cn.wps.moffice.service.doc.Document.getSelection
KingSoft专有和保密信息
版权所有 ?KingSoft


getShapes()

获得Shapes对象

方法定义

public Shapes getShapes()

返回值

Shapes

使用说明

无

使用示例

public Shapes getShapes() {
  try {
   return mDoc.getShapes();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return null;

   }
父主题： cn.wps.moffice.service.doc.Document.getShapes
KingSoft专有和保密信息
版权所有 ?KingSoft


getComments()

获得Comments对象

方法定义

public Comments getComments()

返回值

Comments

使用说明

无

使用示例

public Comments getComments() {
  try {
   return mDoc.getComments();
  } catch (RemoteException e) {

   e.printStackTrace();

  }

  return null;

   }
父主题： cn.wps.moffice.service.doc.Document.getComments


getBookmarks()

获得Bookmarks对象

方法定义

public Bookmarks getBookmarks()

返回值

Bookmarks

使用说明

无

使用示例

public Bookmarks getBookmarks() {
  try {
   return mDoc.getBookmarks();
  } catch (RemoteException e) {

   e.printStackTrace();

  }

  return null;

   }
父主题： cn.wps.moffice.service.doc.Document.getBookmarks


getViewScrollX()

获取划过X坐标

方法定义

public float getViewScrollX()

返回值

float

使用说明

无

使用示例

public float getViewScrollX() {
  try {
   return mDoc.getViewScrollX();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return 0;
 }
父主题： cn.wps.moffice.service.doc.Document.getViewScrollX
KingSoft专有和保密信息
版权所有 ?KingSoft


getViewScrollY()

获取划过Y坐标

方法定义

public float getViewScrollY()

返回值

float

使用说明

无

使用示例

public float getViewScrollY() {
  try {
   return mDoc.getViewScrollY();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return 0;
 }
父主题： cn.wps.moffice.service.doc.Document.getViewScrollY
KingSoft专有和保密信息
版权所有 ?KingSoft


getInlineShapes()

获得InlineShapes嵌入式对象

方法定义

public InlineShapes getInlineShapes()

返回值

InlineShapes

使用说明

若要获得文档相关的接口之前，必须先获得文档对象

使用示例

public InlineShapes getInlineShapes() {
  try {
   return mDoc.getInlineShapes();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return null;
 }
父主题： cn.wps.moffice.service.doc.Document.getInlineShapes
KingSoft专有和保密信息
版权所有 ?KingSoft


getViewProgress()

获取当前文档打开进度

方法定义

public float getViewProgress()

返回值

<float>得到文档当前浏览到文档的进度值

使用说明

无

使用示例

public float getViewProgress() {
  try {
   return mDoc.getViewProgress();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return -1;
 }
父主题： cn.wps.moffice.service.doc.Document.getViewProgress
KingSoft专有和保密信息
版权所有 ?KingSoft


获取文档状态

【简介】 将“获取文档状态”的相关接口进行统一归纳整理 ，要使用这些接口必须先通过OfficeService对象的openDocument方法获得文档对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
boolean | public boolean isLoadOK() | 判断文档是否加载完成 返回值说明： <boolean>文档打开加载状态：True表示文档已完成加载完成，False则未加载完
boolean | public boolean isModified() | 判断文档是否被修改 返回值说明： <boolean>True当前文档已被修订；False文档未作修改

【代码示例】（判断文档是否加载完成）

mDoc.isLoadOK();


isLoadOK()

判断文档是否加载完成

方法定义

public boolean isLoadOK()

返回值

<boolean>文档打开加载状态：True表示文档已完成加载完成，False则未加载完

使用说明

无

使用示例

public boolean isLoadOK() {
  try {
   return mDoc.isLoadOK();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return false;

   }
父主题： cn.wps.moffice.service.doc.Document.isLoadOK
KingSoft专有和保密信息
版权所有 ?KingSoft


isModified()

判断文档是否被修改

方法定义

public boolean isModified()

返回值

<boolean>True当前文档已被修订；False文档未作修改

使用说明

无

使用示例

public boolean isModified() {
  try {
   return mDoc.isModified();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return false;
 }
父主题： cn.wps.moffice.service.doc.Document.isModified
KingSoft专有和保密信息
版权所有 ?KingSoft


修订相关

【简介】 将“修订相关”的相关接口进行统一归纳整理 ，要使用这些接口必须先通过OfficeService对象的openDocument方法获得文档对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
boolean | public boolean isInRevisionMode() | 是否处于修订模式 返回值说明： <boolean>True：当前已是修订模式；False：当前非修订模式
boolean | public boolean enterReviseMode() | 进入修订模式 --普通模式下生效 返回值说明： <boolean>True：进入修订模式；False：当前已是修订模式
boolean | public boolean exitReviseMode() | 退出修订模式 返回值说明： <boolean>True：退出修订模式；False：当前已是退出修订模式
void | public void denyAllRevision() | 拒绝所有修订
void | public void acceptAllRevisions() | 接受指定的文档中的所有修订
void | public void acceptAllRevision() | 接受所有修订 (注意：修订状态下生效)
boolean | public boolean getShowRevisions() | 获取修订标记显示状态 返回值说明： <boolean>True表示文档修订已显示，False则修订未显示
Revisions | public Revisions getRevisions() | 获取修订信息
Revision | public Revision item(int index) | 获取指定修订信息 参数说明： item：对象index
string | public string getAuthor(int item) | 获取修订作者信息 参数说明： item：对象index
string | public string getDate(int item) | 获取修订时间 参数说明： item：对象index
WdRevisionType | public WdRevisionType getType(int item) | 获取修订信息的类型 参数说明： item：对象index
Range | public Range getRange(int item) | 获取修订内容范围对象 参数说明： item：对象index

【代码示例】（是否处于修订模式）

mDoc.isInRevisionMode();


isInRevisionMode()

是否处于修订模式

方法定义

public boolean isInRevisionMode()

返回值

<boolean>True：当前已是修订模式；False：当前非修订模式

使用说明

若要获得文档相关的接口之前，必须先获得文档对象

使用示例

public boolean isInRevisionMode() {
  try {
   return mDoc.isInRevisionMode();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return false;
 }
父主题： cn.wps.moffice.service.doc.Document.isInRevisionMode
KingSoft专有和保密信息
版权所有 ?KingSoft


enterReviseMode()

进入修订模式 --普通模式下生效

方法定义

public boolean enterReviseMode()

返回值

<boolean>True：进入修订模式；False：当前已是修订模式

使用说明

无

使用示例

 public boolean enterReviseMode() {
  try {
   mDoc.enterReviseMode();
   return true;
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return false;

   }
父主题： cn.wps.moffice.service.doc.Document.enterReviseMode
KingSoft专有和保密信息
版权所有 ?KingSoft


exitReviseMode()

退出修订模式

方法定义

public boolean exitReviseMode()

返回值

<boolean>True：退出修订模式；False：当前已是退出修订模式

使用说明

无

使用示例

 public boolean exitReviseMode() {
  try {
   mDoc.exitReviseMode();
   return true;
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return false;

   }
父主题： cn.wps.moffice.service.doc.Document.exitReviseMode
KingSoft专有和保密信息
版权所有 ?KingSoft


denyAllRevision()

拒绝所有修订

方法定义

public void denyAllRevision()

返回值

Null

使用说明

无

使用示例

 public void denyAllRevision() {
  try {
   mDoc.denyAllRevision();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
 }
父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


acceptAllRevisions()

接受指定的文档中的所有修订

方法定义

public void acceptAllRevisions()

返回值

Null

使用说明

无

使用示例

public void acceptAllRevisions() {
  try {
   mDoc.acceptAllRevisions();
  } catch (RemoteException e) {
   e.printStackTrace();
  }

   }
父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


acceptAllRevision()

接受所有修订 (注意：修订状态下生效)

方法定义

public void acceptAllRevision()

返回值

无

使用说明

无

使用示例

public void acceptAllRevision() {
  try {
   mDoc.acceptAllRevision();
  } catch (RemoteException e) {
   e.printStackTrace();
  }

   }
父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


getShowRevisions()

获取修订标记显示状态

方法定义

public boolean getShowRevisions()

返回值

<boolean>True表示文档修订已显示，False则修订未显示

使用说明

无

使用示例

public boolean getShowRevisions() {

  try {

     return mDoc.isShowReviewingPane() ；

   } catch (RemoteException e) {

     e.printStackTrace();

  }
      return false;

  }
父主题： cn.wps.moffice.service.doc.Document.getShowRevisions


getRevisions()

获取修订信息

方法定义

public Revisions getRevisions()

返回值

Revisions

使用说明

无

使用示例

public Revisions getRevisions() {
  try {
   return mDoc.getRevisions() ；
  } catch (RemoteException e) {

   e.printStackTrace();

  }

  return null;

  }
父主题： cn.wps.moffice.service.doc.Document.getRevisions


item()

获取指定修订信息

方法定义

public Revision item(int index)

参数描述

参数名 | 类型 | 描述
item | int | 对象index

返回值

Revision类型

使用说明

无

使用示例

 public Revision item(int index){
try {
return mDoc.getRevisions().item(int index);
} catch (RemoteException e) {
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.getRevisions


getAuthor()

获取修订作者信息

方法定义

public string getAuthor(int item)

参数描述

参数名 | 类型 | 描述
item | int | 对象index

返回值

<string>获取指定修订信息的作者

使用说明

无

使用示例

public string getAuthor(int item){
try {
return mDoc.getRevisions().item(int
index).getAuthor()；
} catch
(RemoteException e) {
e.printStackTrace();
}
return
-1;
}

父主题： cn.wps.moffice.service.doc.getRevisions


getDate()

获取修订时间

方法定义

public string getDate(int item)

参数描述

参数名 | 类型 | 描述
item | int | 对象index

返回值

<string>获取指定修订信息的时间

使用说明

无

使用示例

public string getDate(int item){
try {
return mDoc.getRevisions().item(int
index).getDate()；
}
catch (RemoteException e) {
e.printStackTrace();
}
return
-1;
}

父主题： cn.wps.moffice.service.doc.getRevisions


getType()

获取修订信息的类型

方法定义

public WdRevisionType getType(int item)

参数描述

参数名 | 类型 | 描述
item | int | 对象index

返回值

<WdRevisionType>获取指定修订信息的类型

使用说明

无

使用示例

public WdRevisionType getType(int item){
try {
return mDoc.getRevisions().item(int
index).getType();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
-1;
}

父主题： cn.wps.moffice.service.doc.getRevisions


getRange()

获取修订内容范围对象

方法定义

public Range getRange(int item)

参数描述

参数名 | 类型 | 描述
item | int | 对象index

返回值

<Range >获取指定修订内容范围对象

使用说明

无

使用示例

public Range getRange(int item){
try {
return mDoc.getRevisions().item(int
index).getRange();
} catch (RemoteException
e) {
e.printStackTrace();
}
return
-1;
}

父主题： cn.wps.moffice.service.doc.getRevisions


墨迹

【简介】 将“墨迹”的相关接口进行统一归纳整理 ，要使用这些接口必须先通过OfficeService对象的openDocument方法获得文档对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
void | public void toggleToHighLightPen() | 切换至荧光笔手写
void | public void toggleToPen() | 切换至笔手写
void | public void toggleToEraser() | 切换至橡皮擦
void | public void setInkColor(int color) | 设置墨迹颜色 参数说明： color：墨迹颜色值。 Ex.0xff0000
void | pupublic void toggleInkFinger() | 切换至手指手写
void | public void showHandWriteComment() | 打开手绘批注
boolean | public boolean isInHandWriterMode() | 是否开启手绘模式 返回值说明： <boolean>True：当前为手绘模式；False：当前非手绘模式
float | public float getInkHighLightThick() | 获取荧光笔粗细
Selection | public float getInkPenThick() | 获取笔画粗细
int | public int getInkColor() | 获取墨迹颜色
void | public void closeHandwriteComment() | 关闭手绘批注模式
float | public boolean isForbiddenInk() | 获取停用墨迹状态 返回值说明： boolean 值：true表示当前墨迹功能为停用状态，false表示启用状态
float | public void toggleForbiddenInk(boolean isEnableInk ) | 启动/禁用墨迹功能 参数说明： isEnableInk ：true表示停用， false表示启用

【代码示例】（切换至荧光笔手写）

mDoc.toggleToHighLightPen();


toggleToHighLightPen()

切换至荧光笔手写

方法定义

public void toggleToHighLightPen()

返回值

Null

使用说明

无

使用示例

public void toggleToHighLightPen() {
  try {
   mDoc.toggleToHighLightPen();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
 }
父主题： cn.wps.moffice.service.doc.Document.toggleToHighLightPen
KingSoft专有和保密信息
版权所有 ?KingSoft


toggleToPen()

切换至笔手写

方法定义

public void toggleToPen()

返回值

Null

使用说明

无

使用示例

public void toggleToPen() {
  try {
   mDoc.toggleToPen();
  } catch (RemoteException e) {
   e.printStackTrace();
  }

   }
父主题： cn.wps.moffice.service.doc.Document.toggleToPen
KingSoft专有和保密信息
版权所有 ?KingSoft


toggleToEraser()

切换至橡皮擦

方法定义

public void toggleToEraser()

返回值

Null

使用说明

无

使用示例

public void toggleToEraser() {
  try {
   mDoc.toggleToEraser();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
 }
父主题： cn.wps.moffice.service.doc.Document.toggleToEraser
KingSoft专有和保密信息
版权所有 ?KingSoft


setInkColor()

设置墨迹颜色。

方法定义

public void setInkColor(int color)

参数描述

参数名 | 类型 | 描述
color | int | 墨迹颜色值。 Ex.0xff0000

返回值

无。

使用说明

无

使用示例

 public void setInkColor(int color)
{
try
{
mDoc.setInkColor(color);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


setInkThick()

设置笔粗细。

方法定义

public void setInkThick(float strokeWidth)
参数描述
参数名 | 类型 | 描述
strokeWidth | float | 建议取值范围：0.25~6.0（磅）

返回值

Null

使用说明

无

使用示例

 public void setInkThick(float strokeWidth)
{
try
{
mDoc.setInkThick((float) 5.0);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


toggleInkFinger()

切换至手指手写

方法定义

public void toggleInkFinger()

返回值

Null

使用说明

无

使用示例

public void toggleInkFinger() {
  try {
   mDoc.toggleInkFinger();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
 }
父主题： cn.wps.moffice.service.doc.Document.toggleInkFinger
KingSoft专有和保密信息
版权所有 ?KingSoft


showHandWriteComment()

打开手绘批注

方法定义

public void showHandWriteComment()

返回值

Null

使用说明

无

使用示例

 public void showHandWriteComment() {
  try {
    mDoc.showHandWriteComment();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
 }
父主题： cn.wps.moffice.service.doc.Document.handWriteComment
KingSoft专有和保密信息
版权所有 ?KingSoft


isInHandWriterMode()

是否开启手绘模式

方法定义

public boolean isInHandWriterMode()

返回值

<boolean>True：当前为手绘模式；False：当前非手绘模式

使用说明

无

使用示例

public boolean isInHandWriterMode() {
  try {
   return mDoc.isInHandWriterMode();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return false;
 }
父主题： cn.wps.moffice.service.doc.Document.isInHandWriterMode
KingSoft专有和保密信息
版权所有 ?KingSoft


getInkHighLightThick()

获取荧光笔粗细

方法定义

public float getInkHighLightThick()

返回值

<float>得到荧光笔的线条粗细值

使用说明

无

使用示例

public float getInkHighLightThick() {
try {
return mDoc.getInkHighLightThick();
} catch (RemoteException e) {
e.printStackTrace();
}
return -1;
}

父主题： cn.wps.moffice.service.doc.Document.getInkHighLightThick
KingSoft专有和保密信息
版权所有 ?KingSoft


getInkPenThick()

获取笔画粗细

方法定义

public float getInkPenThick()

返回值

<float>得到墨迹笔的线条粗细值

使用说明

无

使用示例

public float getInkPenThick() {
  try {
   return mDoc.getInkPenThick();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return -1;
 }
父主题： cn.wps.moffice.service.doc.Document.getInkPenThick
KingSoft专有和保密信息
版权所有 ?KingSoft


getInkColor()

获取墨迹颜色

方法定义

public int getInkColor()

返回值

<int>得到墨迹笔画的颜色

使用说明

无

使用示例

 public int getInkColor() {
  try {
   return mDoc.getInkColor();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return -1;

   }
父主题： cn.wps.moffice.service.doc.Document.getInkColor
KingSoft专有和保密信息
版权所有 ?KingSoft


closeHandwriteComment()

关闭手绘批注模式

方法定义

public void closeHandwriteComment()

返回值

Null

使用说明

无

使用示例

 public void closeHandwriteComment() {
  try {
   mDoc.closeHandWriteComment();
  } catch (RemoteException e) {
   e.printStackTrace();
  }

   }
父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


isForbiddenInk()

获取停用墨迹状态

方法定义

public boolean isForbiddenInk()

返回值

boolean 值：true表示当前墨迹功能为停用状态，false表示启用状态

使用说明

无

使用示例

/**
  * 获取停用墨迹状态
  * @return
  */
 public boolean isForbiddenInk(){
  try {
   return mDoc.isForbiddenInk();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return false;
 }
父主题： cn.wps.moffice.service.doc.Document.toggleToHighLightPen
KingSoft专有和保密信息
版权所有 ?KingSoft


toggleForbiddenInk()

启动/禁用墨迹功能

方法定义

public void toggleForbiddenInk(boolean isEnableInk )

参数描述

参数名 | 类型 | 描述
isEnableInk | boolean | 当前墨迹状态值 true表示停用 false表示启 用

返回值

无

使用说明

无

使用示例

public void toggleForbiddenInk(boolean isEnableInk ) {
try {
mDoc.toggleForbiddenInk( isEnableInk );
} catch (RemoteException e) {
e.printStackTrace();
}
}
父主题： cn.wps.moffice.service.doc. Document.toggleForbiddenInk


文档操作

【简介】 将“文档操作”的相关接口进行统一归纳整理 ，要使用这些接口必须先通过OfficeService对象的openDocument方法获得文档对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
void | public void close(); | 关闭文档
void | public void close2(WdSaveOptions wdSaveOptions, WdOriginalFormat wdOriginalFormat, boolean booleanValue) | 关闭文档 参数说明： WdSaveOptions 指定文档的保存操作 wdOriginalFormat 指定文档的保存格式 booleanValue 是否作为附件传送到收件人列表
void | public void save(boolean booleans) | 保存文档 参数说明： booleans：True，则自动保存所有文档； False，提示用户保存自上次保存后已修改过的每篇文档
void | public void undoClear() | 清除的可以撤消指定文档操作的列表
void | public void undo2(int num) | 撤销功能 参数说明： num：撤销步数
void | public void saveAs(String savePath, SaveFormat docFormat, String password, String writePassword) | 将当前文档另存文档，可根据传参进行加解密另存后的文档，并且可根据SaveFormat改变另存的文档格式 参数说明： savePath 另存文档的绝对路径；docFormat 存储文档的格式 password 加密文档访问密码；writePassword 设置或修改密码
void | public void redo2(int num) | 重做已撤销的动作 参数说明： num：重做步数
void | public void addDocumentVariable(String key, String value) | 添加文档属性标记（settings.xml 中 docVars 参数说明： key： 文档标记属性对应的key值；value：文档标记的内容
void | public void setSaved(boolean saved) | 设置保存设置标记 参数说明： saved: ture 无论文档是否修改直接关闭文档，不会弹保存提示 false 文档修改后直接关闭文档，会弹保存提示
void | public void setUser(String user) | 设置修订批注的作者名 参数说明： user：修订和批注的作者名称
void | public void saveCurrentPageToImage(String path, PictureFormat picFormat,int index, int posAtScreen, int item, int bkColor, int width,int height) | 对当前页面进行截图保存 参数说明： path：保存路径；picFormat：保存的图片格式；index：页码 posAtScreen 屏幕的位置，取0、1、2三个值，分别代表屏幕顶部、中部、底部对应的页面的页码 index：是否截取修订界面；bkColor：截图背景 width：截图的宽；height：截图的长

【代码示例】（保存文档）

mDoc.save(booleans);


close2()

关闭文档

方法定义

public void close2(WdSaveOptions wdSaveOptions, WdOriginalFormat wdOriginalFormat, boolean booleanValue)

覆盖：类cn.wps.moffice.service.doc.Document中的saveAs

参数描述

参数名 | 类型 | 描述
wdSaveOptions | WdSaveOptions | 指定文档的保存操作。可以是下列WdSaveOptions常量之一： wdDoNotSaveChanges，wdPromptToSaveChanges，wdSaveChanges
wdOriginalFormat | WdOriginalFormat | 指定文档的保存格式。可以是下列WdOriginalFormat常量之一： wdOriginalDocumentFormat，wdPromptUser，wdWordDocument
booleanValue | boolean | 是否作为附件传送到收件人列表，如果文档没有传送名单附件，则忽略此参数.

返回值

Null

使用说明

无

使用示例

public void close2(WdSaveOptions
wdSaveOptions, WdOriginalFormat wdOriginalFormat, boolean booleanValue)
{
try {
mDoc.close2(wdSaveOptions,
wdOriginalFormat, booleanValue);
} catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


save()

保存文档

方法定义

 public void save(boolean booleans)

参数描述

参数名 | 类型 | 描述
booleans | boolean | 如果该属性值为 True，则自动保存所有文档。 如果该属性值为 False，提示用户保存自上次保存后已修改过的每篇文档

返回值

Null

使用说明

无

使用示例

 public void save(boolean
booleans){
try
{
mDoc.save(booleans);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


undoClear()

清除的可以撤消指定文档操作的列表

方法定义

public void undoClear()

返回值

Null

使用说明

无

使用示例

public void undoClear() {
  try {
   mDoc.undoClear();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
 }
父主题： cn.wps.moffice.service.doc.Document.undoClear
KingSoft专有和保密信息
版权所有 ?KingSoft


undo2()

撤销功能。

方法定义

public void undo2(int num)

参数描述

参数名 | 类型 | 描述
num | int | 撤销步数

返回值

Null

使用说明

无

使用示例

 public void undo2(int num) {
try
{
mDoc.undo2(num);
} catch (RemoteException
e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


saveAs()

将当前文档另存文档，可根据传参进行加解密另存后的文档，并且可根据SaveFormat改变另存的文档格式。

方法定义

public void saveAs(String savePath, SaveFormat docFormat, String password, String writePassword)

参数描述

参数名 | 类型 | 描述
savePath | String | 另存文档的绝对路径
docFormat | SaveFormat | 存储文档的格式
password | String | 加密文档访问密码（无密码或绑定OfficeService设定显示wps界面时候无效 传入""）
writePassword | String | 设置或修改密码（无密码或绑定OfficeService设定显示wps界面时候无效 传入""）

返回值

Null

使用说明

绑定OfficeService服务。

抛出：catch (RemoteException e)

使用示例

 private void saveAsDocument()
{
try {
mDoc.saveAs(SAVE_AS_PATH, SaveFormat.DOC, "", "");
} catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


redo2()

重做已撤销的动作。

方法定义

 public void redo2(int num)

参数描述

参数名 | 类型 | 描述
num | int | 重做步数

返回值

Null

使用说明

无

使用示例

 public void redo2(int num) {
try
{
mDoc.redo2(num);
} catch (RemoteException
e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


addDocumentVariable()

添加文档属性标记（settings.xml 中 docVars）

方法定义

public void addDocumentVariable(String key, String value)

参数描述

参数名 | 类型 | 描述
key | String | 文档标记属性对应的key值
value | String | 文档标记的内容

返回值

Null

使用说明

无

使用示例

 public void addDocumentVariable(String key, String
value) {
try {
mDoc.addDocumentVariable(key,
value);
} catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


setSaved()

设置保存设置标记(true:无论文档是否修改直接关闭文档，不会弹保存提示！)

方法定义

public void setSaved(boolean saved)

参数描述

参数名 | 类型 | 描述
saved | boolean | ture 无论文档是否修改直接关闭文档，不会弹保存提示 false 文档修改后直接关闭文档，会弹保存提示

返回值

Null

使用说明

无

使用示例

 public void setSaved(boolean saved)
{
try
{
mDoc.setSaved(saved);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


setUser()

设置修订批注的作者名。

方法定义

public void setUser(String user)

参数描述

参数名 | 类型 | 描述
user | String | 修订和批注的作者名称

返回值

Null

使用说明

无

使用示例

 public void setUser(String user) {
try
{
mDoc.setUser(user);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


saveCurrentPageToImage()

对当前页面进行截图保存

方法定义

public void saveCurrentPageToImage(String path, PictureFormat picFormat,int index, int posAtScreen, int item, int bkColor, int width,int height)

参数描述

参数名 | 类型 | 描述
path | String | 保存路径
picFormat | PictureFormat | 保存的图片格式
index | int | 页码 posAtScreen 屏幕的位置，取0、1、2三个值，分别代表屏幕顶部、中部、底部对应的页面的页码
item | int | 是否截取修订界面
bkColor | int | 截图背景
width | int | 截图的宽
height | int | 截图的长

返回值

Null

使用说明

无

使用示例

public void saveCurrentPageToImage(String path, PictureFormat picFormat,int index, int posAtScreen, int item, int bkColor, int width,int height) {
try {
mDoc.saveCurrentPageToImage(path, picFormat, posAtScreen,index, item, bkColor,
width, height);
return;
} catch (RemoteException e) {
e.printStackTrace();
} catch (Throwable e) {

}

}

父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


文档保护

【简介】 将“文档保护”的相关接口进行统一归纳整理 ，要使用这些接口必须先通过OfficeService对象的openDocument方法获得文档对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
void | public void unprotect(String password) | 解锁文档保护 参数说明： password：文档保护密码
int | public void protect2(WdProtectionType type, boolean noReset,String password, boolean useIRM, boolean enforceStyleLock) | 保护文档（保护指定编辑类型未经授权的文件） 参数说明： type：申请保护的类型 noReset：False:重置表单域为默认值,True :如果该文件是受保护的要保留当前表单域值 password：文档保护密码 useIRM：被保护的文档遇修改时指定是否使用信息权限管理（IRM） enforceStyleLock：是否启用强制保护
boolean | public boolean isProtectOn() | 文档是否处于保护
WdProtectionType | public WdProtectionType getProtectionType2() | 获取文档保护类型 返回值说明： WdProtectionType <枚举值>返回文档保护类型：只读保护、批注保护、修订保护、窗体保护、无保护

【代码示例】（解锁文档保护）

mDoc.unProtectDocument(String password);


unProtectDocument

unprotect()

解锁文档保护。

方法定义

public void unprotect(String password)

参数描述

参数名 | 类型 | 描述
password | String | 文档保护密码

返回值

Null

使用说明

无

使用示例

 public void unprotect(String password)
{
try
{
mDoc.unprotect(password);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


protect2()

保护文档（保护指定编辑类型未经授权的文件）

方法定义

public void protect2(WdProtectionType type, boolean noReset,String password, boolean useIRM, boolean enforceStyleLock)

参数描述

参数名 | 类型 | 描述
type | WdProtectionType | 申请保护的类型
noReset | boolean | False:重置表单域为默认值,True :如果该文件是受保护的要保留当前表单域值， 如果类型不是wdAllowOnlyFormFields，NORESET被忽略。
password | String | 文档保护密码
useIRM | boolean | 被保护的文档遇修改时指定是否使用信息权限管理（IRM）
enforceStyleLock | boolean | 是否启用强制保护

返回值

Null

使用说明

无

使用示例

 public void protect2(WdProtectionType type, boolean
noReset,String password, boolean useIRM, boolean enforceStyleLock)
{
try {
mDoc.protect2(type, noReset,
password, useIRM, enforceStyleLock);
} catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.protect2
KingSoft专有和保密信息
版权所有 ?KingSoft


isProtectOn()

文档是否处于保护

方法定义

public boolean isProtectOn()

返回值

<boolean>当前文档是否被保护

使用说明

无

使用示例

public boolean isProtectOn() {
  try {
   return mDoc.isProtectOn();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return false;
 }
父主题： cn.wps.moffice.service.doc.Document.isProtectOn
KingSoft专有和保密信息
版权所有 ?KingSoft


getProtectionType2()

获取文档保护类型

方法定义

public WdProtectionType getProtectionType2()

返回值

WdProtectionType <枚举值>返回文档保护类型：只读保护、批注保护、修订保护、窗体保护、无保护

使用说明

无

使用示例

 public WdProtectionType getProtectionType2() {
  try {
   return mDoc.getProtectionType2();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return null;
 }
父主题： cn.wps.moffice.service.doc.Document.getProtectionType2
KingSoft专有和保密信息
版权所有 ?KingSoft


其他

【简介】 将“其他”的接口进行统一归纳整理 ，要使用这些接口必须先通过OfficeService对象的openDocument方法获得文档对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
void | public void hiddenToolBar() | 隐藏工具栏
void | public void switchReadMode(boolean isToggle) | 切换文档模式为阅读模式或编辑模式（手机界面使用） 参数说明： true：阅读模式；false：编辑模式
【代码示例】（隐藏工具栏）

mDoc.hiddenToolBar ();


hiddenToolBar()

隐藏工具栏

方法定义

public void hiddenToolBar()
返回值

Null

使用说明

无

使用示例

public void hiddenToolBar() {
  try {
   mDoc.hiddenToolBar();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
 }
父主题： cn.wps.moffice.service.doc.Document.hiddenToolBar
KingSoft专有和保密信息
版权所有 ?KingSoft


switchReadMode/EditMode

switchReadMode(boolean isToggle)

切换文档模式为阅读模式或编辑模式（手机界面使用）

方法定义

public void switchReadMode(boolean isToggle)

使用说明

true：阅读模式

false：编辑模式

使用示例

 public void switchReadMode  () {
  try {
   mDoc.switchReadMode (true);
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return 0;
 }
父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


Font

Font类

【简介】 该接口是 Font对象调用的接口，要使用这些接口必须先通过 Document对象的getFont()方法获得文档Font对象。

【详细参数及方法介绍】

Font 对象及方法摘要
类型 | 方法 | 描述
WdBool | public WdBool getSuperscript() | 获取上标
void | public void setSuperscript(WdBool wdBool) | 设置上标 参数说明： wdBool：枚举值
WdBool | public WdBool getSubscript() | 获取下标
void | public void setSubscript(WdBool wdBool) | 获取文档保护类型 参数说明： wdBool：枚举值
WdBool | public WdBool getSmallCaps() | 选区字母是否全部小写
void | public void setSmallCaps(WdBool wdBool) | 选区字母全部小写 参数说明： wdBool：枚举值
WdBool | public WdBool getAllCaps() | 选区字母是否全部大写
void | public void setAllCaps(WdBool wdBool) | 选区字母全部大写 参数说明： wdBool：枚举值
void | public void setStrikeThrough2(WdBool wdBool) | 设置选区文本删除线 参数说明： wdBool：枚举值
WdBool | public WdBool getDoubleStrikeThrough2() | 获取选区文本双删除线
void | public void setDoubleStrikeThrough2(WdBool wdBool) | 设置选区文本双删除线 参数说明： wdBool：枚举值
void | public void setNoneStrikeThrough() | 取消（单/双）删除线
float | public float getSize() | 获取字体大小
void | public void setSize(int size) | 设置字体大小 参数说明： size：字体大小
void | public void shrink() | 缩小字体
void | public void grow() | 放大字体
void | public void setName(String fontName) | 设置字体名称 参数说明： fontName：字体名称
String | public String getNameFarEast() | 获取中文字体名称
void | public void setNameFarEast(String fontName) | 设置中文字体名称 参数说明： fontName：中文字体名称
String | public String getNameAscii() | 获取西文字体名称
int | public int getUnderlineColor() | 获取下划线颜色
void | public void setUnderlineColor(int color) | 设置下划线颜色 参数说明： color：颜色值
WdUnderline | public WdUnderline getUnderline2() | 获取下划线类型
void | public void setUnderline2(WdUnderline wdUnderline) | 设置下划线 参数说明： WdUnderline：下划线类型，枚举类型
WdBool | public WdBool getBoldBi() | 是否加粗
void | public void setBoldBi(WdBool wdBool) | 设置加粗 参数说明： wdBool：枚举值
void | public void setBold2(WdBool wdBool) | 设置粗体 参数说明： wdBool：枚举值
int | public int getTextColor() | 获取字体颜色
void | public void setTextColor(int color) | 设置字体颜色 参数说明： color：颜色值
WdBool | public WdBool getItalic2() | 是否倾斜
void | public void setItalic2(WdBool wdBool) | 设置斜体 参数说明： wdBool：枚举值

【代码示例】（取消（单/双）删除线）

mFont.setNoneStrikeThrough();


字体上下标

【简介】 将“字体上下标”的相关接口进行统一归纳整理 ，要使用这些接口必须先通过 Document对象的getFont()方法获得文档Font对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
WdBool | public WdBool getSuperscript() | 获取上标
void | public void setSuperscript(WdBool wdBool) | 设置上标 参数说明： wdBool：枚举值
WdBool | public WdBool getSubscript() | 获取下标
void | public void setSubscript(WdBool wdBool) | 获取文档保护类型 参数说明： wdBool：枚举值

【代码示例】（获取上标）

mFont.getSuperscript();


getSuperscript ()

获取上标

方法定义

public WdBool getSuperscript()

参数描述

无

返回值

WdBool类型

使用说明

无

使用示例

 public
WdBool getSuperscript(){
try {
return
mFont.getSuperscript();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Font


setSuperscript()

设置上标

方法定义

public void setSuperscript(WdBool wdBool)

参数描述

参数名 | 类型 | 描述
wdBool | WdBool | 枚举值

返回值

Null

使用说明

无

使用示例

 public void setSuperscript(WdBool
wdBool){
try
{
mFont.setSuperscript(wdBool);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Font


getSubscript ()

获取下标

方法定义

public WdBool getSubscript()

参数描述

无

返回值

WdBool类型

使用说明

无

使用示例

 public
WdBool getSubscript(){
try {
return
mFont.getSubscript();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Font


setSubscript()

设置下标

方法定义

public void setSubscript(WdBool wdBool)

参数描述

参数名 | 类型 | 描述
wdBool | WdBool | 枚举值

返回值

null

使用说明

无

使用示例

 public void setSubscript(WdBool
wdBool){
try
{
mFont.setSubscript(wdBool);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Font


选区字母大小写

【简介】 将“选区字母大小写”的相关接口进行统一归纳整理 ，要使用这些接口必须先通过 Document对象的getFont()方法获得文档Font对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
WdBool | public WdBool getSmallCaps() | 选区字母是否全部小写
void | public void setSmallCaps(WdBool wdBool) | 选区字母全部小写 参数说明： wdBool：枚举值
WdBool | public WdBool getAllCaps() | 选区字母是否全部大写
void | public void setAllCaps(WdBool wdBool) | 选区字母全部大写 参数说明： wdBool：枚举值

【代码示例】（选区字母是否全部小写）

mFont.getSmallCaps();


getSmallCaps ()

选区字母是否全部小写

方法定义

public WdBool getSmallCaps()

参数描述

无

返回值

WdBool类型

使用说明

无

使用示例

 public
WdBool getSmallCaps(){
try {
return
mFont.getSmallCaps();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Font


setSmallCaps()

选区字母全部小写

方法定义

public void setSmallCaps(WdBool wdBool)

参数描述

参数名 | 类型 | 描述
wdBool | WdBool | 枚举值

返回值

Null

使用说明

无

使用示例

 public void setSmallCaps(WdBool
wdBool){
try
{
mFont.setSmallCaps(wdBool);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Font


getAllCaps()

选区字母是否全部大写

方法定义

public WdBool getAllCaps()

参数描述

无

返回值

WdBool类型

使用说明

无

使用示例

  public WdBool getAllCaps(){
try
{
return mFont.getAllCaps();
} catch
(RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Font


setAllCaps()

选区字母全部大写

方法定义

public void setAllCaps(WdBool wdBool)

参数描述

参数名 | 类型 | 描述
wdBool | WdBool | 枚举值

返回值

Null

使用说明

无

使用示例

  public void setAllCaps(WdBool
wdBool){
try
{
mFont.setAllCaps(wdBool);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Font


字体删除线

【简介】 将“字体删除线”的相关接口进行统一归纳整理 ，要使用这些接口必须先通过 Document对象的getFont()方法获得文档Font对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
void | public void setStrikeThrough2(WdBool wdBool) | 设置选区文本删除线 参数说明： wdBool：枚举值
WdBool | public WdBool getDoubleStrikeThrough2() | 获取选区文本双删除线
void | public void setDoubleStrikeThrough2(WdBool wdBool) | 设置选区文本双删除线 参数说明： wdBool：枚举值
void | public void setNoneStrikeThrough() | 取消（单/双）删除线

【代码示例】（取消（单/双）删除线）

mFont.setNoneStrikeThrough();


setStrikeThrough2 ()

设置选区文本删除线

方法定义

public void setStrikeThrough2(WdBool wdBool)

参数描述

参数名 | 类型 | 描述
wdBool | WdBool | 枚举值

返回值

Null

使用说明

无

使用示例

 public void setStrikeThrough2(WdBool
wdBool){
try
{
mFont.setStrikeThrough2(wdBool);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Font


getDoubleStrikeThrough2 ()

获取选区文本双删除线

方法定义

public WdBool getDoubleStrikeThrough2()

参数描述

无

返回值

WdBool类型

使用说明

无

使用示例

  public WdBool
getDoubleStrikeThrough2(){
try {
return
mFont.getDoubleStrikeThrough2();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Font


setDoubleStrikeThrough2()

设置选区文本双删除线

方法定义

public void setDoubleStrikeThrough2(WdBool wdBool)

参数描述

参数名 | 类型 | 描述
wdBool | WdBool | 枚举值

返回值

Null

使用说明

无

使用示例

 public void setDoubleStrikeThrough2(WdBool
wdBool){
try
{
mFont.setStrikeThrough2(wdBool);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Font


setNoneStrikeThrough()

取消（单/双）删除线

方法定义

public void setNoneStrikeThrough()

参数描述

无

返回值

null

使用说明

无

使用示例

  public void
setNoneStrikeThrough(){
try
{
mFont.setNoneStrikeThrough();
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Font


字体大小

【简介】 将“字体大小”的相关接口进行统一归纳整理 ，要使用这些接口必须先通过 Document对象的getFont()方法获得文档Font对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
float | public float getSize() | 获取字体大小
void | public void setSize(int size) | 设置字体大小 参数说明： size：字体大小
void | public void shrink() | 缩小字体
void | public void grow() | 放大字体

【代码示例】（放大字体）

mFont.grow();


getSize()

获取字体大小

方法定义

public float getSize()

参数描述

无

返回值

float

使用说明

无

使用示例

 public
float getSize(){
try {
return
mFont.getSize();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
-1;
}

父主题： cn.wps.moffice.service.doc.Font


setSize ()

设置字体大小

方法定义

public void setSize(int size)

参数描述

参数名 | 类型 | 描述
size | int | 字体大小

返回值

Null

使用说明

无

使用示例

 public void setSize(int size){
try
{
mFont.setSize(size);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Font


shrink()

缩小字体

方法定义

public void shrink()

参数描述

无

返回值

null

使用说明

无

使用示例

 public
void shrink(){
try
{
mFont.shrink();
} catch (RemoteException
e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Font


grow ()

放大字体

方法定义

public void grow()

参数描述

无

返回值

null

使用说明

无

使用示例

 public
void grow(){
try
{
mFont.grow();
} catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Font


字体名称

【简介】 将“字体名称”的相关接口进行统一归纳整理 ，要使用这些接口必须先通过 Document对象的getFont()方法获得文档Font对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
void | public void setName(String fontName) | 设置字体名称 参数说明： fontName：字体名称
String | public String getNameFarEast() | 获取中文字体名称
void | public void setNameFarEast(String fontName) | 设置中文字体名称 参数说明： fontName：中文字体名称
String | public String getNameAscii() | 获取西文字体名称
【代码示例】（获取西文字体名称）

mFont.getNameAscii();


setName()

设置字体名称

方法定义

public void setName(String fontName)

参数描述

参数名 | 类型 | 描述
fontName | String | 字体名称

返回值

Null

使用说明

无

使用示例

 public void setName(String
fontName){
try
{
mFont.setName(fontName);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Font


getNameFarEast()

获取中文字体名称

方法定义

public String getNameFarEast()

参数描述

无

返回值

String

使用说明

无

使用示例

 public
String getNameFarEast(){
try {
return
mFont.getNameFarEast();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Font


setNameFarEast ()

设置中文字体名称

方法定义

public void setNameFarEast(String fontName)

参数描述

参数名 | 类型 | 描述
fontName | String | 中文字体名称

返回值

Null

使用说明

无

使用示例

 public void setNameFarEast(String
fontName){
try
{
mFont.setNameFarEast(fontName);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Font


getNameAscii ()

获取西文字体名称

方法定义

public String getNameAscii()

参数描述

无

返回值

String

使用说明

无

使用示例

 public
String getNameAscii(){
try {
return
mFont.getNameAscii();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Font


下划线

【简介】 将“下划线”的相关接口进行统一归纳整理 ，要使用这些接口必须先通过 Document对象的getFont()方法获得文档Font对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
int | public int getUnderlineColor() | 获取下划线颜色
void | public void setUnderlineColor(int color) | 设置下划线颜色 参数说明： color：颜色值
WdUnderline | public WdUnderline getUnderline2() | 获取下划线类型
void | public void setUnderline2(WdUnderline wdUnderline) | 设置下划线 参数说明： WdUnderline：下划线类型，枚举类型
【代码示例】（获取下划线颜色）

mFont.getUnderlineColor();


getUnderlineColor()

获取下划线颜色

方法定义

public int getUnderlineColor()

参数描述

无

返回值

int

使用说明

无

使用示例

 public
int getUnderlineColor(){
try {
return
mFont.getUnderlineColor();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
-1;
}

父主题： cn.wps.moffice.service.doc.Font


setUnderlineColor()

设置下划线颜色

方法定义

public void setUnderlineColor(int color)

参数描述

参数名 | 类型 | 描述
color | int | 颜色值

返回值

Null

使用说明

无

使用示例

public void setUnderlineColor(int
color){
try
{
mFont.setUnderlineColor(color);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Font


getUnderline2()

获取下划线类型

方法定义

public WdUnderline getUnderline2()

参数描述

无

返回值

WdUnderline

使用说明

无

使用示例

public
WdUnderline getUnderline2(){
try {
return
mFont.getUnderline2();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Font


setUnderline2()

设置下划线

方法定义

public void setUnderline2(WdUnderline wdUnderline)

参数描述

参数名 | 类型 | 描述
wdUnderline | wdUnderline | 下划线类型：枚举类型

返回值

Null

使用说明

无

使用示例

 public void setUnderline2(WdUnderline
wdUnderline){
try
{
mFont.setUnderline2(wdUnderline);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Font


字体加粗

【简介】 将“字体加粗”的相关接口进行统一归纳整理 ，要使用这些接口必须先通过 Document对象的getFont()方法获得文档Font对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
void | public void setBoldBi(WdBool wdBool) | 设置加粗 参数说明： wdBool：枚举值

【代码示例】（设置粗体）

mFont.setBold2(wdBool);


setBold2()

设置粗体

方法定义

public void setBold2(WdBool wdBool)

参数描述

参数名 | 类型 | 描述
wdBool | WdBool | <枚举值>False, true, wdToggle

返回值

Null

使用说明

无

使用示例

  public void setBold2(WdBool
wdBool){
try
{
mFont.setBold2(wdBool);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Font


字体颜色

【简介】 将“字体颜色”的相关接口进行统一归纳整理 ，要使用这些接口必须先通过 Document对象的getFont()方法获得文档Font对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
int | public int getTextColor() | 获取字体颜色
void | public void setTextColor(int color) | 设置字体颜色 参数说明： color：颜色值

【代码示例】（获取字体颜色）

mFont.getTextColor();


getTextColor()

获取字体颜色

方法定义

public int getTextColor()

参数描述

无

返回值

int

使用说明

无

使用示例

  public int getTextColor(){
try
{
return mFont.getTextColor();
} catch
(RemoteException e)
{
e.printStackTrace();
}
return
-1;
}

父主题： cn.wps.moffice.service.doc.Font


setTextColor()

设置字体颜色

方法定义

public void setTextColor(int color)

参数描述

参数名 | 类型 | 描述
color | int | 颜色值

返回值

Null

使用说明

无

使用示例

 public void setTextColor(int
color){
try
{
mFont.setTextColor(color);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Font


字体倾斜

【简介】 将“字体倾斜”的相关接口进行统一归纳整理 ，要使用这些接口必须先通过 Document对象的getFont()方法获得文档Font对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
WdBool | public WdBool getItalic2() | 是否倾斜
void | public void setItalic2(WdBool wdBool) | 设置斜体 参数说明： wdBool：枚举值

【代码示例】（是否倾斜）

mFont.getItalic2();


getItalic2()

是否倾斜

方法定义

public WdBool getItalic2()

参数描述

无

返回值

WdBool

使用说明

无

使用示例

  public WdBool getItalic2(){
try
{
return mFont.getItalic2();
} catch
(RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Font


setItalic2()

设置斜体

方法定义

public void setItalic2(WdBool wdBool)

参数描述

参数名 | 类型 | 描述
wdBool | WdBool | <枚举值>False, true, wdToggle

返回值

Null

使用说明

无

使用示例

  public void setItalic2(WdBool
wdBool){
try
{
mFont.setItalic2(wdBool);
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Font


对象

Shapes类

【简介】 该接口是shapes对象的操作接口，首先需要使用Document对象的getShapes()接口获得对象，才可以插入图片。

【详细参数及方法介绍】

Shapes对象及方法摘要
类型 | 方法 | 描述
void | addPicture(String filePath, boolean linkToFile, boolean saveWithDocument,float left, float top, float width, float height, int cp, WrapType wrapType); | 添加图片 参数说明： filePath: 图片路径 inkToFile:如果为 True，则将图片链接到创建它的文件；如果为 False，则使图片成为该文件的独立副本。默认值为 False。 saveWithDocument:如果为 True，则将链接的图片与文档一起保存。默认值为 False。 left ：图片左边缘 top：图片上边缘 width：图片宽度 height：图片高度 cp：图片插入点（如果是空文档，值应设为0） WrapType：绕排类型，只能取值：Square, Tight, TopOfText, BottomOfText
void | public void addTextbox2(MsoTextOrientation orientation, int left, int top, int width, int height, Range anchor) | 添加图标（推荐使用） 参数说明： orientation 插入文本方向 left ：图片左边缘 top：图片上边缘 width：图片宽度 height：图片高度 anchor:对象的锚点。Ex：getSelection().getRange()
void | public void addShape(MsoAutoShapeType type, int left, int top, int width, int height, Range anchor) | 添加自选图形 参数说明： type 自选图形形状 MsoAutoShapeType left ：对象左上角的x坐标 top：对象左上角的y坐标 width：对象的宽度 height：对象高度 anchor:对象的锚点
long | public long getCount() | 获取shape数量
Shape | public Shape item(int item) | 获取指定Shape对象 参数说明： item: 对象的index
void | public void addOLEControl(String classType, int left, int top, int width,int height, Range anchor) | 添加OLE控件 （注：使用该接口之前必须先注册要插入的OLE控件，否则不能添加成功） 参数说明： classType: OLE控件名称 Ex:DSEAL.DsealCtrl.1 left ：图片左边缘 top：图片上边缘 width：图片宽度 height：图片高度 anchor:对象的锚点

【代码示例】

1、插入图片

mDoc.getShapes().addPicture(filePath, linkToFile, saveWithDocument, mLeaf, mTop, width, height, mCp, WrapType.valueOf(wrapType));

其中部分参数如下：
float mLeaf = mDoc.getSelection().getLeft();
float mTop = mDoc.getSelection().getTop();

int mCp = mDoc.getSelection().getStart(); //< /FONT > 获取选区的开始位置，始终在选区的开始插入图片，getEnd可以获取选区的结束为止，其他参数不变

2、插入文本框

mDoc.getShapes().addTextBox(100,100,50, 50, 0x00ff0000, false, 0x0000ff00, false, 0x0000ff, (float) 20.5, "宋体", "通过！");


addShape()

添加自选图形

方法定义

public void addShape(MsoAutoShapeType type, int left, int top, int width, int height, Range anchor)

参数描述

参数名 | 类型 | 描述
type | MsoAutoShapeType | 自选图形形状 MsoAutoShapeType
left | int | 对象左上角的x坐标
top | int | 对象左上角的y坐标
width | int | 对象的宽度
height | int | 对象高度
anchor | Range | 对象的锚点

返回值

Null

使用说明

无

使用示例

 public void addShape(MsoAutoShapeType type, int left,
int top, int width, int height, Range anchor) {
try
{
mDoc.getShapes().addShape(type, left, top, width, height,
anchor);
} catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Shapes
KingSoft专有和保密信息
版权所有 ?KingSoft


addTextbox2()

添加文本框2

方法定义

public void addTextbox2(MsoTextOrientation orientation, int left, int top, int width, int height, Range anchor)
参数描述
参数名 | 类型 | 描述
orientation | MsoTextOrientation | 插入文本方向
left | int | 文本框左上角的x坐标
top | int | 文本框左上角的y坐标
width | int | 文本框宽
height | int | 文本框高
anchor | Range | 对象的锚点。Ex：getSelection().getRange()

返回值

Null

使用说明

无

使用示例

public void addTextbox2(MsoTextOrientation orientation, int
left, int top, int width, int height, Range anchor) {
try
{
mDoc.getShapes().addTextbox2(orientation,left,top,width,height,anchor);
}
catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc. Shapes
KingSoft专有和保密信息
版权所有 ?KingSoft


getCount()

获取shape数量

方法定义

public long getCount()

返回值

long

使用说明

无

使用示例

 public long getCount(){
  try {
   return mDoc.getShapes().getCount();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return -1;

   }
父主题： cn.wps.moffice.service.doc.Shapes.getCount
KingSoft专有和保密信息
版权所有 ?KingSoft


item()

获取指定Shape对象

方法定义

public Shape item(int item)

参数描述

参数名 | 类型 | 描述
item | int | 对象的index

返回值

Shape

使用说明

无

使用示例

public Shape item(int item){
try
{
return mDoc.getShapes().item(item);
}
catch (RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Shapes
KingSoft专有和保密信息
版权所有 ?KingSoft


addOLEControl()

添加OLE控件 （注：使用该接口之前必须先注册要插入的OLE控件，否则不能添加成功）

方法定义

public void addOLEControl(String classType, int left, int top, int width,int height, Range anchor)

参数描述

参数名 | 类型 | 描述
classType | String | OLE控件名称。Ex:DSEAL.DsealCtrl.1
left | int | 文档的左边位置
top | int | 文档的顶部位置
width | int | 图片的宽度
height | int | 图片的高度
anchor | Range | 对象的锚点

返回值

Null

使用说明

无

使用示例

 public void addOLEControl(String classType, int left,
int top, int width,int height, Range anchor) {
try
{
mDoc.getShapes().addOLEControl(classType, left, top,
width, height, anchor);
} catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Shapes
KingSoft专有和保密信息
版权所有 ?KingSoft


获取对象操作

Shape类

【简介】 该接口是 Shape对象调用的接口，要使用这些接口必须先通过 Document对象的getShapes()方法获得文档shape对象。

【详细参数及方法介绍】

Shape对象及方法摘要
类型 | 方法 | 描述
MsoTriState | public MsoTriState hasInk(int item) | 判断对象是否为墨迹对象 参数说明： item：文档中对象的ID
IPictureFormat | public IPictureFormat getIPictureFormat(int num) | 获取图片格式
OLE | public OLE getOLE(int item) | 获得OLE对象
void | public void incrementTop(int item,int moveXY) | 垂直方向移动对象 参数说明： moveXY：移动的坐标值（移动结果=原来坐标+参数坐标值） item：对象index
void | public void incrementLeft(int item,int moveXY) | 水平方向移动对象 参数说明： moveXY：移动的坐标值（移动结果=原来坐标+参数坐标值） item：对象index
WrapFormat | public WrapFormat getWrapFormat(int item) | 获取对象绕排方式 参数说明： item：对象index
int | public int getWidth(int item) | 获取对象宽度
MsoTriState | public MsoTriState setVisible(int item, MsoTriState isState) | 设置对象的是否可见 参数说明： item：对象index
MsoTriState | public MsoTriState getVisible(int item) | 对象的可见状态 参数说明： item：对象index
MsoShapeType | public MsoShapeType getType(int item) | 获取对象类型 参数说明： item：对象index
int | public int getTop(int item) | 获取对象顶部位置 参数说明： item：对象index
TextFrame | public TextFrame getTextFrame(int item) | 获取文本框对象 参数说明： item：对象index
LineFormat | public LineFormat getLine(int item) | 获取线性对象 参数说明： item：对象index
int | public int getLeft(int item) | 获取对象水平位置 参数说明： item：对象index
int | public int getHeight(int item) | 获取对象高度 参数说明： item：对象index
GroupShapes | public GroupShapes getGroupItems(int item) | 获取GroupShapes组合对象 参数说明： item：对象index
FillFormat | public FillFormat getFill(int item) | 获取对象填充格式 参数说明： item：对象index
String | public String getAlternativeText(int item) | 获取对象描述 参数说明： item：对象index
void | public void setAlternativeText(int item, String text) | 为对象设置描述 参数说明： text: 描述内容 item：对象index

【代码示例】（获取对象的绕排方式）

mDoc.getShapes().item(1).getWrapFormat();


hasInk()

判断对象是否为墨迹对象

方法定义

public MsoTriState hasInk(int item)

参数描述

参数名 | 类型 | 描述
item | int | 文档中对象的ID

返回值

MsoTriState 类型的布尔值

使用说明

无

使用示例

**
* 判断对象是否为墨迹对象
* @param item
* @return
*/
public MsoTriState hasInk(int item){
try {
return mDoc.getShapes().item(item).hasInk();
} catch (RemoteException e) {
e.printStackTrace();
}
return null;
}

父主题： cn.wps.moffice.service.doc. Shape


getIPictureFormat()

获取图片格式

方法定义

public IPictureFormat getIPictureFormat(int num)

参数描述

参数名 | 类型 | 描述
num | int | 文档中第几个图片，即文档中图片的index

返回值

IPictureFormat:图片格式

使用说明

无

使用示例

 public IPictureFormat getIPictureFormat(int num)
{
try {
return
mDoc.getShapes().item(num).getIPictureFormat();
} catch
(RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc. Shape


getOLE()

获得OLE对象

方法定义

public OLE getOLE(int item)

参数描述

参数名 | 类型 | 描述
item | int | 对象index

返回值

OLE 对象

使用说明

无

使用示例

  public OLE getOLE(int item){
try
{
return
mDoc.getShapes().item(item).getOLE();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc. Shape


incrementTop()

垂直移动对象

方法定义

public void incrementTop(int item,int moveXY)

参数描述

参数名 | 类型 | 描述
moveXY | int | 移动的坐标值（移动结果=原来坐标+参数坐标值）
item | int | 对象index

返回值

Null

使用说明

无

使用示例

  public void incrementTop(int item,int
moveXY){
try
{
mDoc.getShapes().item(item).incrementTop(moveXY);
}
catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc. Shape


incrementLeft()

水平移动对象

方法定义

public void incrementLeft(int item,int moveXY)

参数描述

参数名 | 类型 | 描述
moveXY | int | 移动的坐标值（移动结果=原来坐标+参数坐标值）
item | int | 对象index

返回值

Null

使用说明

无

使用示例

 public void incrementLeft(int item,int
moveXY){
try
{
mDoc.getShapes().item(item).incrementLeft(moveXY);
}
catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc. Shape


getWrapFormat()

获取对象绕排方式

方法定义

public WrapFormat getWrapFormat(int item)

参数描述

参数名 | 类型 | 描述
item | int | 对象index

返回值

WrapFormat

使用说明

无

使用示例

 public WrapFormat getWrapFormat(int
item){
try {
return
mDoc.getShapes().item(item).getWrapFormat();
} catch
(RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc. Shape


getWidth()

获取对象宽度

方法定义

public int getWidth(int item)

参数描述

参数名 | 类型 | 描述
item | int | 对象index

返回值

<int-整型> 对象的宽度值

使用说明

无

使用示例

 public int getWidth(int item){
try
{
return
mDoc.getShapes().item(item).getWidth();
} catch (RemoteException
e)
{
e.printStackTrace();
}
return
-1;
}

父主题： cn.wps.moffice.service.doc.Shape


setVisible()

设置对象的是否可见

方法定义

public MsoTriState setVisible(int item, MsoTriState isState)

参数描述

参数名 | 类型 | 描述
isState | MsoTriState | <MsoTriState枚举类型>
item | int | 对象index

返回值

MsoTriState

使用说明

无

使用示例

 public MsoTriState setVisible(int item, MsoTriState
isState){
try
{
mDoc.getShapes().item(item).setVisible(isState);
}
catch (RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc. Shape


getVisible()

对象的可见状态

方法定义

public MsoTriState getVisible(int item)

参数描述

参数名 | 类型 | 描述
item | int | 对象index

返回值

MsoTriState

使用说明

无

使用示例

  public MsoTriState getVisible(int
item){
try {
return
mDoc.getShapes().item(item).getVisible();
} catch
(RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc. Shape


getType()

获取对象类型

方法定义

public MsoShapeType getType(int item)

参数描述

参数名 | 类型 | 描述
item | int | 对象index

返回值

MsoShapeType

使用说明

无

使用示例

 public MsoShapeType getType(int
item){
try {
return
mDoc.getShapes().item(item).getType();
} catch (RemoteException
e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Shape


getTop()

获取对象顶部位置

方法定义

public int getTop(int item)

参数描述

参数名 | 类型 | 描述
item | int | 对象index

返回值

int

使用说明

无

使用示例

 public int getTop(int item){
try
{
return
mDoc.getShapes().item(item).getTop();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
-1;
}

父主题： cn.wps.moffice.service.doc.Shape


getTextFrame()

获取文本框对象

方法定义

public TextFrame getTextFrame(int item)

参数描述

参数名 | 类型 | 描述
item | int | 对象index

返回值

TextFrame

使用说明

无

使用示例

 public TextFrame getTextFrame(int
item){
try {
return
mDoc.getShapes().item(item).getTextFrame();
} catch
(RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Shape


getLine()

获取线性对象

方法定义

public LineFormat getLine(int item)

参数描述

无

返回值

LineFormat

使用说明

无

使用示例

  public LineFormat getLine(int
item){
try {
return
mDoc.getShapes().item(item).getLine();
} catch (RemoteException
e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Shape


getLeft()

获取对象水平位置

方法定义

public int getLeft(int item)

参数描述

参数名 | 类型 | 描述
item | int | 对象index

返回值

<int-整型> 对象距离页面左边距

使用说明

无

使用示例

 public int getLeft(int item){
try
{
return
mDoc.getShapes().item(item).getLeft();
} catch (RemoteException
e)
{
e.printStackTrace();
}
return
-1;
}

父主题： cn.wps.moffice.service.doc.Shape


getHeight()

获取对象高度

方法定义

public int getHeight(int item)

参数描述

参数名 | 类型 | 描述
item | int | 对象index

返回值

<int-整型> 对象的高度值

使用说明

无

使用示例

 public int getHeight(int item){
try
{
return
mDoc.getShapes().item(item).getHeight();
} catch (RemoteException
e)
{
e.printStackTrace();
}
return
-1;
}

父主题： cn.wps.moffice.service.doc.Shape


getGroupItems()

获取GroupShapes组合对象

方法定义

public GroupShapes getGroupItems(int item)

参数描述

参数名 | 类型 | 描述
item | int | 对象index

返回值

GroupShapes

使用说明

无

使用示例

  public GroupShapes getGroupItems(int
item){
try {
return
mDoc.getShapes().item(item).getGroupItems();
} catch
(RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Shape


getFill()

获取对象填充格式

方法定义

public FillFormat getFill(int item)

参数描述

参数名 | 类型 | 描述
item | int | 对象index

返回值

FillFormat

使用说明

无

使用示例

 public FillFormat getFill(int
item){
try {
return
mDoc.getShapes().item(item).getFill();
} catch (RemoteException
e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Shape


getAlternativeText()

获取对象描述

方法定义

public String getAlternativeText(int item)

参数描述

参数名 | 类型 | 描述
item | int | 对象index

返回值

<String>对象中的文本

使用说明

无

使用示例

 public String getAlternativeText(int
item){
try
{
mDoc.getShapes().item(item).getAlternativeText();
}
catch (RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc. Shape


setAlternativeText()

为对象设置描述

方法定义

public void setAlternativeText(int item, String text)

参数描述

参数名 | 类型 | 描述
text | String | 描述内容
item | int | 对象index

返回值

Null

使用说明

无

使用示例

 public void setAlternativeText(int item, String
text){
try
{
mDoc.getShapes().item(item).setAlternativeText(text);
}
catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc. Shape


View

View类

【简介】 该接口是 View对象调用的接口，要使用这些接口必须先通过 Document对象的getActiveWindow().getView()方法获得文档view对象。

【详细参数及方法介绍】

View对象及方法摘要
类型 | 方法 | 描述
void | public void putRevisionsView(WdRevisionsView isRevisionsView) | 设置修订视图显示状态 参数说明： isRevisionsView：boolean值，True表示显示修订信息，False则相反
void | public void putShowRevisionsAndComments(boolean isRC) | 设置是否显示修订和批注界面 参数说明： isRC：boolean值，True表示显示修订与批注信息，False则相反
boolean | public boolean getShowRevisionsAndComments() | 是否显示修订和批注界面
WdRevisionsView | public WdRevisionsView getRevisionsView() | 获取修订视图显示状态

【代码示例】（查看当前文档是否为修订模式）

mDoc.getActiveWindow().getView().getRevisionsView();


putRevisionsView()

设置修订视图显示状态。

方法定义

public void putRevisionsView(WdRevisionsView isRevisionsView)

参数描述

参数名 | 类型 | 描述
isRevisionsView | WdRevisionsView | <WdRevisionsView 枚举类型>

返回值

Null

使用说明

无

使用示例

 public void putRevisionsView(WdRevisionsView
isRevisionsView) {
try
{
mView.putRevisionsView(isRevisionsView);
}
catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.view
KingSoft专有和保密信息
版权所有 ?KingSoft


putShowRevisionsAndComments()

设置是否显示修订和批注界面。

方法定义

public void putShowRevisionsAndComments(boolean isRC)

参数描述

参数名 | 类型 | 描述
isRC | boolean | True-为显示，False-为不显示修订和批注界面

返回值

Null

使用说明

无

使用示例

 public void putShowRevisionsAndComments(boolean isRC)
{
try
{
mView.putShowRevisionsAndComments(isRC);
}
catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


getShowRevisionsAndComments()

是否显示修订和批注界面

方法定义

public boolean getShowRevisionsAndComments()

返回值

<boolean> True为显示状态，False为隐藏状态

使用说明

无

使用示例

public boolean getShowRevisionsAndComments() {
  try {
   return mView.getShowRevisionsAndComments();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return false;

   }
父主题： cn.wps.moffice.service.doc.Document.View
KingSoft专有和保密信息
版权所有 ?KingSoft


getRevisionsView()

获取修订视图显示状态

方法定义

public WdRevisionsView getRevisionsView()

返回值

WdRevisionsView

使用说明

无

使用示例

public WdRevisionsView getRevisionsView() {
  try {
   return mView.getRevisionsView();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return null;

   }
父主题： cn.wps.moffice.service.doc.Document.View
KingSoft专有和保密信息
版权所有 ?KingSoft


获取选区

Selection类

【简介】 该接口是 Selection对象调用的接口，要使用这些接口必须先通过 Document对象的getSelectinon()方法获得文档Selection对象。

【详细参数及方法介绍】

Selection对象及方法摘要
类型 | 方法 | 描述
void | copy(); | 复制选区
void | cut(); | 剪切选区
void | Paste(); | 粘贴内容到选区
void | typeText(String text) | 将文本插入所选选区
String | getText(); | 返回选区中的所有字符
void | insertParagraph(); | 用新段落替换选区内容
InlineShapes | getInlineShapes(); | 获取选区内嵌入式对象
float | getLeft(); | 获取选取当前的位置： Left是相对页面
float | getTop(); | 获取选取当前的位置： Left是相对页面
int | getStart()； | 获取当前selection的startCp
int | getEnd(); | 获取当前selection的EndCp
void | setSelection(int start, int end, boolean scrollToVisible); | 设置选区从start到end，scrollToVisible为是否滚动到选区
boolean | addComment(String text); | 在当前选区添加一个批注，text是批注的内容，返回值表示添加批注是否成功
Font | getFont(); | 获取当前选区的字体对象，以便可以设置字体，具体见下面Font对象的使用
ShapeRange | getShapeRange() | 获取shapeRange对象（即子对象中的Range范围）
Range | getRange() | 获取活动的文档对象
Variant | getInformation(WdInformation information) | 获取选区基本信息 参数说明： information：WdInformation<枚举类型> 指定的信息类型返回有关指定或选择范围

【代码示例】复制选区

mDoc.getSelection().copy();

注：在复制文字的时候，需要在wps中选中一段文字，这样才能复制文字。


getShapeRange()

获取shapeRange对象（即子对象中的Range范围）

方法定义

public ShapeRange getShapeRange()
返回值

返回一个ShapeRange对象

使用说明

无

使用示例

public ShapeRange getShapeRange(){
  try {
   return mDoc.getSelection().getShapeRange();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return null;
 }
父主题： cn.wps.moffice.service.doc.Document.Selection
KingSoft专有和保密信息
版权所有 ?KingSoft


getRange()

获取活动的文档对象

方法定义

public Range getRange()
返回值

返回一个Range对象

使用说明

无

使用示例

public Range getRange() {
  try {
   return mDoc.getSelection().getRange();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return null;
 }
父主题： cn.wps.moffice.service.doc.Document.Selection
KingSoft专有和保密信息
版权所有 ?KingSoft


getInformation()

获取选区基本信息。

方法定义

public Variant getInformation(WdInformation information)

参数描述

参数名 | 类型 | 描述
information | WdInformation | WdInformation<枚举类型> 指定的信息类型返回有关指定或选择范围

返回值

Variant

使用说明

无

使用示例

 public Variant getInformation(WdInformation
information){
try {
return
mDoc.getSelection().getInformation(information);
} catch
(RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Selection
KingSoft专有和保密信息
版权所有 ?KingSoft


选区操作

【简介】通过调用Document的getSelection方法获得对象，对wps选区进行操作

【详细参数及方法介绍】

Selection对象及方法摘要
类型 | 方法 | 描述
void | copy(); | 复制选区
void | cut(); | 剪切选区
void | Paste(); | 粘贴内容到选区
void | typeText(String text) | 将文本插入所选选区
String | getText(); | 返回选区中的所有字符
void | insertParagraph(); | 用新段落替换选区内容
InlineShapes | getInlineShapes(); | 获取选区内嵌入式对象
float | getLeft(); | 获取选取当前的位置： Left是相对页面
float | getTop(); | 获取选取当前的位置： Left是相对页面
int | getStart()； | 获取当前selection的startCp
int | getEnd(); | 获取当前selection的EndCp
void | setSelection(int start, int end, boolean scrollToVisible); | 设置选区从start到end，scrollToVisible为是否滚动到选区
boolean | addComment(String text); | 在当前选区添加一个批注，text是批注的内容，返回值表示添加批注是否成功
Font | getFont(); | 获取当前选区的字体对象，以便可以设置字体，具体见下面Font对象的使用

【代码示例】复制选区

mDoc.getSelection().copy();

注：在复制文字的时候，需要在wps中选中一段文字，这样才能复制文字。


连续区域

Range类

【简介】对象引用文档中的某一连续区域。 每个 Range 对象都是通过开始和结束字符位置来定义的； 要使用这些接口必须先通过 Document 对象的range()方法获得文档range对象。

【详细参数及方法介绍】

Range对象及方法摘要
类型 | 方法 | 描述
Range | public Range range(int sCp, int eCp) | 通过使用指定的起始和结束字符位置返回一个Range对象 参数说明： sCp：起始字符位置 eCp：结束字符位置
void | public void copy(int sCp, int eCp) | 复制选区内容到剪贴板
void | public void paste(int sCp, int eCp) | 粘贴剪贴板内容到文档
void | public void collapse(int sCp, int eCp, WdCollapseDirection collapse) | 将选区折叠(相当于定位光标)
Variant | public Variant setStyle(int sCp, int eCp,Variant style) | 设置正文主题样式 参数说明： style：正文样式类型
Variant | public Variant getStyle(int sCp, int eCp) | 获取主题样式
void | public void setUnderline (int sCp, int eCp,WdUnderline underline) | 设置下划线样式 参数说明： underline：下划线样式<枚举值>
WdUnderline | public WdUnderline getUnderline(int sCp, int eCp) | 获取下划线样式
void | public void setBold (int sCp, int eCp,boolean bold) | 设置/取消加粗字体 参数说明： bold：boolean值，True设置加粗，False则取消加粗
boolean | public boolean isBold(int sCp, int eCp) | 判断选区文本是否加粗效果 参数说明： sCp：起始字符位置 eCp：结束字符位置判断选区文本是否倾斜效果
Font | public Font getFont(int sCp, int eCp) | 获取Range范围字体 参数说明： sCp：起始字符位置 eCp：结束字符位置
void | public void setEnd(int sCp, int eCp, long start) | 设置range的结束CP值 参数说明： sCp：起始字符位置 eCp：结束字符位置
long | public long getEnd(int sCp, int eCp) | 获取结束Cp位置 参数说明： sCp：起始字符位置 eCp：结束字符位置
void | public void setStart(int sCp, int eCp, long start) | 获取结束Cp位置 参数说明： sCp：起始字符位置 eCp：结束字符位置
long | public long getStart(int sCp, int eCp) | 获取起始Cp位置 参数说明： sCp：起始字符位置 eCp：结束字符位置
void | public void setText(int sCp, int eCp) | 修改指定Range范围中的文本 参数说明： sCp：起始字符位置 eCp：结束字符位置
String | public String getText(int sCp, int eCp) | 获取某个区域段的文本内容 参数说明： sCp：起始字符位置 eCp：结束字符位置

【代码示例】（设置选区1~3之间文本加粗效果）

mDoc.range(1, 3).setBold(true)；


range()

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

方法定义

public Range range(int sCp, int eCp)

参数描述

参数名 | 类型 | 描述
sCp | int | 起始字符位置
eCp | int | 结束字符位置

返回值

<Range>得到Range对象

使用说明

无

使用示例

 public Range range(int sCp, int eCp)
{
try {
return mDoc.range(sCp,
eCp);
} catch (RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Document
KingSoft专有和保密信息
版权所有 ?KingSoft


copy()

复制选区内容到剪贴板。

方法定义

public void copy(int sCp, int eCp)

参数描述

参数名 | 类型 | 描述
sCp | int | 起始CP位置
eCp | int | 结束CP位置

返回值

Null

使用说明

无

使用示例

public void copy(int sCp, int eCp) {
try
{
mDoc.range(sCp, eCp).copy();
} catch
(RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Range
KingSoft专有和保密信息
版权所有 ?KingSoft


paste()

粘贴剪贴板内容到文档。

方法定义

public void paste(int sCp, int eCp)

参数描述

参数名 | 类型 | 描述
sCp | int | 起始CP位置
eCp | int | 结束CP位置

返回值

Null

使用说明

无

使用示例

public void paste(int sCp, int eCp) {
try {
mDoc.range(sCp, eCp).paste();
} catch (RemoteException e) {
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Range
KingSoft专有和保密信息
版权所有 ?KingSoft


collapse()

将选区折叠(相当于定位光标)。

方法定义

public void collapse(int sCp, int eCp, WdCollapseDirection collapse)

参数描述

参数名 | 类型 | 描述
sCp | int | 起始CP位置
eCp | int | 结束CP位置
collapse | WdCollapseDirection | <枚举值>指定方向进行折叠

返回值

Null

使用说明

无

使用示例

public void collapse(int sCp, int eCp, WdCollapseDirection
collapse){
try {
mDoc.range(sCp,
eCp).collapse(collapse);
} catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Range
KingSoft专有和保密信息
版权所有 ?KingSoft


setStyle()

设置正文主题样式。

方法定义

public Variant setStyle(int sCp, int eCp,Variant style)

参数描述

参数名 | 类型 | 描述
sCp | int | 起始CP位置
eCp | int | 结束CP位置
style | Variant | 正文样式类型

返回值

Null

使用说明

无

使用示例

public void setStyle(int sCp, int eCp,Variant
style){
try {
mDoc.range(sCp,
eCp).setStyle(style);
} catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Range
KingSoft专有和保密信息
版权所有 ?KingSoft


getStyle()

获取正文主题样式。

方法定义

public Variant getStyle(int sCp, int eCp)

参数描述

参数名 | 类型 | 描述
sCp | int | 起始CP位置
eCp | int | 结束CP位置

返回值

Variant<枚举类型>主题样式

使用说明

无

使用示例

 public Variant getStyle(int sCp, int
eCp){
try {
return mDoc.range(sCp,
eCp).getStyle();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Range
KingSoft专有和保密信息
版权所有 ?KingSoft


setUnderline()

设置下划线样式。

方法定义

public void setUnderline (int sCp, int eCp,WdUnderline underline)

参数描述

参数名 | 类型 | 描述
sCp | int | 起始CP位置
eCp | int | 结束CP位置
underline | WdUnderline | <枚举值>内置下划线样式

返回值

Null

使用说明

无

使用示例

public void setUnderline (int sCp, int eCp,WdUnderline
underline) {
try {
mDoc.range(sCp,
eCp).setUnderline(underline);
} catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Range
KingSoft专有和保密信息
版权所有 ?KingSoft


getUnderline()

获取下划线样式。

方法定义

public WdUnderline getUnderline(int sCp, int eCp)

参数描述

参数名 | 类型 | 描述
sCp | int | 起始CP位置
eCp | int | 结束CP位置

返回值

WdUnderline <枚举类型>下划线样式

使用说明

无

使用示例

 public WdUnderline getUnderline(int sCp, int
eCp){
try {
return mDoc.range(sCp,
eCp).getUnderline();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Range
KingSoft专有和保密信息
版权所有 ?KingSoft


setBold()

设置/取消加粗字体。

方法定义

public void setBold (int sCp, int eCp,boolean bold)

参数描述

参数名 | 类型 | 描述
sCp | int | 起始CP位置
eCp | int | 结束CP位置
bold | boolean | True则加粗，False取消加粗

返回值

Null

使用说明

无

使用示例

 public void setBold (int sCp, int eCp,boolean
bold){
try {
mDoc.range(sCp,
eCp).setBold(bold);
} catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Range
KingSoft专有和保密信息
版权所有 ?KingSoft


isBold()

获取Range范围文本是否加粗。

方法定义

public boolean isBold(int sCp, int eCp)

参数描述

参数名 | 类型 | 描述
sCp | int | 起始CP位置
eCp | int | 结束CP位置

返回值

boolean值，True为加粗，False表示没有加粗

使用说明

无

使用示例

 public boolean isBold(int sCp, int eCp)
{
try {
return mDoc.range(sCp,
eCp).isBold();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
false;
}

父主题： cn.wps.moffice.service.doc.Range
KingSoft专有和保密信息
版权所有 ?KingSoft


getFont()

获取Range范围字体。

方法定义

public Font getFont(int sCp, int eCp)

参数描述

参数名 | 类型 | 描述
sCp | int | 起始CP位置
eCp | int | 结束CP位置

返回值

Font对象

使用说明

字属性相关的接口必须基于getFont接口之上，获取之前，需要设置选区，否则返回值为null。

使用示例

 public Font getFont(int sCp, int
eCp){
try {
return mDoc.range(sCp,
eCp).getFont();

} catch (RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Range
KingSoft专有和保密信息
版权所有 ?KingSoft


setEnd()

设置range的结束CP值。

方法定义

public void setEnd(int sCp, int eCp, long start)

参数描述

参数名 | 类型 | 描述
sCp | int | 起始CP位置
eCp | int | 结束CP位置

返回值

NUll

使用说明

无

使用示例

public void setEnd(int sCp, int eCp, long start){
try {
mDoc.range(sCp, eCp).setStart(start);
} catch (RemoteException e) {
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Range
KingSoft专有和保密信息
版权所有 ?KingSoft


getEnd()

获取结束Cp位置。

方法定义

public long getEnd(int sCp, int eCp)

参数描述

参数名 | 类型 | 描述
sCp | int | 起始CP位置
eCp | int | 结束CP位置

返回值

long类型，返回起始Range位置。

使用说明

返回值为-1表示异常。

使用示例

 public long getEnd(int sCp, int eCp){
try {
return mDoc.range(sCp,
eCp).getStart();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
-1;
}

父主题： cn.wps.moffice.service.doc.Range
KingSoft专有和保密信息
版权所有 ?KingSoft


setStart()

设置range的起始CP值。

方法定义

public void setStart(int sCp, int eCp, long start)

参数描述

参数名 | 类型 | 描述
sCp | int | 起始CP位置
eCp | int | 结束CP位置

返回值

Null

使用说明

无

使用示例

public void setStart(int sCp, int eCp, long
start){
try {
mDoc.range(sCp,
eCp).setStart(start);
} catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.Range
KingSoft专有和保密信息
版权所有 ?KingSoft


getStart()

获取起始Cp位置。

方法定义

public long getStart(int sCp, int eCp)

参数描述

参数名 | 类型 | 描述
sCp | int | 起始CP位置
eCp | int | 结束CP位置

返回值

long类型，返回起始Range位置。

使用说明

返回值为-1表示异常。

使用示例

 public long getStart(int sCp, int
eCp){
try {
return mDoc.range(sCp,
eCp).getStart();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
-1;
}

父主题： cn.wps.moffice.service.doc.Range
KingSoft专有和保密信息
版权所有 ?KingSoft


setText()

修改指定Range范围中的文本。

方法定义

public void setText(int sCp, int eCp)

参数描述

参数名 | 类型 | 描述
sCp | int | 起始CP位置
eCp | int | 结束CP位置

返回值

Null

使用说明

Range类： 对象引用文档中的某一连续区域。 每个 Range 对象都是通过开始和结束字符位置来定义的。

使用示例

 public void setText(int sCp, int eCp) {
try {
return mDoc.range(sCp, eCp).setText();
} catch (RemoteException e) {
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Range
KingSoft专有和保密信息
版权所有 ?KingSoft


getText()

获取某个区域段的文本内容。

方法定义

public String getText(int sCp, int eCp)

参数描述

参数名 | 类型 | 描述
sCp | int | 起始CP位置
eCp | int | 结束CP位置

返回值

String类型，返回Range范围内的文本内容。

使用说明

Range类： 对象引用文档中的某一连续区域。 每个 Range 对象都是通过开始和结束字符位置来定义的。

使用示例

 public String getText(int sCp, int eCp)
{
try {
return mDoc.range(sCp,
eCp).getText();
} catch (RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.doc.Range
KingSoft专有和保密信息
版权所有 ?KingSoft


书签

Bookmarks类

【简介】 该接口是Bookmarks对象调用的接口。

【详细参数及方法介绍】

Bookmarks对象及方法摘要
类型 | 方法 | 描述
Bookmark | add(String name, Range range) | 添加书签 参数说明： name： 书签名称 range ： 书签插入位置
Bookmark | item(int index); | 获取具体某个书签 参数说明： index： 第几个书签
Range | public Range range() | 获取具体某个书签范围

【代码示例】

//添加书签

mDoc.getBookmarks().add(String name, Range range);

// 获取具体某个书签范围

mDoc.getBookmarks().item(int index).range();


add()

添加书签

方法定义

public Bookmark add(String name, Range range)

参数描述

参数名 | 类型 | 描述
name | String | 书签名称
range | Range | 书签插入位置

返回值

Null

使用说明

无

使用示例

  public Bookmark
add(String name, Range range){
try
{
mDoc.getBookmarks().add(String name, Range
range);
} catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc. getBookmarks


item()

获取具体某个书签

方法定义

public Bookmark item(int index)

参数描述

参数名 | 类型 | 描述
index | int | 第几个书签

返回值

Bookmark对象

使用说明

无

使用示例

  public Bookmark
item(int index){
try
{
mDoc.getBookmarks().item(int index));
}
catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc. getBookmarks


range()

获取具体某个书签范围

方法定义

public Range range()

返回值

Range 对象

使用说明

无

使用示例

  public Range
range(){
try {
mDoc.getBookmarks().item(int
index).range();
} catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.getBookmarks


Comment

Comment类

【简介】 该接口是Comment对象调用的接口 。

【详细参数及方法介绍】

Comments对象及方法摘要
类型 | 方法 | 描述
Comment | add(Range range, String text) | 添加批注 参数说明： text： 批注内容 range： 批注插入位置
Comment | item(int index) | 获取具体某个批注 参数说明： index： 第几个批注
void | public void delete() | 删除批注

【代码示例】

//添加批注

mDoc.getComments().add(Range range, String text);

// 删除批注

mDoc.getComments().item(int index).delete()


add()

添加批注

方法定义

public Comment add(Range range, String text)

参数描述

参数名 | 类型 | 描述
text | String | 批注内容
range | Range | 批注插入位置

返回值

Null

使用说明

无

使用示例

  public Comment
add(Range range, String text){
try
{
mDoc.getComments().add(Range range, String text);
}
catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc. getComments


item()

获取具体某个批注

方法定义

public Comment item(int index)

参数描述

参数名 | 类型 | 描述
index | int | 第几个批注

返回值

Comment对象

使用说明

无

使用示例

  public Comment item(int
index){
try {
mDoc.getComments().item(int
index);
} catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.getComments


delete()

删除批注

方法定义

public void delete()

返回值

void

使用说明

无

使用示例

public void delete(int
index){
try {
mDoc.getComments().item(int
index).delete()}

 catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.getComments


Application

Application类

【简介】 该接口是Application对象调用的接口。

【详细参数及方法介绍】

Application对象及方法摘要
类型 | 方法 | 描述
Document | getActiveDocument(); | 获取当前活动文档
String | getVersion(); | 获取应Moffice版本号
String | getSelection() | 获取文档名

【代码示例】

//获取应Moffice版本号

mDoc.getApplication().getVersion();


getActiveDocument()

获取活动的文档对象

方法定义

public Document getActiveDocument()

返回值

返回一个Document对象

使用说明

若要获得文档相关的接口之前，必须先获得文档对象

使用示例

public Document getActiveDocument() {
  try {
   return mDoc.getApplication().getActiveDocument();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return null;

   }
父主题： cn.wps.moffice.service.doc.Document.Application
KingSoft专有和保密信息
版权所有 ?KingSoft


getVersion()

获取应Moffice版本号

方法定义

public String getVersion()

返回值

moffice应用程序的版本号

使用说明

无

使用示例

public String getVersion() {
  try {
   return mDoc.getApplication().getVersion();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return null;

   }
父主题： cn.wps.moffice.service.doc.Document.Application
KingSoft专有和保密信息
版权所有 ?KingSoft


getSelection()

获取选区对象

方法定义

public Selection getSelection()

返回值

返回一个Selection 对象

使用说明

若要获得文档相关的接口之前，必须先获得文档对象

使用示例

public Selection getSelection() {
  try {
   return mDoc.getApplication().getSelection();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return null;

   }
父主题： cn.wps.moffice.service.doc.Document.Application
KingSoft专有和保密信息
版权所有 ?KingSoft


Other

Other类

【简介】 该接口是一些其他对象调用的接口。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
String | public void setVisibleLine(int item, MsoTriState state) | 设置对象可见 该接口File对象和Line对象都适用 参数说明： item: 对象index; triState: 对象的填充类型，可以这些选项值 {msoCTrue,msoFalse,msoTriStateMixed,msoTriStateToggle,msoTrue}

【代码示例】//设置对象可见

mShapes.item(item).getLine().setVisible(triState);


setVisible()

设置对象可见

该接口File对象和Line对象都适用

方法定义

设置对象线条类型

public void setVisibleLine(int item, MsoTriState state)

设置对象填充类型

public void setVisibleFill(int item, MsoTriState state)

参数描述

参数名 | 类型 | 描述
item | int | 对象index
triState | MsoTriState | 对象的填充类型，可以这些选项值 {msoCTrue,msoFalse,msoTriStateMixed,msoTriStateToggle,msoTrue}

返回值

Null

使用说明

无

使用示例

设置对象线条类型

public void setVisibleLine(int item, MsoTriState triState) {
try {
mShapes.item(item).getLine().setVisible(triState);
} catch (RemoteException e) {
e.printStackTrace();
}
}

设置对象填充类型

public void
setVisibleFill(int item, MsoTriState state){
try {
mShapes.item(item).getFill().setVisible(triState);
} catch (RemoteException e) {
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.doc.getLine()
KingSoft专有和保密信息
版权所有 ?KingSoft


Excel 打开与新建文档

获取文档对象方法概要
功能 | 类型 | 方法 | 描述
获取文档对象集合 | Workbooks | getWorkbooks(); | 获取表格对象集合（注：暂时不支持带界面的操作）
打开文档 | Workbook | openWorkbook(Stringpath,Stringpassword); | 打开一份excel文档（注：暂时不支持带界面的操作）
 |  | openBookEx(Stringpath,Stringpassword,inIntentintent); | 打开表格文档，获取表格文档对象 参数说明： docPath:要打开的文档路径 Password:WPS加密文档的密码，如果文档没有使用WPS加密，传入””; Intent：包装其他数据，传入不同的打开参数，实现不同的效果，文档具体打开参数见附录“打开参数”。
新建文档 | Workbook | newWorkbook(StringnewFilePath,inIntentintent); | 新建一个excel文档 参数说明： docPath：要打开的文档路径 intent：是AIDL操作文档的一些设置，与openDocument的intent相同作用

注：请将打开文档功能在子线程中进行，避免出现死锁现象

【示例】：

Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putBoolean(Define.BACK_KEY_DOWN, true); //监听Back键事件,对外发送广播
intent.putExtras(bundle);

//mService为绑定文档后返回的对象

mExcel = mService.getWorkbooks().openWorkbook(path, ""); //打开Excel 文档；不带界面的操作

mExcel = mService.getWorkbooks().openBookEx(path, "", intent); //打开Excel文档，获取表格文档对象

mExcel = mService.getWorkbooks().newWorkbook(path, intent); //新建表格文档

注：9.2.9以后版本，请使用如下方法：

Intent intent = Util.getOpenIntent(mContext, mFilePath, true);
Intent i = mService.getWorkbooks().getBookExIntent(mFilePath, "", intent);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
mWorkBook = mService.getWorkbooks().waitForWorkbook(mFilePath);


Workbook

Workbooks类介绍

【简介】 该接口是获得和打开工作簿的操作，通过绑定WPS内部的Service即可获得OfficeService对象，然后可以调用这些接口打开指定文档。

【详细参数及方法介绍】

Workbook对象及方法摘要
类型 | 方法 | 描述
String | getName(); | 获取工作簿的名字
Worksheet | getActiveSheet(); | 获取工作簿中活动的工作表

【代码示例】获取工作薄名称

mExcel.getName();


getActiveSheet()

获取活动的文档对象

方法定义

public Worksheet getActiveSheet()

返回值

返回一个Worksheet 对象

使用说明

若要获得文档相关的接口之前，必须先获得文档对象

使用示例

 public Worksheet getActiveSheet() {
  try {
   return mET.getActiveSheet();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return null;

   }
父主题： cn.wps.moffice.service.spreadsheet.Workbook
KingSoft专有和保密信息
版权所有 ?KingSoft


getName()

获取工作薄名称

方法定义

public String getName()

返回值

得到工作薄的名称

使用说明

无

使用示例

 public String getName() {
  try {
   return mET.getName();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return null;

   }
父主题： cn.wps.moffice.service.spreadsheet.Workbook
KingSoft专有和保密信息
版权所有 ?KingSoft


Worksheet

Worksheet类介绍

【简介】 该接口是Worksheet对象调用的接口，要使用这些接口必须先通过OfficeService对象的openBookEx方法获得文档对象。

【详细参数及方法介绍】

Worksheet对象及方法摘要
类型 | 方法 | 描述
String | getName(); | 获取工作表的名字
boolean | saveToImage(String path, in PictureFormat format, int quality, float scale); | 将工作表内容导出为图片到指定目录中 参数说明： path:导出文件夹路径 format:导出图片的格式类型，见PictureFormat定义 quality:打印质量，从1到100,数值越大打印质量越高 scale:打印缩放比，默认为1
int | getCurrentPageIndex(); | 获取左上角单元格所在分页中的页码,页码从0开始计数。 返回值：-1表示左上角单元格不在打印范围内，此时返回值不能用于打印。页码大于等于0时为有效值。
int | getPageCount(); | 获取当前工作表打印的总页数

【代码示例】导出当前页为图片

int sheet = 0; //表示第1个工作表

String testPaths = "/sdcard/test/1.png"; //保存图片完成路径

mExcel.getWorksheet(sheet).saveCurrentPage(testPaths, PictureFormat.PNG); //PictureFormat.PNG导出图片的格式


saveToImage()

将工作表内容导出为图片到指定目录中

方法定义

public void saveToImage(int sheet,String testPaths, PictureFormat format, int quality, float scale)

参数描述

参数名 | 类型 | 描述
sheet | int | 指定工作薄中的子表格
testPaths | String | 保存图片的路径
format | PictureFormat | 导出图片的格式
quality | int | 打印质量，从1到100,数值越大打印质量越高
scale | float | 打印缩放比，默认为1

返回值

Null

使用说明

无

使用示例

 public void saveToImage(int sheet,String testPaths,
PictureFormat format, int quality, float scale) {
try
{
mET.getWorksheet(sheet).saveToImage(testPaths, format,
quality, scale);
} catch (RemoteException e)
{
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.spreadsheet.Worksheet
KingSoft专有和保密信息
版权所有 ?KingSoft


getCurrentPageIndex()

获取左上角单元格所在分页中的页码,页码从0开始计数

方法定义

public int getCurrentPageIndex()

返回值

-1表示左上角单元格不在打印范围内，此时返回值不能用于打印。页码大于等于0时为有效值

使用说明

无

使用示例

public int getCurrentPageIndex() {
  try {
   return mET.getActiveSheet().getCurrentPageIndex();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return 0;

   }
父主题： cn.wps.moffice.service.spreadsheet.Workbook
KingSoft专有和保密信息
版权所有 ?KingSoft


getPageCount ()

获取当前工作表打印的总页数

方法定义

public int getPageCount(int sheet)

返回值

得到工作表打印的总页数

使用说明

无

使用示例

 public int getPageCount(int sheet) {
  try {
   return mET.getWorksheet(sheet).getPageCount();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return 0;
 }
父主题： cn.wps.moffice.service.spreadsheet.Workbook
KingSoft专有和保密信息
版权所有 ?KingSoft


getName()

获取工作薄中活动的工作表名字【指定sheet】

方法定义

public String getName ()

返回值

得到工作表名称

使用说明

无

使用示例

public String getName() {
  try {
   return mET.getActiveSheet().getName();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return null;

   }
父主题： cn.wps.moffice.service.spreadsheet.Workbook
KingSoft专有和保密信息
版权所有 ?KingSoft


PPT 打开与新建文档

获取文档对象方法概要
功能 | 类型 | 方法 | 描述
获取文档对象集合 | Presentations | getPresentations(); | 获取演示文档对象集合
打开文档 | Presentation | openPresentation(StringfilePath,Stringpassword,inIntentintent) | 打开一个演示文档，获取演示文档对象 参数说明： docPath:要打开的文档路径 Password:WPS加密文档的密码，如果文档没有使用WPS加密，传入””; Intent：包装其他数据，传入不同的打开参数，实现不同的效果，文档具体打开参数见附录“打开参数”。
新建文档 | Presentation | newPresentation(StringnewFilePath,inIntentintent); | 新建一个演示文档 参数说明： docPath：要打开的文档路径 intent：是AIDL操作文档的一些设置，与openDocument的intent相同作用

注：请将打开文档功能在子线程中进行，避免出现死锁现象

【示例】：

Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putBoolean(Define.BACK_KEY_DOWN, true); //监听Back键事件,对外发送广播
intent.putExtras(bundle);

//mService为绑定文档后返回的对象

mPpt = mService.getPresentations().openPresentation(path, "", intent); //打开PPT文档

mPpt = mService.getPresentations().newPresentation(path, intent); //新建PPT文档

注：9.2.9以后版本，请使用如下方法：

Intent intent = Util.getOpenIntent(mContext, mFilePath, true);
Intent i = mService.getPresentations().getPresentationIntent(mFilePath, "", intent);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
mPresentation = mService.getPresentations().waitForPresentation(mFilePath);


Presentation

 Presentation类介绍

【简介】 该接口是Presentation对象调用的接口，要使用这些接口必须先通过OfficeService对象的openPresentation方法获得文档对象 。

【详细参数及方法介绍】

Presentation对象及方法摘要
类型 | 方法 | 描述
void | transitionNext(); | 滚动至下一页
void | transitionPre(); | 滚动至上一页
void | undo(); | 撤销（编辑&播放模式均可用）
boolean | isPlayState(); | PPT文档播放、编辑的状态
void | showThumbView(boolean show); PS：在平板播放模式下调用有效 | 文档缩略图显示
void | close(); | 关闭文档
String | exportCurPageToImage(String path, in PictureFormat picFormat); | 保存当前页为图片，path为保存路径文件夹, 返回输出图片的全路径, null表示失败
List<String> | exportImage(String path, in PictureFormat picFormat, PrintProgress progress); | 将所有页导出到path所在路径文件夹中，并返回输出图片的路径
int | getCurrentPageIndex(); | 获取当前页码(索引从0开始)
int | getPageCount(); | 获取slide的个数
void | toggleForbiddenInk(boolean forbidden) | 是否启动墨迹
boolean | getForbiddenInk(); | 墨迹是否禁用
void | useInkFinger(boolean inkFinger); | 启用使用手指(即进入墨迹书写状态, 参数true表示进入墨迹书写状态，false则表示退出)
void | toggleToPen(); | 切换到普通笔
void | toggleToHighLightPen(); | 切换到荧光笔
void | toggleToEraser(boolean all); | 切换到橡皮擦，其中all表示全部清除当前页墨迹
void | setInkColor(int color); | 设置当前笔的颜色
int | getInkColor(); | 获取当前笔颜色
void | setInkThick(float strokeWidth); | 设置当前笔的粗细
float | getInkThick(); | 获取当前笔粗细
float | getInkPenThick(); | 获取普通笔的粗细
float | getInkHighLightThick(); | 获取荧光笔的粗细
int | getInkPenColor(); | 获取普通笔的颜色
int | getInkHighLightColor(); | 获取荧光笔的颜色

【代码示例】翻页（滚动至上一页）

mPpt.transitionPre();


PPT页数

【简介】 将“PPT页数”的相关接口进行统一归纳整理 ，要使用这些接口必须先通过OfficeService对象的 openPresentation方法获得文档对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
int | public int getPageCount() | 获取文档页数
int | public int getCurrentPageIndex() | 获取当前页码(索引从0开始)

【代码示例】（获取文档页数）

mPpt.getPageCount();


getPageCount ()

获取文档页数

方法定义

public int getPageCount()

返回值

<int类型>得到文档的总页数

使用说明

无

使用示例

public int getPageCount() {
  try {
   return mPPT.getPageCount();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return 0;
 }
父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


getCurrentPageIndex()

获取当前页码(索引从0开始)

方法定义

public int getCurrentPageIndex()

返回值

<int类型>得到当前页码

使用说明

无

使用示例

public int getCurrentPageIndex() {
  try {
   return mPPT.getCurrentPageIndex();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return -1;
 }
父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


PPT操作

【简介】 将“PPT操作”的接口进行统一归纳整理 ，要使用这些接口必须先通过OfficeService对象的openPresentation方法获得文档对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
String | public String exportCurPageToImage(String mPath, PictureFormat picFormat) | 保存当前页为图片 参数说明： mPath：为保存路径文件夹；picFormat：导出图片的格式
void | public void close() | 关闭文档
void | public void transitionPre() | 滚动至上一页
void | public void transitionNext() | 滚动至下一页
void | public void undo() | 撤销操作
void | public void showThumbView(boolean show) | 是否显示缩略图 （前提是在播放模式） 参数说明： true表示显示缩略图，false则表示关闭显示缩略图
【代码示例】（滚动至下一页）

mPpt.transitionNext ();


exportCurPageToImage()

保存当前页为图片

方法定义

public String exportCurPageToImage(String mPath, PictureFormat picFormat)

参数描述

参数名 | 类型 | 描述
mPath | String | 为保存路径文件夹
picFormat | PictureFormat | 导出图片的格式

返回值

返回输出图片的全路径,null表示失败

使用说明

无

使用示例

 public String exportCurPageToImage(String mPath,
PictureFormat picFormat) {
try {
return
mPPT.exportCurPageToImage(mPath, picFormat);
} catch
(RemoteException e)
{
e.printStackTrace();
}
return
null;
}

父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


close ()

关闭文档

方法定义

public void close()

返回值

Null

使用说明

无

使用示例

 public void close() {
  try {
   mPPT.close();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
 }
父主题：cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


transitionPre()

滚动至上一页

方法定义

public void transitionPre()

返回值

Null

使用说明

无

使用示例

 public void transitionPre() {
  try {
   mPPT.transitionPre()
  } catch (RemoteException e) {
   e.printStackTrace();
  }
   }
父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


transitionNext()

滚动至下一页

方法定义

public void transitionNext()

返回值

Null

使用说明

无

使用示例

 public void transitionNext() {
  try {
   mPPT.transitionNext();
  } catch (RemoteException e) {
   e.printStackTrace();
  }

   }
父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


undo ()

撤销操作

方法定义

public void undo()

返回值

Null

使用说明

无

使用示例

 public void undo() {
  try {
   mPPT.undo();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
   }
父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


showThumbView()

是否显示缩略图 （前提是在播放模式）

方法定义

public void showThumbView(boolean show)

使用说明

true表示显示缩略图，false则表示关闭显示缩略图

使用示例

public void showThumbView() {
  try {
   mPPT.showThumbView(true);
  } catch (RemoteException e) {

   e.printStackTrace();

  }

 }
父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


墨迹

【简介】 将“墨迹”的接口进行统一归纳整理 ， 要使用这些接口必须先通过 OfficeService对象的 openPresentation 方法获得文档对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
void | public void toggleForbiddenInk(boolean forbidden) | 是否启动墨迹 参数说明： true表示开启墨迹功能；false则表示关闭墨迹功能
boolean | public boolean getForbiddenInk() | 获取停用墨迹状态 返回值说明： boolean 值：true表示当前墨迹功能为停用状态，false表示启用状态
void | public void toggleInkFinger () | 使用手指
float | public float getInkThick() | 获取当前笔的粗细
void | public void setInkThick(float strokeWidth) | 设置笔粗细 参数说明： strokeWidth：建议取值范围：0.25~6.0（磅）
float | public float getInkPenThick() | 获取笔画粗细
float | public float getInkHighLightThick() | 获取荧光笔粗细
int | public int getInkColor() | 取墨迹颜色
void | public void setInkColor(int color) | 设置墨迹颜色 参数说明： color：墨迹颜色值。 Ex.0xff0000
int | public int getInkPenColor() | 获取普通笔的颜色
int | public int getInkHighLightColor() | 获取荧光笔的颜色
void | public void toggleToPen() | 切换到普通笔
void | public void toggleToHighLightPen() | 切换到荧光笔
void | public void toggleToEraser() | 切换到橡皮擦
【代码示例】（切换到橡皮擦）

mPpt.toggleToEraser()；


toggleForbiddenInk()

是否启动墨迹

方法定义

public void toggleForbiddenInk(boolean forbidden)

使用说明

true表示开启墨迹功能 ，false则表示关闭墨迹功能

使用示例

public void toggleForbiddenInk() {
  try {
   mPPT.toggleForbiddenInk(true);
  } catch (RemoteException e) {

   e.printStackTrace();

  }

 }
父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


getForbiddenInk()

获取停用墨迹状态

方法定义

public boolean getForbiddenInk()

返回值

boolean 值：true表示当前墨迹功能为停用状态，false表示启用状态

使用说明

无

使用示例

/**
  * 获取停用墨迹状态
  * @return
  */
 public boolean getForbiddenInk(){
  try {
   return mPPT.getForbiddenInk();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return false;
 }
父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


toggleInkFinger()

使用手指

方法定义

public void toggleInkFinger ()

使用说明

无

使用示例

public void toggleInkFinger  () {
  try {
   mPPT.toggleInkFinger();
  } catch (RemoteException e) {

   e.printStackTrace();

  }

 }
父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


getInkThick()

获取当前笔的粗细

方法定义

public float getInkThick()

返回值

<float>得到笔的线条粗细值

使用说明

无

使用示例

public
float getInkThick() {
try {
return mPPt.getInkThick();
} catch (RemoteException e) {
e.printStackTrace();
}
return
-1;
}

父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


setInkThick()

设置笔粗细。

方法定义

public void setInkThick(float strokeWidth)

参数描述

参数名 | 类型 | 描述
strokeWidth | float | 建议取值范围：0.25~6.0（磅）

返回值

Null

使用说明

无

使用示例

public void setInkThick(float strokeWidth) {
try {
mPPT.setInkThick((float) 5.0);
} catch (RemoteException e) {
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


getInkPenThick()

获取笔画粗细

方法定义

public float getInkPenThick()

返回值

<float>得到墨迹笔的线条粗细值

使用说明

无

使用示例

public float getInkPenThick() {

  try {

   return mPPt.getInkPenThick();

   } catch (RemoteException e) {

     e.printStackTrace();

  }
  return -1;
 }
父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


getInkHighLightThick()

获取荧光笔粗细

方法定义

public float getInkHighLightThick()

返回值

<float>得到荧光笔的线条粗细值

使用说明

无

使用示例

public
float getInkHighLightThick() {
try {
return mPPt.getInkHighLightThick();
} catch (RemoteException e) {
e.printStackTrace();
}
return
-1;
}

父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


getInkColor()

获取墨迹颜色

方法定义

public int getInkColor()

返回值

<int>得到墨迹笔画的颜色

使用说明

无

使用示例

 public int getInkColor() {

  try {
   return mPPT.getInkColor();

  } catch (RemoteException e) {
    e.printStackTrace();
  }

  return -1;

   }
父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


setInkColor()

设置墨迹颜色。

方法定义

public void setInkColor(int color)

参数描述

参数名 | 类型 | 描述
color | int | 墨迹颜色值。 Ex.0xff0000

返回值

无。

使用说明

无

使用示例

public void setInkColor(int color) {
try {
mPPT.setInkColor(color);
} catch (RemoteException e) {
e.printStackTrace();
}
}

父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


getInkPenColor()

获取普通笔的颜色

方法定义

public int getInkPenColor()

返回值

<int>得到墨迹笔画的颜色

使用说明

无

使用示例

 public int getInkPenColor() {
  try {
   return mPPt.getInkPenColor();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return -1;
}
父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


getInkHighLightColor()

获取荧光笔的颜色

方法定义

public int getInkHighLightColor()

返回值

<int>得到墨迹荧光笔的颜色

使用说明

无

使用示例

 public int getInkHighLightColor() {
  try {
   return mPPt.getInkHighLightColor();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return -1;
}
父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


toggleToPen()

切换到普通笔

方法定义

public void toggleToPen()

使用说明

设置墨迹笔类型为：笔

使用示例

public void toggleToPen() {
  try {
   mPPT.toggleToPen();
  } catch (RemoteException e) {

   e.printStackTrace();

  }

 }
父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


toggleToHighLightPen()

切换到荧光笔

方法定义

public void toggleToHighLightPen()

使用说明

设置墨迹笔类型为：荧光笔

使用示例

public void toggleToHighLightPen() {
  try {

   mPPT.toggleToHighLightPen();

  } catch (RemoteException e) {
    e.printStackTrace();

  }
 }
父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


toggleToEraser()

切换到橡皮擦

方法定义

public void toggleToEraser()

使用说明

切换到橡皮擦

使用示例

public void toggleToEraser() {
    try {
   mPPT.toggleToEraser();

  } catch (RemoteException e) {
    e.printStackTrace();

  }

 }
父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


文档状态

【简介】 将“文档状态”的相关接口进行统一归纳整理 ，要使用这些接口必须先通过OfficeService对象的 openPresentation方法获得文档对象。

【详细参数及方法介绍】

对象及方法摘要
类型 | 方法 | 描述
boolean | public boolean isPlayState() | 获取是否是播放状态 返回值说明： boolean 值：true表示当前播放状态，false表示普通状态

【代码示例】（获取是否是播放状态）

mPpt.isPlayState();


isPlayState()

获取是否是播放状态

方法定义

public boolean isPlayState()

返回值

boolean 值：true表示当前播放状态，false表示普通状态

使用说明

无

使用示例

/**
  * 获取是否是播放状态
  * @return
  */
 public boolean isPlayState(){
  try {
   return mPPT.isPlayState();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return false;
 }
父主题： cn.wps.moffice.service.presentation.Presentation
KingSoft专有和保密信息
版权所有 ?KingSoft


PDF 打开与新建文档

获取文档对象方法概要
功能 | 类型 | 方法 | 描述
获取文档对象集合 | PDFReaders | getPDFReaders(); | 获取当前打开的PDF文档对象集合
打开文档 | PDFReader | openPDFReader(StringfilePath,Stringpassword,Intentintent) | 打开一个PDF文档，获取PDF文档对象 参数说明： docPath:要打开的文档路径 Password:WPS加密文档的密码，如果文档没有使用WPS加密，传入””; Intent：包装其他数据，传入不同的打开参数，实现不同的效果，文档具体打开参数见附录“打开参数”。

注：请将打开文档功能在子线程中进行，避免出现死锁现象

【示例】：

Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putBoolean(Define.BACK_KEY_DOWN, true); //监听Back键事件,对外发送广播
intent.putExtras(bundle);

//mService为绑定文档后返回的对象

mPdf = mService.getPDFReaders().openPDFReader(file, password, intent) ; //打开PPT文档

注：9.2.9以后版本，请使用如下方法：

Intent intent = Util.getPDFOpenIntent(mContext, this.path, true);
Intent i = mService.getPDFReaders().getPDFReaderIntent(path, "", intent);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
mPdfReader = mService.getPDFReaders().waitForPDFReader(path);


PDFReader

PDFReader类介绍

【简介】 该接口是PDFReader对象调用的接口，要使用这些接口必须先通过OfficeService对象的openPDFReader方法获得文档对象 。

【详细参数及方法介绍】

PDFReader对象及方法摘要
类型 | 方法 | 描述
void | transitionNext(); | 滚动至下一页
void | transitionPre(); | 滚动至上一页
void | close(); | 关闭文档
String | getPath(); | 获取文档的完整路径

【代码示例】翻页（滚动至上一页）

mPdf.transitionPre();


transitionPre()

滚动至上一页

方法定义

public void transitionPre()

返回值

Null

使用说明

无

使用示例

 public void transitionPre() {
  try {
   mPdf.transitionPre();
  } catch (RemoteException e) {
   e.printStackTrace();
  }

   }
父主题： cn.wps.moffice.service.pdf.PDFReader
KingSoft专有和保密信息
版权所有 ?KingSoft


transitionNext()

滚动至下一页

方法定义

public void transitionNext()

返回值

Null

使用说明

无

使用示例

 public void transitionNext() {
  try {
   mPdf.transitionNext();
  } catch (RemoteException e) {
   e.printStackTrace();
  }

   }
父主题： cn.wps.moffice.service.pdf.PDFReader
KingSoft专有和保密信息
版权所有 ?KingSoft


getPath()

获得文档路径

方法定义

String getPath()

返回值

<String类型>得到文档的完整路径

使用说明

无

使用示例

public String getPath() {
  try {
   return mPdf.getPath();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return null;

   }
父主题： cn.wps.moffice.service.pdf.PDFReader
KingSoft专有和保密信息
版权所有 ?KingSoft


getCurrentPageNum()

获取当前页页码

方法定义

public int getCurrentPageNum()

返回值

Null

使用说明

无

使用示例

public int getCurrentPageNum() {
  try {
   return mPdf.getCurrentPageNum();
  } catch (RemoteException e) {
   e.printStackTrace();
  }
  return -1;
 }
父主题： cn.wps.moffice.service.pdf.PDFReader
KingSoft专有和保密信息
版权所有 ?KingSoft


增值

增值功能

增值功能方法概要
功能 | 类型 | 方法 | 描述
扫描拍照--PPT | void | openCameraPPT() | 拍摄图片或从图库获取图片，转换为PPT
扫描拍照--文档 | void | openCameraDoc() | 拍摄图片或从图库获取图片，转换为文档（文档、表格、演示、PDF）
提取文字 | void | openCameraOcr() | 拍摄图片或从图库获取图片，转换为文档或转换为表格。
图片转文档 | void | pic2doc(String picPath) | 传入图片路径，转换为Word文档 参数说明： picPath: 图片路径
图片转表格 | void | pic2ET(String picPath) | 传入图片路径，转换为Excel表格 参数说明： picPath: 图片路径
图片转演示 | void | pic2PPT(String picPath) | 传入图片路径，转换为PPT演示 参数说明： picPath: 图片路径
图片转PDF | void | pic2PDF(String picPath) | 传入图片路径，转换为PDF 参数说明： picPath: 图片路径
PDF转DOC | void | pdfkit2doc(String filePath) | 传入PDF文档路径，转换Word文档，内容与PDF一致 参数说明： filePath: 文档路径
PDF提取文字 | void | pdfkitOcr2Text(String filePath) | 传入PDF文档路径，提取文字，导出生成doc文档 参数说明： filePath: 文档路径
PDF签名 | void | pdfkitSign(String filePath) | 传入PDF文件路径，创建签名 参数说明： filePath: 文档路径
PDF标注 | void | pdfkitAnotation(String filePath) | 传入PDF文档路径，可正常进行批注 参数说明： filePath: 文档路径
PDF文档瘦身 | void | pdfkitFileSizeReduce(String filePath) | 传入PDF文档路径，对PDF瘦身操作 参数说明： filePath: 文档路径
PDF提取 | void | pdfkitExtract(String filePath) | 传入PDF文档路径，进入提取页面，提取后的文档，页面顺序和提取列表选择的页面个数一致 参数说明： filePath: 文档路径
PDF合并 | void | pdfkitMerge(String filePath) | 传入PDF文档路径，进入合并页面，并可选择其他PDF文件进行合并，合并后的文档，页面顺序和待合并列表中文档顺序一致 参数说明： filePath: 文档路径
输出为PDF | void | pdfkitDocument2pdf(String filePath) | 传入非pdf格式的文档路径，，转换为PDF 参数说明： filePath: 文件路径
提取页面 | void | extractFile(String filePath) | 传入文档路径，进入提取页面 参数说明： filePath: 文档路径
合并文档 | void | mergeFile(String filePath) | 传入文档路径，进入合并页面， 参数说明： filePath: 文档路径
录制幻灯片 | void | pptPlayRecord(String filePath) | 传入PPT文档路径，对PPT录制操作， 参数说明： filePath: 文档路径
会议 | void | goShareplay() | 跳转”会议“界面，加入或发起会议
文档瘦身 | void | documentBatchSlim() | 【文档瘦身】界面，可进行批量瘦身

注：增值功能需要激活码激活，并登陆账户后才可使用

【示例】：

bind connection 的时候 调用 mService.getApps().openApp()

参见demo示例

/**
* connection of binding
*/
private ServiceConnection connection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
mService = OfficeService.Stub.asInterface(service);
isBound = true;
try {
mService.getApps().openApp();
} catch (RemoteException e) {
e.printStackTrace();
}
}

@Override
public void
onServiceDisconnected(ComponentName name)
{
mService
= null;
isBound = false;
}
};

就可直接调用功能，示例如下：

App app = mService.getApps().waitForApp();

app.pic2doc(picPath); //图片转文档


图片与扫描

【简介】 将“图片与扫描”的相关接口进行统一归纳整理 。

【详细参数及方法介绍】

对象及方法摘要
功能 | 类型 | 方法 | 描述
扫描拍照--PPT | void | openCameraPPT() | 拍摄图片或从图库获取图片，转换为PPT
扫描拍照--文档 | void | openCameraDoc() | 拍摄图片或从图库获取图片，转换为文档（文档、表格、演示、PDF）
提取文字 | void | openCameraOcr() | 拍摄图片或从图库获取图片，转换为文档或转换为表格。
图片转文档 | void | pic2doc(String picPath) | 传入图片路径，转换为Word文档 参数说明： picPath: 图片路径
图片转表格 | void | pic2ET(String picPath) | 传入图片路径，转换为Excel表格 参数说明： picPath: 图片路径
图片转演示 | void | pic2PPT(String picPath) | 传入图片路径，转换为PPT演示 参数说明： picPath: 图片路径
图片转PDF | void | pic2PDF(String picPath) | 传入图片路径，转换为PDF 参数说明： picPath: 图片路径

注：增值功能需要激活码激活，并登陆账户后才可使用

【代码示例】（图片转文档 ）

App app = mService.getApps().waitForApp();

app.pic2doc(picPath);


拍照扫描

【简介】 将“拍照扫描”的相关接口进行统一归纳整理 。

【详细参数及方法介绍】

对象及方法摘要
功能 | 类型 | 方法 | 描述
扫描拍照--PPT | void | openCameraPPT() | 拍摄图片或从图库获取图片，转换为PPT
扫描拍照--文档 | void | openCameraDoc() | 拍摄图片或从图库获取图片，转换为文档（文档、表格、演示、PDF）
提取文字 | void | openCameraOcr() | 拍摄图片或从图库获取图片，转换为文档或转换为表格。

注：增值功能需要激活码激活，并登陆账户后才可使用

【代码示例】（扫描拍照--PPT）

App app = mService.getApps().waitForApp();

app.openCameraPPT();


扫描拍照--PPT

openCameraPPT()

拍摄图片或从图库获取图片，转换为PPT

方法定义

public void openCameraPPT()

返回值

Null

使用说明

1. 首次使用，系统会弹窗提示“要允许WPS Office 拍摄照片和录制视频吗?”
2.允许后，可成功跳转PPT标签页的拍摄功能面板

使用示例

public void openCameraPPT() {
  try {
    app.openCameraPPT();
  } catch (RemoteException e) {
    e.printStackTrace();
  }
 }


扫描拍照--文档

openCameraDoc()

拍摄图片或从图库获取图片，转换为文档（文档、表格、演示、PDF）

方法定义

public void openCameraDoc()

返回值

Null

使用说明

1. 首次使用，系统弹窗提示“要允许WPS Office 拍摄照片和录制视频吗?
2. 允许后，可成功跳转文档标签页的拍摄功能面板

使用示例

public void openCameraPPT() {
  try {
    app.openCameraPPT();
  } catch (RemoteException e) {
    e.printStackTrace();
  }
 }


提取文字

openCameraOcr()

拍摄图片或从图库获取图片，转换为文档或转换为表格。

方法定义

 public void openCameraOcr()
返回值

Null

使用说明

1. 首次使用，系统弹窗提示“要允许WPS Office 拍摄照片和录制视频吗?
2.允许后，可成功跳转提取文字功能面板

使用示例

public void openCameraOcr() {
   try {

    app.openCameraOcr();

  } catch (RemoteException e) {
     e.printStackTrace();
  }

 }


图片转换

【简介】 将“图片转换”的相关接口进行统一归纳整理 。

【详细参数及方法介绍】

对象及方法摘要
功能 | 类型 | 方法 | 描述
图片转文档 | void | pic2doc(String picPath) | 传入图片路径，转换为Word文档 参数说明： picPath: 图片路径
图片转表格 | void | pic2ET(String picPath) | 传入图片路径，转换为Excel表格 参数说明： picPath: 图片路径
图片转演示 | void | pic2PPT(String picPath) | 传入图片路径，转换为PPT演示 参数说明： picPath: 图片路径
图片转PDF | void | pic2PDF(String picPath) | 传入图片路径，转换为PDF 参数说明： picPath: 图片路径

注：增值功能需要激活码激活，并登陆账户后才可使用

【代码示例】（图片转文档 ）

App app = mService.getApps().waitForApp();

app.pic2doc(picPath);


图片转文档

pic2doc()

传入图片路径，转换为Word文档

方法定义

public void pic2doc(String picPath)

参数描述

参数名 | 类型 | 描述
picPath | String | 图片路径

返回值

Null

使用说明

1. 若没有选中图片或选中不是图片，则toast弹窗"请选择图片类型"
2. 跳转至图片裁剪页面，对图片裁剪

使用示例
public void pic2doc(String
    picPath){
try {
app.pic2doc(picPath);
} catch (RemoteException e)     {
e.printStackTrace();
}
}


图片转表格

pic2ET( )

传入图片路径，转换为Excel表格

方法定义

public void pic2ET(String picPath)

参数描述

参数名 | 类型 | 描述
picPath | String | 图片路径

返回值

Null

使用说明

1. 若没有选中图片或选中不是图片，则toast弹窗"请选择图片类型"
2. 跳转至图片裁剪页面，对图片裁剪

使用示例
public void pic2ET(String picPath){
try
{
app.pic2ET(picPath);
} catch (RemoteException e) {
e.printStackTrace();
}
}


图片转演示

pic2PPT( )

传入图片路径，转换为PPT演示

方法定义

public void pic2PPT(String picPath)

参数描述

参数名 | 类型 | 描述
picPath | String | 图片路径

返回值

Null

使用说明

1. 若没有选中图片或选中不是图片，则toast弹窗"请选择图片类型"
2. 跳转至图片裁剪页面，对图片裁剪

使用示例
public void pic2PPT(String picPath){
try
{
app.pic2PPT(picPath);
} catch (RemoteException e) {
e.printStackTrace();
}
}


图片转PDF

pic2PDF( )

传入图片路径，转换为PDF

方法定义

public void pic2PDF(String picPath)

参数描述

参数名 | 类型 | 描述
picPath | String | 图片路径

返回值

Null

使用说明

1. 若没有选中图片或选中不是图片，则toast弹窗"请选择图片类型"
2. 跳转至图片裁剪页面，对图片裁剪

使用示例
public void pic2PDF(String picPath){
try
{
app.pic2PDF(picPath);
} catch (RemoteException e) {
e.printStackTrace();
}
}


文档处理

【简介】 将“文档处理”的相关接口进行统一归纳整理 。

【详细参数及方法介绍】

对象及方法概要
功能 | 类型 | 方法 | 描述
PDF转DOC | void | pdfkit2doc(String filePath) | 传入PDF文档路径，转换Word文档，内容与PDF一致 参数说明： filePath: 文档路径
PDF提取文字 | void | pdfkitOcr2Text(String filePath) | 传入PDF文档路径，提取文字，导出生成doc文档 参数说明： filePath: 文档路径
PDF签名 | void | pdfkitSign(String filePath) | 传入PDF文件路径，创建签名 参数说明： filePath: 文档路径
PDF标注 | void | pdfkitAnotation(String filePath) | 传入PDF文档路径，可正常进行批注 参数说明： filePath: 文档路径
PDF文档瘦身 | void | pdfkitFileSizeReduce(String filePath) | 传入PDF文档路径，对PDF瘦身操作 参数说明： filePath: 文档路径
PDF提取 | void | pdfkitExtract(String filePath) | 传入PDF文档路径，进入提取页面，提取后的文档，页面顺序和提取列表选择的页面个数一致 参数说明： filePath: 文档路径
PDF合并 | void | pdfkitMerge(String filePath) | 传入PDF文档路径，进入合并页面，并可选择其他PDF文件进行合并，合并后的文档，页面顺序和待合并列表中文档顺序一致 参数说明： filePath: 文档路径
输出为PDF | void | pdfkitDocument2pdf(String filePath) | 传入非pdf格式的文档路径，转换为PDF 参数说明： filePath: 文件路径
提取页面 | void | extractFile(String filePath) | 传入文档路径，进入提取页面 参数说明： filePath: 文档路径
合并文档 | void | mergeFile(String filePath) | 传入文档路径，进入合并页面， 参数说明： filePath: 文档路径

注：增值功能需要激活码激活，并登陆账户后才可使用

【代码示例】（PDF转DOC）

App app = mService.getApps().waitForApp();

app.pdfkit2doc(filePath);


PDF工具包

【简介】 将“PDF工具包”的相关接口进行统一归纳整理 。

【详细参数及方法介绍】

对象及方法概要
功能 | 类型 | 方法 | 描述
PDF转DOC | void | pdfkit2doc(String filePath) | 传入PDF文档路径，转换Word文档，内容与PDF一致 参数说明： filePath: 文档路径
PDF提取文字 | void | pdfkitOcr2Text(String filePath) | 传入PDF文档路径，提取文字，导出生成doc文档 参数说明： filePath: 文档路径
PDF签名 | void | pdfkitSign(String filePath) | 传入PDF文件路径，创建签名 参数说明： filePath: 文档路径
PDF标注 | void | pdfkitAnotation(String filePath) | 传入PDF文档路径，可正常进行批注 参数说明： filePath: 文档路径
PDF文档瘦身 | void | pdfkitFileSizeReduce(String filePath) | 传入PDF文档路径，对PDF瘦身操作 参数说明： filePath: 文档路径
PDF提取 | void | pdfkitExtract(String filePath) | 传入PDF文档路径，进入提取页面，提取后的文档，页面顺序和提取列表选择的页面个数一致 参数说明： filePath: 文档路径
PDF合并 | void | pdfkitMerge(String filePath) | 传入PDF文档路径，进入合并页面，并可选择其他PDF文件进行合并，合并后的文档，页面顺序和待合并列表中文档顺序一致 参数说明： filePath: 文档路径
输出为PDF | void | pdfkitDocument2pdf(String filePath) | 传入非pdf格式的文档路径，转换为PDF 参数说明： filePath: 文件路径

注：增值功能需要激活码激活，并登陆账户后才可使用

【代码示例】（PDF转DOC）

App app = mService.getApps().waitForApp();

app.pdfkit2doc(filePath);


PDF转DOC

pic2doc( )

传入PDF文档路径，转换Word文档，内容与PDF一致

方法定义

public void pdfkit2doc(String filePath)

参数描述

参数名 | 类型 | 描述
filePath | String | PDF文档路径

返回值

Null

使用说明

1. 若没有选中PDF或选中不是PDF，则toast弹窗"请选择pdf类型"
2. 转换Word文档成功，内容与PDF一致。

使用示例
public void pdfkit2doc(String
filePath) {
try
{
app.pdfkit2doc(filePath);
} catch (RemoteException e) {
e.printStackTrace();
}
}


PDF提取文字

pdfkitOcr2Text( )

传入PDF文档路径，提取文字，导出生成doc文档

方法定义

public void pdfkitOcr2Text(String filePath)

参数描述

参数名 | 类型 | 描述
filePath | String | PDF文档路径

返回值

Null

使用说明

1. 若没有选中PDF或选中不是PDF，则toast弹窗"请选择pdf类型"
2. 跳转至【提取文字】界面，提取完成，点击导出可生成doc文档

使用示例
public void pdfkitOcr2Text(String
filePath) {
try {
app.pdfkitOcr2Text(filePath);
} catch (RemoteException e) {
e.printStackTrace();
}
}


PDF签名

pdfkitSign( )

传入PDF文件路径，创建签名

方法定义

public void pdfkitSign(String filePath)

参数描述

参数名 | 类型 | 描述
filePath | String | PDF文档路径

返回值

Null

使用说明

1. 若没有选中PDF或选中不是PDF，则toast弹窗"请选择pdf类型"
2. 点击【创建签名】，跳转至【绘制签名】界面

使用示例
public void pdfkitSign(String filePath) {
try {
app.pdfkitSign(filePath);
} catch (RemoteException e) {
e.printStackTrace();
}
}


PDF标注

pdfkitAnotation( )

传入PDF文档路径，可正常进行批注

方法定义

public void pdfkitAnotation(String filePath)

参数描述

参数名 | 类型 | 描述
filePath | String | PDF文档路径

返回值

Null

使用说明

1. 若没有选中PDF或选中不是PDF，则toast弹窗"请选择pdf类型"
2. 屏幕下方出现批注工具栏，可正常进行批注。

使用示例
public void pdfkitAnotation(String filePath) {
try {
app.pdfkitAnotation(filePath);
} catch
(RemoteException e) {
e.printStackTrace();
}
}


PDF文档瘦身

pdfkitFileSizeReduce( )

传入PDF文档路径，对PDF瘦身操作

方法定义

public void pdfkitFileSizeReduce(String filePath)

参数描述

参数名 | 类型 | 描述
filePath | String | PDF文档路径

返回值

Null

使用说明

1. 若没有选中PDF或选中不是PDF，则toast弹窗"请选择pdf类型"
2. 跳转至【文档瘦身】界面，点击【开始瘦身】

使用示例
public void pdfkitFileSizeReduce(String filePath) {
try {
app.pdfkitFileSizeReduce(filePath);
} catch
(RemoteException e) {
e.printStackTrace();
}

｝


PDF提取

pdfkitExtract( )

传入PDF文档路径，进入提取页面，提取后的文档，页面顺序和提取列表选择的页面个数一致

方法定义

public void pdfkitExtract(String filePath)

参数描述

参数名 | 类型 | 描述
filePath | String | PDF文档路径

返回值

Null

使用说明

1. 若没有选中PDF或选中不是PDF，则toast弹窗"请选择pdf类型"
2. 跳转至【提取】界面，选择PDF页，点击【提取】

使用示例
public void pdfkitExtract(String filePath) {
try {
app.pdfkitExtract(filePath);
} catch
(RemoteException e) {
e.printStackTrace();
}
｝


PDF合并

pdfkitMerge( )

传入PDF文档路径，进入合并页面，并可选择其他PDF文件进行合并，合并后的文档，页面顺序和待合并列表中文档顺序一致

方法定义

public void pdfkitMerge(String filePath)

参数描述

参数名 | 类型 | 描述
filePath | String | PDF文档路径

返回值

Null

使用说明

1. 若没有选中PDF或选中不是PDF，则toast弹窗"请选择pdf类型"
2. 跳转至【合并】界面，点击【添加】可选择其他PDF文件进行合并

使用示例
public void pdfkitMerge(String filePath) {
try {
app.pdfkitMerge(filePath);
} catch
(RemoteException e) {
e.printStackTrace();
}

｝


输出为PDF

pdfkitDocument2pdf( )

传入非pdf格式的文档路径，转换为PDF

方法定义

public void pdfkitDocument2pdf(String filePath)

参数描述

参数名 | 类型 | 描述
filePath | String | 非pdf格式的文档路径

返回值

Null

使用说明

1. 若选择类型不符，则toast弹窗"wps暂不支持该类型文件"
2. 跳转到”保存“页面，可成功输出为PDF
A. 文档转换为PDF成功。 B. 表格转换为PDF成功。C. 演示转换为PDF成功

使用示例
public void pdfkitDocument2pdf(String filePath) {
try {
app.pdfkitDocument2pdf(filePath);
} catch
(RemoteException e) {
e.printStackTrace();
}
}


提取合并

【简介】 将“提取合并”的相关接口进行统一归纳整理 。

【详细参数及方法介绍】

对象及方法概要
功能 | 类型 | 方法 | 描述
提取页面 | void | extractFile(String filePath) | 传入文档路径，进入提取页面 参数说明： filePath: 文档路径
合并文档 | void | mergeFile(String filePath) | 传入文档路径，进入合并页面， 参数说明： filePath: 文档路径

注：增值功能需要激活码激活，并登陆账户后才可使用

【代码示例】（提取页面）

App app = mService.getApps().waitForApp();

app.extractFile(filePath);


提取页面

extractFile( )

传入文档路径，进入提取页面

方法定义

public void extractFile(String filePath)

参数描述

参数名 | 类型 | 描述
filePath | String | 文档路径

返回值

Null

使用说明

1. 若没有选中WPS四大组件或选中不是四大组件，则toast弹窗"wps暂不支持该类型文件"
2. 跳转至【提取】界面，选择页，点击【提取】

使用示例
public void extractFile(String filePath) {
try {
app.extractFile(filePath);
} catch
(RemoteException e) {
e.printStackTrace();
}
}


合并文档

mergeFile ( )

传入文档路径，进入合并页面，

方法定义

public void mergeFile(String filePath)

参数描述

参数名 | 类型 | 描述
filePath | String | 文档路径

返回值

Null

使用说明

1. 若没有选中WPS四大组件或选中不是四大组件，则toast弹窗"wps暂不支持该类型文件"
2. 跳转至【合并】界面，选择页，点击【合并】

使用示例
public void mergeFile(String filePath) {
try {
app.mergeFile(filePath);
} catch
(RemoteException e) {
e.printStackTrace();
}
}


演示播放

【简介】 将“演示播放”的相关接口进行统一归纳整理 。

【详细参数及方法介绍】

对象及方法概要
功能 | 类型 | 方法 | 描述
录制幻灯片 | void | pptPlayRecord(String filePath) | 传入PPT文档路径，对PPT录制操作， 参数说明： filePath: 文档路径
会议 | void | goShareplay() | 跳转”会议“界面，加入或发起会议

注：增值功能需要激活码激活，并登陆账户后才可使用

【代码示例】（录制幻灯片）

App app = mService.getApps().waitForApp();

app.pptPlayRecord(filePath);


录制幻灯片

pptPlayRecord ( )

传入PPT文档路径，对PPT录制操作，

方法定义

public void pptPlayRecord(String filePath)

参数描述

参数名 | 类型 | 描述
filePath | String | 文档路径

返回值

Null

使用说明

1. 若没有选中PPT或选中不是PPT，则toast弹窗"请选择ppt类型"
2. 首次使用，系统弹窗提示“要允许WPS Office 录制音频吗?
3 .录制后保存视频，录制的声音、翻页动作和墨迹都正常录制

使用示例
public void pptPlayRecord(String filePath) {
try {
app.pptPlayRecord(filePath);
} catch
(RemoteException e) {
e.printStackTrace();
}
}


会议

goShareplay()

跳转”会议“界面，加入或发起会议

方法定义

public void goShareplay()

返回值

Null

使用说明

1. 首次使用，系统弹窗提示“要允许WPS Office 录制音频吗?
2. 跳转”会议“界面，可正常使用会议功能。

使用示例

public void goShareplay() {
  try {
    app.goShareplay();
  } catch (RemoteException e) {
    e.printStackTrace();
  }
 }


办公服务

【简介】 将“办公服务”的相关接口进行统一归纳整理 。

【详细参数及方法介绍】

对象及方法概要
功能 | 类型 | 方法 | 描述
文档瘦身 | void | documentBatchSlim() | 【文档瘦身】界面，可进行批量瘦身

注：增值功能需要激活码激活，并登陆账户后才可使用

【代码示例】（文档瘦身）

App app = mService.getApps().waitForApp();

app.documentBatchSlim();


文档瘦身

documentBatchSlim()

【文档瘦身】界面，可进行批量瘦身

方法定义

public void documentBatchSlim()

返回值

Null

使用说明

1. 跳转至【文档瘦身】界面，可进行批量瘦身操作
2. 点击【检索可瘦身内容】，可以进行批量瘦身。

使用示例

public void documentBatchSlim() {
  try {
    app.documentBatchSlim();
  } catch (RemoteException e) {
    e.printStackTrace();
  }


不显示界面调用

通过调用接口，不用打开文档文档显示，直接获取文档信息后，进行相关集成处理。


Word

Word文档后台打开

【示例】：

class LoadDocThread extends Thread
{
String path;
int flag;
boolean isDocShowView;

public LoadDocThread(String path, boolean isShowView) {
this.path = path;
this.isDocShowView = isShowView;
mPath = this.path;
}

  public
void run() {
if (mService == null &&
!bindOfficeService()) {
Util.showToast(mContext,
"操作失败，service连接异常");
return;
}

try {

Intent intent = Util.getOpenIntent(mContext, this.path, true);< /FONT >

// isDocShowView 为true 则显示WPS Office应用程序界面，为false则在后台打开文档不显示WPS Office界面
intent.putExtra("DisplayView", isDocShowView);

    mDoc = mService.openWordDocument(path , "",
intent);
} catch (RemoteException e)
{
mDoc =
null;
e.printStackTrace();
}
}
}


getBuiltInDocumentProperties()

 /**
* 获取DOC文档属性信息
*@docProperName
关键字
*/
public void getDocumentProperties(String
docProperName) {
DocumentProperties prop =
null;
try {
prop =
mDoc.getBuiltInDocumentProperties();
if (prop !=
null)
Util.showToast(mContext,docProperName.toString()
+ ": " + prop.get(docProperName));
else
{
Util.showToast(mContext,
"获取失败，可能版本不支持该接口！");
}
} catch
(RemoteException e) {
Util.showToast(mContext,
FAIL_NOTE);
e.printStackTrace();
}
}

//下面为Word文档全部关键字

获取文档信息选项概要
关键字（docProperName） | 描述 | 备注
Title | 标题 |
Subject | 主题 |
author | 作者 |
Keywords | 标记 |
Comments | 备注 |
Template | 模板 |
Last author | 上次修改作者 |
Revision number | 修订号 |
Application name | 应用程序名称 |
Last print date | 上次打印时间 |
Creation date | 创建时间 |
Last save time | 上次修改时间 |
Total editing time | 编辑时间总计 |
Number of pages | 页数 |
Number of words | 字数 |
Number of characters | 字符总数（不计空格） |
Security | 安全级别 |
Category | 类别 |
Format | 格式 |
Manager | 经理 |
Company | 单位 |
Number of bytes | 大小 |
Number of lines | 行数 |
Number of paragraphs | 段数 |
Number of slides | 幻灯片编号 |
Number of notes | 注释编号 |
Number of hidden Slides | 隐藏幻灯片数 |
Number of multimedia clips | 多媒体剪辑数 |
Hyperlink base | 超链接基础 |
Number of characters (with spaces) | 字符数（计空格） |
Version | 版本号 |

父主题： cn.wps.moffice.service.doc.Document

KingSoft专有和保密信息 版权所有?KingSoft


getText()

 /**
* 获取word文档中指定区域的内容（过滤页面页脚文本）
*/
public void getText() {
if (mDoc != null)
{
Util.showToast(mContext,
"文档未打开，请先打开或者新建文档");
return;
}
try
{

// 获取文档中前0~100直接的文本内容
 Util.showToast(mContext, "DOC文档摘要：" + mDoc.range(0, 100).getText());
} catch (RemoteException e) {
// TODO Auto-generated catch block
 e.printStackTrace();
}

}

父主题： cn.wps.moffice.service.doc.Document

KingSoft专有和保密信息 版权所有 ?KingSoft


Excel

Excel 后台打开

【示例】：

class LoadExcelThread extends Thread {
String mFilePath;
boolean isETShow;

  public
LoadExcelThread(String filePath, boolean isExcelShow)
{
mFilePath = filePath;
isETShow =
isExcelShow;
}

  public
void run() {
// 打开文档
if (mService ==
null && !bindOfficeService())
{
Util.showToast(mContext,
"操作失败，service连接异常");
return;
}

try {
Intent intent = Util.getOpenIntent(mContext, mFilePath, true);
intent.putExtra("DisplayView", isETShow); // isETShow 为false 则不显示WPS界面
mET = mService.getWorkbooks().openBookEx(mFilePath, "", intent);
} catch (RemoteException e) {
mPPT = null;
e.printStackTrace();
}
}


getDocumentProperties()

后台获取Excel文档基本属性信息

/**
* 获取Excel 文档属性
*@ProperName 关键字
*/
public void getPdfProperties(String ProperName) {
try {
if (mExcel.getDocumentProperties() != null)
Util.showToast(mContext, ProperName.toString() + ": "
+ mExcel.getDocumentProperties().get(ProperName));
else {
Util.showToast(mContext, "获取失败，可能版本不支持该接口！");
}
} catch (RemoteException e) {
Util.showToast(mContext, FAIL_NOTE);
e.printStackTrace();
}
}

//下面为文档官方给出的全部关键字

获取文档信息选项概要
类型（ProperName） | 描述 | 备注
title | 标题 |
author | 作者 |
Subject | 主题 | 暂未实现
Keywords | 标记 | 暂未实现
Creator | 创造者 | 暂未实现
Producer | 制作者 | 暂未实现
CreationDate | 创建时间 | 暂未实现
ModDate | 修改时间 | 暂未实现
Trapped | ？ | 暂未实现
Version | 版本号 | 暂未实现

父主题： cn.wps.moffice.service.spreadsheet.Workbook

KingSoft专有和保密信息 版权所有 ?KingSoft


saveToImage()

/**
* 后台打开文档进行指定页截图
*/

public void saveToImage() {
if (mET!= null)
{
Util.showToast(mContext,
"文档未打开，请先打开或者新建文档");
return;
}
try
{
boolean isOk =
mET.getActiveSheet().saveCurrentPage(Define.SDCARD_PATH,
PictureFormat.PNG);
String str = isOk ?  "操作成功" :
"操作失败";
Util.showToast(mContext, str);
}
catch (RemoteException e) {
// TODO
Auto-generated catch
block
e.printStackTrace();
}

}

父主题： cn.wps.moffice.service.spreadsheet.Workbook

KingSoft专有和保密信息 版权所有 ?KingSoft


getText()

 /**
* 获取文档中指定区域的内容（过滤页面页脚文本）
*/
public
void getText() {
if (mExcel != null)
{
Util.showToast(mContext,
"文档未打开，请先打开或者新建文档");
return;
}
try
{

   //
获取文档中前0~100直接的文本内容
Util.showToast(mContext, "文档摘要："
+ mExcel.range(0, 100).getText());
} catch (RemoteException e)
{
// TODO Auto-generated catch
block
e.printStackTrace();
}

}

父主题： cn.wps.moffice.service.spreadsheet.Workbook

KingSoft专有和保密信息 版权所有 ?KingSoft


PPT

PPT 后台打开

【示例】：

class LoadPresentationThread extends Thread {
String mFilePath;
boolean isPptShow;

  public
LoadPresentationThread(String filePath,boolean isPPTShow)
{
mFilePath = filePath;
isPptShow =
isPPTShow;
}

  public
void run() {
if (mService == null &&
!bindOfficeService()) {
Util.showToast(mContext,
"操作失败，service连接异常");
return;
}

   try
{
Intent intent = Util.getOpenIntent(mContext,
mFilePath, true);
intent.putExtra("DisplayView",
isPptShow);  //
isPpt Show 为false 则不显示WPS界面
mPPT = mService.openPresentation(mFilePath, "",
intent);
} catch (RemoteException e)
{
mPPT =
null;
e.printStackTrace();
}
}
}


getDocumentProperties

getDocumentProperties() --不显示界面（不可用） 无法获取属性

后台获取PPT文档基本属性信息

 /**
* 获取PPT文档属性
*@ProperName  关键字
*/
public void getProperties(String ProperName) {
try
{
if (mPpt.getDocumentProperties() !=
null)
Util.showToast(mContext, ProperName.toString()
+ ": "
+
mPpt.getDocumentProperties().get(ProperName));
else
{
Util.showToast(mContext,
"获取失败，可能版本不支持该接口！");
}
} catch
(RemoteException e) {
Util.showToast(mContext,
FAIL_NOTE);
e.printStackTrace();
}
}

//下面为文档官方给出的全部关键字

获取文档信息选项概要
类型（ProperName） | 描述 | 备注
title | 标题 |
author | 作者 |
Subject | 主题 | 暂未实现
Keywords | 标记 | 暂未实现
Creator | 创造者 | 暂未实现
Producer | 制作者 | 暂未实现
CreationDate | 创建时间 | 暂未实现
ModDate | 修改时间 | 暂未实现
Trapped | ？ | 暂未实现
Version | 版本号 | 暂未实现

父主题： cn.wps.moffice.service.presentation.Presentation

KingSoft专有和保密信息 版权所有 ?KingSoft


saveToImage()

/**
* 后台打开文档进行指定页截图
*/

public void saveToImage() {
if (mPPT!= null)
{
Util.showToast(mContext,
"文档未打开，请先打开或者新建文档");
return;
}
try
{
if
(mPPT.getSlide(0).saveToImage(Define.SDCARD_PATH, PictureFormat.PNG, 100, 1) !=
null)
Util.showToast(mContext,"截取首页图片--成功");
else
Util.showToast(mContext,"截取首页图片--失败");

} catch (RemoteException e) {
//
TODO Auto-generated catch
block
e.printStackTrace();
}

}

父主题： cn.wps.moffice.service.presentation.Presentation

KingSoft专有和保密信息 版权所有 ?KingSoft


getText()

 /**
* 获取文档中指定区域的内容（过滤页面页脚文本）
*/
public
void getText() {
if (mPpt != null)
{
Util.showToast(mContext,
"文档未打开，请先打开或者新建文档");
return;
}
try
{

   //
获取文档中前0~100直接的文本内容
Util.showToast(mContext, "文档摘要："
+ mPpt .range(0, 100).getText());
} catch (RemoteException e)
{
// TODO Auto-generated catch
block
e.printStackTrace();
}

}

父主题： cn.wps.moffice.service.presentation.Presentation

KingSoft专有和保密信息 版权所有 ?KingSoft


PDF

PDF 后台打开

【示例】：

class LoadPDFDocThread extends Thread {
String path;
private boolean ispdfShow;

  public
LoadPDFDocThread(String path, boolean ispdfShow)
{
this.path = path;
this.ispdfShow =
ispdfShow;
}

  public
void run() {
if (mService == null &&
!bindOfficeService()) {
Util.showToast(mContext,
"操作失败，service连接异常");
return;
}

   try
{
Intent intent = Util.getPDFOpenIntent(mContext,
this.path, true);

if (!ispdfShow)
mPdf = mService.openPdfDocument(path, ""); //内核方式获取文档对象
 else
mPdfReader = mService.openPDFReader(path, "", intent);

   }
catch (RemoteException e) {
mPdfReader =
null;
e.printStackTrace();
}
}
}


缓存加密

接口方法：

mService.setSecurityKey("abcdef0123456789".getBytes());

方法说明：在打开文档前调用该接口，设置缓存加密的key，key设置要求为：16字节数字和字母的组合，可以根据企业需要自己定义。

PS：该接口生效需要编译特定版本。 --cryption --cryption-key-mofficeprovider


原生菜单控制

Office界面菜单控制

【概述】

由外部应用来控制WPS的部分功能是否可以使用，以实现企业对WPS的多元化需求，提高办公文档的安全性以及界面菜单的自定义处理。

注意： 实现该功能，需要在您的APP中先实现agent、client机制 。

WPS在执行被限制的功能前，会通过连接好的Service，在OfficeEventListenerImpl类中调用相关方法控制WPS面板工具菜单：

目前一共提供了三种菜单控制方法，分别如下：

No. | 接口方法 | 方法介绍 | 备注
1 | isActionAllowed | 控制部分功能不可用（包括长按菜单） | -
2 | isViewForbidden | 控制程序界面按钮置灰不可用 | 仅可控制Word文档，其他类型文档暂不支持
3 | isViewInVisible | 控制程序界面按钮隐藏不显示 | 1.仅可控制Word文档，其他类型文档暂不支持 2.平板界面，可以控制整个Tab隐藏或者Tab下某个功能按钮隐藏 3.手机界面，只能控制整个Tab隐藏，不可控制单个按钮隐藏


isActionAllowed

isActionAllowed方法介绍

代码示例：

/**下面以限制复制功能为例*/

@Override

public boolean isActionAllowed(String path, ActionType type) throws RemoteException

{

//控制剪切功能不可用

      if
(type.equals(ActionType.AT_CUT))
{
return false;
}

}

注：path为当前文档的打开路径，type为事件类型，下面是各个事件的对应参数

功能事件 | 参数 | WORD | EXCEL | PPT | PDF
保存 | AT_SAVE | 已实现 | 已实现 | 已实现 | 未实现
另存为 | AT_SAVEAS | 已实现 | 已实现 | 已实现 | 已实现
复制 | AT_COPY | 已实现 | 已实现 | 已实现 | 无需控制
剪切 | AT_CUT | 已实现 | 已实现 | 已实现 | 无需控制
粘贴 | AT_PASTE | 已实现 | 已实现 | 已实现 | 无需控制
分享与发送 | AT_SHARE | 已实现 | 已实现 | 已实现 | 已实现
打印 | AT_PRINT | 已实现 | 已实现 | 已实现 | 已实现
拼写检查 | AT_SPELLCHECK | 已实现 | 无需控制 | 无需控制 | 无需控制
多文档切换 | AT_MULTIDOCCHANGE | 已实现 | 已实现 | 已实现 | 已实现
允许修改批注修订的作者名 | AT_CHANGE_COMMENT_USER | 已实现 | 无需控制 | 无需控制 | 无需控制
共享播放 | AT_SHARE_PLAY | 无需控制 | 无需控制 | 已实现 | 无需控制
表格背板 | AT_GRID_BACKBOARD | 无需控制 | 已实现 | 无需控制 | 无需控制
输出为PDF | AT_EXPORT_AS_PDF | 已实现 | 无需控制 | 无需控制 | 无需控制
查词图标（Word文档上下文菜单） | AT_MENU_FIND | 已实现 | 无需控制 | 无需控制 | 无需控制


isViewForbidden

isViewForbidden方法介绍（仅Word文档可用）

代码示例：

@Override
public boolean isViewForbidden(String arg0, ViewType arg1)
throws RemoteException {

     //控制文件 tab 菜单中的“打印”功能按钮置灰不可用
if (arg1 == ViewType.VT_FILE_PRINT)
{
return true;
}
return
false;
}

附录：ViewType列表


isViewInVisible

isViewInVisible方法介绍 （仅Word文档可用）

代码示例：

@Override
public boolean isViewInVisible(String arg0, ViewType arg1)
throws RemoteException {

       //
控制“审阅”以及“笔” tab
菜单隐藏
if (arg1 ==
ViewType.VT_MENU_REVIEW || arg1 == ViewType.VT_MENU_PEN) {
return true;
}

return false;
}

附录：ViewType列表


ViewType列表

接口参数 | 控制菜单 | 手机 | 平板
VT_MENU_FILE | 菜单-“文件” | 已支持 | 已支持
VT_FILE_SAVE | 文件-保存 | 已支持 | 已支持
VT_FILE_SAVEAS | 文件-另存为 | 已支持 | 已支持
VT_FILE_SHARE | 文件-分享与发送 | 已支持 | 已支持
VT_FILE_PRINT | 文件-打印 | 已支持 | 已支持
VT_FILE_FILEINFO | 文件-文档信息 | 已支持 | 已支持
VT_MENU_VIEW | 菜单-“查看” | 已支持 | 已支持
VT_VIEW_READER | 查看-阅读器 | 没有该功能选项 | 已支持
VT_VIEW_FIND | 查看-查找 | 已支持（查找替换） | 已支持
VT_VIEW_ALLBOOKBARKS | 查看-所有书签 | 已支持 | 已支持
VT_WORDCOUNT | 查看/审阅-字数统计 | 已支持 | 已支持
VT_VIEW_READINGSETTINGS | 查看-阅读设置 | 已支持 | 已支持
VT_EDIT_PAGESETUP | 查看-页面设置 | 已支持 | 已支持
VT_MENU_EDIT | 菜单-“编辑” | 没有该功能选项 | 已支持
VT_EDIT_COP已支持 | 编辑-复制 | 已支持 | 已支持
VT_EDIT_CUT | 编辑-剪切 | 已支持 | 已支持
VT_EDIT_PASTE | 编辑-粘贴 | 已支持 | 已支持
VT_EDIT_FONT | 编辑-字体 | 没有该功能选项 | 已支持
VT_EDIT_PARAGRAPH | 编辑-段落 | 没有该功能选项 | 已支持
VT_EDIT_BULLETS | 编辑-符号编号 | 没有该功能选项 | 已支持
VT_EDIT_ST已支持LE | 编辑-样式 | 没有该功能选项 | 已支持
VT_EDIT_PAGEBACKGROUND | 编辑-页面背景 | 没有该功能选项 | 已支持
VT_MENU_INSERT | 菜单-“插入” | 已支持 | 已支持
VT_INSERT_PICTURE | 插入-图片 | 已支持 | 已支持
VT_INSERT_TABLE | 插入-表格 | 已支持 | 已支持
VT_INSERT_SHAPE | 插入-形状 | 已支持 | 已支持
VT_INSERT_PAGEBREAK | 插入-分页符 | 已支持 | 已支持
VT_INSERT_HEADERFOOTER | 插入-页眉页脚 | 已支持 | 已支持
VT_INSERT_PAGENUMBER | 插入-页码 | 已支持 | 已支持
VT_INSERT_H已支持PERLINK | 插入-超链接 | 已支持 | 已支持
VT_INSERT_BOOKMARK | 插入-书签 | 已支持 | 已支持
VT_INSERT_TEXTBOX | 插入-文本框 | 已支持 | 已支持
VT_INSERT_DATETIME | 插入-时间和日期 | 已支持 | 已支持
VT_INSERT_EVERNOTE | 插入-Evernote（笔记） | 已支持 | 已支持
VT_COMMENT | 插入/审阅-批注 | 已支持 | 已支持
VT_MENU_REVIEW | 菜单-“审阅” | 已支持 | 已支持
VT_REVIEW_SPELLCHECK | 审阅-拼写检查 | 已支持 | 已支持
VT_REVIEW_SHOW | 审阅-显示批注修订 | 不支持 | 已支持
VT_REVIEW_ENTERREVISEMODE | 审阅-进入修订模式 | 不支持 | 已支持
VT_REVIEW_EXITREVISEMODE | 审阅-退出修订模式 | 不支持 | 已支持
VT_REVIEW_ACCEPTALLREVISIONS | 审阅-接受所有修订 | 不支持 | 已支持
VT_REVIEW_REJECTALLREVISIONS | 审阅-拒绝所有修订 | 不支持 | 已支持
VT_REVIEW_MODIF已支持_USERNAME | 审阅-更改用户名 | 不支持 | 已支持
VT_MENU_PEN | 菜单-“笔” | 已支持 | 已支持
VT_PEN_B已支持FINGER | 笔-使用手指 | 不支持 | 已支持
VT_PEN_PEN | 笔-笔类型 | 不支持 | 已支持
VT_PEN_HIGHLIGHTER | 笔-高亮类型 | 不支持 | 已支持
VT_PEN_ERASER | 笔-橡皮擦 | 不支持 | 已支持
VT_PEN_COLOR | 笔-颜色 | 不支持 | 已支持
VT_PEN_THICKNESS | 笔-粗细 | 不支持 | 已支持
VT_MENU_FONT | 菜单-“开始” | 已支持 | 没有该功能选项

接口参数 | 控制菜单
开始 | VT_MENU_FONT
文件 | VT_MENU_FILE
插入 | VT_MENU_INSERT
查看 | VT_MENU_VIEW
审阅 | VT_MENU_REVIEW
笔 | VT_MENU_PEN


自定义菜单

当前仅支持Word文档菜单控制。


1、菜单定制

1、首先在项目assets目录下添加一个自定义菜单XML控制文件（如图所示）

2、在cn.wps.moffice.demo.client.OfficeEventListenerImpl类中的onMenuAtion方法中添加事件。

/**
* 自定义菜单，path为文档路径，id为传入的菜单按钮id
*/
@Override

public void onMenuAtion(String path, String id) throws RemoteException {

// TODO Auto-generated method stub

}

实例参考：

3. 最后如何传参：bundle.putString(Define.MENU_XML, Util.assetsFileRead(customMenu, context));

  • 其中customMenu 为自定义菜单XML文件 ，比如“menu.xml”；
  • public static final String MENU_XML = "MenuXML" ；
  • Util.assetsFileRead(customMenu, context) 这里由Util.assetsFileRead()方法读取菜单布局文件的内容，再以参数的形式传来service来决定如何显示自定义菜单布局

Util.assetsFileRead()的方法见下代码：

/**
* 读取assets目录下文件内容
* @param fileName -xml文件名称
* @param context -Context对象
* @return
*/
public static String assetsFileRead(String fileName, Context context) {
String ret = "";
try {
InputStream is = context.getAssets().open(fileName);
int len = is.available();
byte[] buffer = new byte[len];
is.read(buffer);
ret = EncodingUtils.getString(buffer, "utf-8");
is.close();
} catch (Exception e) {
e.printStackTrace();
}
return ret;
}

}


动态更新 text

1、在menu.xml文件中以<var_item>**</var_item>标识的ID标记为允许更新对应的文本内容(以menu.xml为例，如图所示）

2、在OfficeEventListenerImpl类中添加了getMenuText()方法中，使用方法如图所示。注：传入的id必须以<var_item>**</var_item>标识，否则变更无效。


文档的加解密

WPS Android 专业版

  • 功能基本结构流程

1、专业版加解密机制基本架构图

专业版加解密机制架构图

2、打开加密文档基本流程图

流程描述：

示例：打开具有特殊加密的文档

1、从第三方应用中启动Server （即WPS，以下称WPS）打开某个文件，启动 WPS时会传入第三方包名。

2、WPS首先绑定Agent，同时传入调用WPS的第三方包名，如果绑定成功且第三方包名验证正确， WPS向 Agent请求 Client认证信息列表（即JSON数据包）。

3 、 WPS根据返回的 Client认证信息列表，解析出Client的信息，然后依次绑定 Client。

4、若有一个Client绑定成功后，获取该Client的验证码和Client列表汇总的验证对比，并验证该Client的权限。

5、认证成功后，WPS将打开文件的事件传递给Client。

6、Client对文件进行解密，并将解密结果传递给WPS。

PS：相关方法可以参考AIDL控制中的Agent、Client的方法实现。


文档不落地打开

方式：以流文件方式传递文件数据打开。

实现方式介绍：

集成 Agent、Client 机制，绑定 WPS Office service 后，修改 Client 端 OfficeClientEventListener对象及方法，大致如下：

【打开文档】

onOpenFile( in String path, in OfficeOutputStream output)

其中，OfficeOutputStream 即：打开的文件流，默认来源是根据打开路径下的文档，

需要打开第三方传过来的文件流时，替换此处的 output 流，即可实现打开流文件的模式。

关于这里提到的文档路径，因为Office打开文档，本地必须有一个路径文档处理，

此处，可以在本地创建一份模拟的文档（文档要求：不能为0KB），文档的创建第三方APP自行处理完成。

【保存文档】

onSaveFile( in OfficeInputStream input, in String path)

如需要编辑修改文档，将文件流传回服务器，可以截取该方法中的OfficeInputStream 进行处理。


个人版&企业版区分调用

个人版&专业版区分调用

问题：设备同时安装了个人版和企业版，如果指定调用专业版？

解决方法：intent指定调用专业版，代码示例如下：

intent.setClassName("com.kingsoft.moffice_pro", "cn.wps.moffice.documentmanager.PreStartActivity2");

个人版包名：cn.wps.moffice_eng

专业版包名：com.kingsoft.moffice_pro


AIDL方式调用注意

在部分设备上，由于设备系统做了一些特殊权限的限制，导致通过AIDL方式不能正常使用。
具体现象有如下三种类型：
【类型1】
应用A不让应用B的servic在后台冷启动
已知设备型号：华为、小米。
解决：通过先启动一个空activity，唤醒进程，再bindService，进行后续通讯，具体方法见“华为自启动权限 ”。
【类型2】
bindService通讯正常，但service在后台运行时，自主启动activity打开文档的行为被系统冻结
已知设备型号：OPPO
解决：打开文档的行为由wps的service转移到交给企业调用方。具体方法见“OPPO类自启动”。
【类型3】
不管任何情况，所有bindService行为，都会失败。除非打开后台限制。
已知设备型号：魅族
解决：只能联系厂商在系统添加默认允许自启动白名单处理，或人工操作修改设置权限。
针对该情况，可以调用WPS提供的广播消息，检查服务是否链接正常，APP可以根据该广播结果处理提示用户开启权限或其他操作。
public static final String BROAD_THIRD_AGENT_CONN = "cn.wps.moffice.agent.connected"; //广播的设置接收，可以参考demo代码
附：魅族设备设置权限步骤
1. 启动“手机管家”APP（系统自带应用）
2. 选择：权限管理---自启动管理
3. 在应用列表中找到WPS Office程序后设置允许自启动
注意：如果企业APP有使用到需要WPS回调的事件，企业的APP也需要做该设置，才能保证WPS能正常回调。
附：部分设备设置自启动步骤：


servic后台冷启动被禁

【问题描述】

部分设备系统（如华为、小米），应用未开启自启动权限时，

第三方AIDL打开文档时会因Office service无法启动绑定导致不能正常打开文档处理。

【解决办法】

在bindOfficeService方法中，添加如下代码：

  final Intent startAppIntent = new
Intent();
startAppIntent.setClassName("com.kingsoft.moffice_pro",
"cn.wps.moffice.second_dev.StartAppActivity");
startAppIntent.setAction("cn.wps.moffice.second_dev.StartApp");
startAppIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startAppIntent);

// 由于启动Office进程、服务需要一定时间，第三方APP可以加入循环判断，在绑定Office Service成功后再执行后续流程，示例代码如下：

// 尝试5s内进行循环绑定确认，绑定成功后退出。如5s都无法绑定，提示“服务绑定失败”。尝试绑定的循环时间机制，企业可以根据需要自行调整。

  boolean
  bindOk = false;
for (int i = 0 ; i < 10 ;
  ++i)
{
bindOk = bindService(intent,
  connection,
  Service.BIND_AUTO_CREATE);

if
  (bindOk)
break;
else
{
try
{
Thread.sleep(500);
}
catch (InterruptedException
  e)
{
e.printStackTrace();
break;
}
}

}

if
  (!bindOk)
{
// bind failed, maybe wps
  office is not installd yet.
Util.showToast(mContext,
  "服务绑定失败！");
unbindService(connection);
return
  false;
}

方法解释：第三方APP，通过该方法，调用启动Office指定的Activity，Office内部通过该 Activity 启动Service完成 AIDL 绑定的准备。

PS：

1.WPS Office v9.2.8 版本开始支持该处理。

2.该方案仅针对华为设备权限的处理，如其他设备有类似权限，可能方案未必通用。


OPPO类自启动

【问题描述】

无论是否开启Office自启动权限，第三方AIDL方式打开文档调起WPS都会失败。

原因：第三方AIDL方式打开文档时，自主启动activity打开文档的行为在Office Service内被冻结。

【解决办法】

打开文档的行为不能发生在Office Service内，需要将打开行为移动到第三方APP。

在打开文档的子线程内，修改打开文档相关代码：

1）Word打开文档示例：

Intent intent = Util.getOpenIntent(mContext, this.path, true);

//打开文档行为发生在第三方

Intent i = mService.getDocuments().getDocumentIntent(path, "", intent);

i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(i) ;

mDoc = mService.getDocuments().waitForDocument(path);//获取文档对象

2）Excel打开文档示例：

Intent
intent = Util.getOpenIntent(mContext, mFilePath, true);
Intent i =
  mService.getWorkbooks().getBookExIntent(mFilePath, "", intent);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
mWorkBook =
 mService.getWorkbooks().waitForWorkbook(mFilePath);

3）PPT打开文档示例：

Intent
intent = Util.getOpenIntent(mContext, mFilePath, true);
Intent i =
  mService.getPresentations().getPresentationIntent(mFilePath, "",
intent);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
mPresentation =
 mService.getPresentations().waitForPresentation(mFilePath);

4）PDF打开文档示例：

Intent
intent = Util.getPDFOpenIntent(mContext, this.path, true);
Intent i =
  mService.getPDFReaders().getPDFReaderIntent(path, "", intent);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
mPdfReader =
 mService.getPDFReaders().waitForPDFReader(path);

PS：

1、WPS Office 9.2.9版本开始支持该处理，原有AIDL接口已不适用，需要确保工程中导入的moffice-service.jar包和moffice-service-base.jar包是最新的。

2、处理后，WPS无需开启自启动权限，第三方AIDL方式打开文档也能成功。

3、该方案仅针对oppo设备的自启动权限处理，其他设备若有类似自启动问题，该方案未必适用。


4、包名类名

WPS Android版参数控制介绍

WPS Office 包名类名相关参数

参数名 | 值
className | cn.wps.moffice.documentmanager.PreStartActivity2
packageName | com.kingsoft.moffice_pro