1.2 KiB
1.2 KiB
PPTX 高保真预览设计
日期: 2026-08-10 状态: 已批准 范围:
dsh-better-sidebar的.pptx浏览器预览
目标
使用 @aiden0z/pptx-renderer 在侧边栏内预览 .pptx,保留图片、表格、
图表、SmartArt 与常见 OOXML 样式,同时保持下载降级出口。
架构
.pptx从download-only调整为独立pptx预览类型。PptxView从现有 media route 获取ArrayBuffer。- 使用
PptxViewer.open()渲染到库专属 DOM 容器。 - 开启
lazyMedia、lazySlides与推荐 ZIP 安全限制。 - UI 提供上一页、下一页、页码和下载按钮。
- 卸载时销毁 viewer 并清空库专属容器。
- 旧
.ppt/.doc/.xls继续仅下载。
Bundle
- 先验证普通 bundler 入口不会遗留 Node builtin
require()。 - 若普通入口不纯,切换包提供的 standalone browser ESM 入口。
- 不启用可选 PDF.js EMF fallback,避免额外体积。
错误处理
- 损坏、加密或超限文件显示错误信息和下载链接。
- viewer 初始化失败时清理部分创建的实例与 DOM。
测试
.pptx类型分发。- bundle 模块表 require guard。
- Typecheck、manifest/plugin-shape 与构建通过。