当前位置: 首页 > news >正文

使用WPS插件实现预览

以下是使用html页面进行示例,主要需求就是通过这个wpsjssdk实现在线预览链接的部分操作。
首先引入<script src="jsPlung/web-office-sdk-v1.1.19.umd.js"></script>这个插件,这里引入的是1.1.19版本,其使用的wps的jdk文档可看WebOffice 知识库。
下面是方法的引用

new Vue({ el: '#app', data() { return { // WPS 实例 wpsInstance: null, wpsApp: null, currentWpsUrl: '', }, mounted() { this.$nextTick(() => { this.initWps(); this.setDefaultSelection(); }); }, beforeDestroy() { this.destroyWps(); }, methods: { async initWps() { if (!this.currentUrl) { this.error.wps = true; this.error.message = '缺少 WPS 文档地址'; return; } this.loading.wps = true; this.error.wps = false; try { // 销毁旧实例 this.destroyWps(); // 配置 WPS this.wpsInstance = WPS.config({ url: this.currentUrl, mount: document.querySelector('#office') }); // 等待初始化完成 await this.wpsInstance.ready(); // 获取 Application 对象 this.wpsApp = this.wpsInstance.Application; // 控制目录显示(false 表示隐藏 WPS 自带目录) if (this.wpsApp && this.wpsApp.ActiveDocument) { this.wpsApp.ActiveDocument.ActiveWindow.DocumentMap = false; } this.loading.wps = false; } catch (error) { console.error('WPS Init Error:', error); this.error.wps = true; this.error.message = 'WPS 初始化失败:' + (error.message || '未知错误'); this.loading.wps = false; } }, destroyWps() { this.unbindWpsScrollEvent(); if (this.wpsInstance) { try { if (typeof this.wpsInstance.destroy === 'function') { this.wpsInstance.destroy(); } } catch (e) { console.warn('WPS destroy error:', e); } this.wpsInstance = null; this.wpsApp = null; } }, reloadWps() { this.initWps(); }, }

下面是页面的显示,具体样式可根据不同需求进行显示

<mainclass="preview-main"><!-- <div class="preview-title">{{ currentTitle }}</div> --><divclass="wps-container"><!-- WPS 挂载点 --><divid="office"></div><!-- 加载中 --><divv-if="loading.wps"class="loading-mask"><iclass="el-icon-loading"></i><span>正在加载 WPS 文档...</span></div><!-- 错误提示 --><divv-if="error.wps"class="loading-mask error-tip"><iclass="el-icon-error"style="font-size:32px;margin-bottom:12px;"></i><span>{{ error.message }}</span><el-buttonsize="small"@click="reloadWps"style="margin-top:12px;">重新加载</el-button></div></div></main>

因为initWps方法里面this.wpsInstance = WPS.config({ url: this.currentUrl, mount: document.querySelector('#office') });就是通过获取这个id进行挂载就可以了。
以上就是具体引用wpsJdk插件调用方式,具体其他监听可以看官方文档。

http://www.jsqmd.com/news/537855/

相关文章:

  • android-笔记-OpenCV 相关函数
  • 5分钟搞定多聚焦图像融合:从数据集到评价指标全流程指南
  • 3大核心价值全方位守护硬盘健康:零基础用户也能轻松掌握的DiskInfo使用指南
  • Python并发编程深度解析:多线程、多进程与asyncio的适用场景与实战
  • 2026年长轴深井泵厂家排名,南京汪洋制泵技术实力强 - 工业设备
  • 2026年天津豆包优化服务商深度分析:口碑与实力的三重维度考察 - 小白条111
  • 2026年GEO优化工具与服务商全景指南:从自助软件到专业代运营怎么选 - 品牌2025
  • Python 服务优雅停机实战:信号处理、资源收尾与 Kubernetes 滚动发布避坑指南
  • GTE-Pro企业应用教程:与Elasticsearch混合检索(Hybrid Search)集成方案
  • Unity游戏热更新实战:YooAssetV2.1.0与HybridCLR的完美搭配(附避坑指南)
  • 题解:洛谷 最大子段乘积
  • OpenClaw跨平台部署:Qwen3.5-9B在mac/Windows/Linux下的差异处理
  • Windows任务栏美学革命:TranslucentTB如何重新定义桌面视觉体验
  • Llama-3.2V-11B-cot镜像实测:双卡4090一键部署,新手5分钟玩转视觉推理
  • 2026年成都公司注销怎么挑机构?这份避坑清单请收好 - 红客云(官方)
  • MAF快速入门(17)用户智能体交互协议AG-UI(下)
  • VINS_Fusion轨迹评估实战:如何用evo工具搞定MH_01_easy数据集测试(附完整代码修改指南)
  • 想留存QQ空间记忆?这款Python工具让备份更简单
  • 从大模型到智能体:核心逻辑全解析
  • 2026年隐形车衣GEO优化服务商深度测评:效果与口碑的选型指南 - 小白条111
  • 赶考状元AI学伴的优势是什么:不止于解题,更在于育人
  • 如何高效保存抖音无水印视频?开源工具抖音下载器的创新方案
  • LFM2.5-1.2B-Thinking-GGUF快速部署:JDK1.8环境下的Java客户端集成
  • BCompare_Keygen:解决Beyond Compare 5评估期限制的本地化密钥生成方案
  • StructBERT文本相似度模型SolidWorks技术文档智能检索系统
  • CRNN OCR文字识别镜像实战:路牌文档识别案例分享
  • 【古代言情小说推荐】被弃妃子逆袭记:《锁茜香》
  • 百度网盘直链解析终极指南:免费突破限速,实现3倍下载加速
  • 开源项目管理工具GanttProject:专业级项目规划与协作解决方案
  • 如何根据用户所在地区,自动跳转到不同的落地页?