调用StartSlideShow正常,调用GoToNextSlideInSlideShow后提示“使用文档时出错使用下载为选项将文件备份副本保存到驱动器”
您好,
请提供复现该问题的录屏
2025-05-09 16-13-47.mkv (7.0 MB)
this.$nextTick(() => {
console.log(“播放ppt”);
const media =
this.programList[this.selectedMainProgram].programs[
this.selectedSonProgram
].media;
let url = this.resourceRoot + media;
let key =
this.programList[this.selectedMainProgram].prefix +
this.selectedSonProgram;
url =
“https://center-control-1320487003.cos.ap-guangzhou.myqcloud.com/loop.pptx”;
key = “856221365”;
const that = this;
this.docEditor = new DocsAPI.DocEditor(“placeholder”, {
events: {
onSlideEnd: function () {
console.log(“ppt is over”);
},
onAppReady() {},
},
document: {
fileType: “pptx”,
//每次打开需要生成不同的key
key: key,
title: “test.pptx”,
//地址必须文件服务器能访问到
url: url,
},
editorConfig: {
//回调地址,当点击保存时触发,wjbh为数据库的文件标识,可以在回调方法中做业务处理,回调程序的服务器必须能访问到文件服务器
callbackUrl:
“http://” +
this.hostname +
“:8093/system/api/callbackSave?wjbh=” +
key,
lang: “zh-CN”, // 中文
//“mode”: “view”,//查看模式
mode: “view”, //编辑模式
customization: {
//定制部分允许自定义编辑器界面,使其看起来像您的其他产品,并更改是否存在其他按钮,链接,更改徽标和编辑者所有者详细信息。
autoplay: true, // 启用自动播放
loop: true, // 启用循环播放
macros: true, //定义是否将运行文档宏以及可用的宏设置。默认值为true。
macrosMode: “warn”, //定义是否将运行文档宏。可以采用以下值: disable -根本不运行;enable -自动运行所有宏;warn -警告宏并请求允许运行。默认值为original。
plugins: true, //定义是否将启动插件并可用。默认值为true。
},
},
user: {
//用户信息
id: “111111”, //用户ID
name: “Admin”, //用户全名称
},
// “documentType”: “cell”,//表格
//“documentType”: “word”,//文档
documentType: “slide”, //ppt演示
// type: “embedded”,
frameEditorId: "iframeEditor",
});
});
2025-05-09 16-13-47.mkv (7.0 MB)
请澄清您是如何使用该方法的?
在上述提供的代码片段中并没有使用该方法。
我们测试了该方法,它的工作效果符合预期,没什么问题
您的使用场景是什么?您具体想实现什么功能?请尽可能详细地说明
我的使用场景是初始化docEditor后,模式是ppt view 有一组按钮 通过按钮实现ppt的播放 暂停 上一页 下一页 这里我只贴了初始化的代码 事实上 通过按钮播放ppt是没有任何问题的 但是播放后调用this.docEditor.serviceCommand(“PauseSlideShow”, null); this.docEditor.serviceCommand(“GoToPreviousSlideInSlideShow”, null);this.docEditor.serviceCommand(“GoToNextSlideInSlideShow”, null);都会被提示 “使用文档时出错使用下载为选项将文件备份副本保存到驱动器”
There is no serviceCommand method in our API, to implement goToNextSlideShow you need to use executeMethod (given that you have Automation API, because otherwise there is no way to call plugin methods, etc. from outside the Editor frame) -
var connector=docEditor.createConnector;
connector.executeMethod("GoToNextSlideInSlideShow");
It works as expected
要实现幻灯片播放中的“跳转到下一页”,需要使用 executeMethod
方法(前提是您拥有 Automation API,因为没有它,就无法从编辑器框架外部调用插件方法等)。
示例代码如下:
var connector = docEditor.createConnector;
connector.executeMethod("GoToNextSlideInSlideShow");
这个方法可以正常使用。