已收录

【鸿蒙二开】WPS SDK 水印与修订配置

社区里做鸿蒙 WPS 文档二开时,文档能打开后,下一问往往是:怎么加预览水印?怎么以修订模式打开?在 WPS Open SDK 鸿蒙对接里,这两类配置都挂在同一次 OpenFileRequest 上,不必另走一套接口。下文按清单写,方便对照联调。细节以官方对接文档为准。

能力落点与调用顺序

能力

入口

水印

OpenFileRequest.wpsWaterMarkParamsWaterMark

修订

OpenFileRequest.wpsRevisionParamsRevision

只读/可编辑

enableEdit

关窗回传

wpsTransferType / enableTransferFile

先注册成功,再打开。路径建议先拷进应用沙箱。推荐顺序:集成 HAR 并对齐包名与 appKey / appSecretregisterAppResultCode.OK → 需要时在回调里 setWpsFileToken(不要写 request.wpsToken)→ 选择器文件拷进 context.filesDirnew OpenFileRequest → 设 enableEdit → 设水印/修订 → WPSApi.sendRequest。未注册就发送会抛异常,不是带 code 的打开失败。1013 先查凭据与 Bundle,不要用改水印去排。

水印与修订清单

水印:Enable = trueWaterMaskText 非空,可选 Angle / FontColor / FontSize,赋给 wpsWaterMarkParams。只读预览也可以带水印。颜色过淡时,先调深确认逻辑再调美观。

修订:EnterReviseMode = trueUserName 有业务意义,通常配合 enableEdit = true,可选 ShowRevisionPanelEnterRevisionSilent。只读状态下设修订,用户侧常感觉「没生效」。静默进入可减少弹窗,日志仍要记录。

代码与封装

const req = new OpenFileRequest(ctx, sandboxPath);
// 预览:false 或不赋值;编辑:必须 true
req.enableEdit = editable;

const wm = new WaterMark();
wm.Enable = true;
wm.WaterMaskText = text;
req.wpsWaterMarkParams = wm;

const rev = new Revision();
rev.UserName = user;
rev.EnterReviseMode = true;
req.wpsRevisionParams = rev;

const result = await WPSApi.sendRequest(req);
if (result.code !== ResultCode.OK) {
  console.error(result.code, result.msg);
  return;
}
// 未开回传时 OK + data==null 表示拉起成功

预览与编辑共用同一个 openLocal(ctx, src, ext, editable, policy),页面入口只传参数。全仓尽量只留一处 new OpenFileRequest。Ability 启动阶段完成注册,页面只读 ready 状态;点开里再构造 Request。

联调、现象与小结

联调勾选:注册 code=0 → 沙箱只读 → 只读 + 水印 → 可编辑传 true → 可编辑 + 修订 → 未注册进 .catch → 换 HAR 后 clean 再只读回归。

现象

优先查

抛异常

是否未注册就发送

返回 1013

Bundle / key / HAR 是否对齐

打不开文档

是否未拷进沙箱

看不见水印

是否未设 Enable = true

修订看起来无效

是否未开 enableEdit = true

OK 且 data 为空

是否未开回传(预期)

不要在同一轮联调里同时改 Inbox 路径、Token 与 enableEdit。调试包与正式包包名不同时分开申请凭据。官方把打开模式收成 enableEdit 一支配置:默认只读,显式 true 才可编辑。水印与回传正交;未开回传时 OK + 空 data 是正常现象。社区联调建议带齐:HAR 名、Bundle、注册 code/msg、打开 code/msg、本次 enableEdit、水印文字长度、是否进修订。把双入口共用封装写进 Demo README,比口头约定更稳。Release 包禁止打印完整 appSecret。预览与编辑共用 helper,策略字段显式赋值,漏 Enable 或只读进修订会少很多。

更多参数见官方对接文档:https://365.kdocs.cn/l/clQl5cek2NoT

申请 SDK HAR 与凭据:m_open_sdk@wps.cn(注明包名与专业版/个人版需求)。

技术交流 QQ 群:628436767

湖北省
浏览 89
收藏
3
分享
3 +1
+1
全部评论