2.1.6 或以上
版本的 SDK 支持 Token 鉴权,若您需要升级鉴权方式,可参考 如何 从AppSign 鉴权升级为 Token 鉴权。本节分为四个部分来介绍 ZegoDocsView SDK:
/** 引入 ZegoExpressDocs SDK */
const ZegoExpressDocs = window.require('zego-express-docsview-electron');
/**
* 初始化 ZegoExpressDocs SDK
* @param appID: ZEGO 为开发者签发的应用 ID,请从 ZEGO 控制台申请
* @param appSign: ZEGO 为开发者签发的应用 appSign,请从 ZEGO 控制台申请
* @param dataFolder: 可选,SDK 内部数据保存目录,开发者无需关注此目录下的具体内容
* @param cacheFolder: 可选,SDK 缓存保存目录
* @param logFolder: 可选,日志保存目录,记录 SDK 运行过程中的日志,便于定位
*/
const zegoExpressDocs = new ZegoExpressDocs({
appID,
appSign,
dataFolder,
cacheFolder,
logFolder
});
如果您需要切换鉴权方式,请参考 如何从 AppSign 鉴权升级为 Token 鉴权。
调用 ZegoExpressDocs 的上传文件方法上传文件到 ZEGO 文件云服务,上传成功之后,会获取到该文件的 fileID,开发者就可以调用 ZegoDocsView 的 loadFile 接口,传入 fileID 加载该文件。
上传的文件必须满足相应的规范:
文件请使用 Microsoft Office 2013 或以上版本编辑/保存,不支持低版本 Microsoft Office 或其他办公软件保存的文件,如 WPS、Keynote、Microsoft Office 2003 等。
文件必须是可编辑的,不支持“只读”、“加密”、或其他保护的文档,否则会导致转码失败。
全部规范请参考 概述 - 文件规范。
文件上传过程中有多个阶段,开发者需要特别关注以下两个阶段:
{"uploadPercent":50}
;当前上传 100%,则 “data” 内容为 {"uploadPercent":100}
。 {"fileID":"ekxxxxxxxxv"}
。fileID 对应的值即为文件 fileID。其他上传阶段请参考 ZegoDocsViewUploadModel。
调用 uploadFile 方法上传普通文件。
//上传文件后转码后渲染模式类型,如果用户涉及到 iOS、Web、Windows、Mac、小程序各端的业务,推荐使用 ZegoDocsViewRenderTypeVectorAndIMG 模式。
zegoExpressDocs.uploadFile(file, renderType)
建议关注以下事件:
//当上传文件时,会收到上传文件 uploadFile 的回调
zegoExpressDocs.on('onUpload', function(data: ZegoDocsViewUploadModel){
...
})
调用 uploadH5File 上传 H5 文件。
/***
*@param myFile: 上传文件
*@param config: H5课件相关配置信息
*@param listener: 上传的进度的回调
*/
zegoExpressDocs.uploadH5File(myFile, config, function (res) {
console.log('uploadH5File', res);
}).then(function (res) {
console.log('uploadH5FileID', res);
});
调用 createView 创建 ZegoDocsView。
/**
* 创建 docView
* @param parent: ZegoDocsView 挂载容器 ID
* eg: <div id="parent"></div>
*/
const docView = zegoExpressDocs.createView(parent);
调用 loadFile 将文件添加到视图。
// authKey 可为空字符串
docView.loadFile(fileID, authKey)
建议关注以下事件:
// 当上传文件时,会收到上传文件 loadFile 的回调,得到加载目标文件的相关信息
zegoExpressDocs.on('onLoadFile', function(data: ZegoDocsViewLoadFileModel){
...
})
如果遇到加载失败的情况,请参考 常见错误码。常见的原因如下:
/**
* 跳转到指定页位置。
* @param page: 跳转目标页,从 1 开始
* @param step: 跳转目标页对应的 step,从1开始(仅针对动态PPT)
*/
docView.flipPage(page: number, step?: number)
// 举例:非动态PPT 跳转到第3页。
docView.flipPage(3)
// 举例:动态PPT 跳转到第2页,第4步。
docView.flipPage(2,4)
/**
* 跳转到纵向偏移百分比。
* @param verticalPercent: 纵向偏移百分比,参数取值范围 0.00 ~ 1.00,例如要跳转到一半的位置,则传入参数为 0.50
*/
docView.scrollTo(verticalPercent: number)
加载文件成功后,可调用 setScaleFactor 对文件进行缩放。
/**
* 缩放
* @param scaleFactor: 缩放倍数,不小于 1 的正数
* @param scaleOffsetX: X轴缩放偏移量
* @param scaleOffsetY: Y轴缩放偏移量
* @note 目前偏移量尚未支持,可不传
*/
docView.setScaleFactor(scaleFactor: number, scaleOffsetX?: number, scaleOffsetY?: number)
/**
* 获取缩放对象
* @return {scaleFactor: 缩放倍数; scaleOffsetX: X轴缩放偏移量; scaleOffsetY: Y轴缩放偏移量}
*/
docView.getScaleFactor(): {scaleFactor: number; scaleOffsetX: number; scaleOffsetY: number}
加载文件成功后,可调用 getThumbnailUrlList 获取文件缩略图。
/**
* 获取当前文件缩略图列表,仅支持 PDF,PPT,动态PPT,H5 文件格式,可在文件加载成功后调用
* @return 文件缩略图URL数组
*/
docView.getThumbnailUrlList(): Array<string>
如果开发者上传的文件是 Excel 文件,而且存在很多个 sheet 页,可以使用 switchSheet 接口切换 sheet 页,sheet 页从 0 开始。
docView.switchSheet(sheetIndex)
动态 PPT,即文件类型为 “ZegoDocsViewFileTypeDynamicPPTH5” 的文件,这种类型的文件每一页可能会有多个步骤(step)。
如果开发者上传的文件是动态 PPT 文件,可以通过 nextStep 和 previousStep 方法进行动态 PPT 的上一步和下一步的操作,实现动态 PPT 的上下步跳转。动态 PPT 的操作需要在文件加载完成后才能调用。
/**
* 下一步,仅针对动态 PPT ZegoDocsViewFileTypeDynamicPPTH5 类型操作
*/
docView.nextStep()
/**
* 上一步,仅针对动态 PPT ZegoDocsViewFileTypeDynamicPPTH5 类型操作
*/
docView.previousStep()
开发者可以在文件共享示例项目中,体验文件共享业务,并查看完整的源码和代码逻辑,详情请参考 文件共享 - 下载示例源码。
联系我们
文档反馈