注意事项与支持格式

← API 参考 | 字体配置 → · 批注修订 →

前置条件

  1. 静态资源:将 OnlyOffice SDK(web-apps/、sdkjs/、fonts/)放到站点可访问目录,默认 public/packages/onlyoffice/9.4.0-develop/。自定义字体需在 AllFonts.js 的 __custom_font_registry__ 中注册,详见 字体配置。
  2. 静态资源根路径:默认使用 /packages/onlyoffice/9.4.0-develop。如需切换 CDN,请在首次创建编辑器前调用 OnlyOfficeManager.registerStaticResource({ cdnOrigin })。
  3. x2t 资源:转换器来自独立签名的 agentbridges-ai/onlyoffice-x2t-wasm release,部署在 /packages/onlyoffice/x2t/<tag>。x2t.js 为普通 JS,x2t.wasm 存放 release 的 Brotli 产物;无需配置 Content-Encoding: br,Worker 会校验并自动解压。
  4. DOM 容器:页面需预留编辑器挂载点(见 快速开始)。

注意事项

  1. 初始化:OnlyOfficeManager.create / createWithFile 和 EditorManager.create 内部会自动调用 initializeOnlyOffice(),一般无需手动初始化。
  2. 容器元素:
    • 单实例:页面中存在 id={ONLYOFFICE_ID} 的节点,父级使用 onlyoffice-container 类名。
    • 多实例:每个实例使用唯一 containerId,父级设置 data-onlyoffice-container-id。
  3. 文件类型:文件扩展名需与内容一致。
  4. 事件清理:组件卸载时取消 EventBus 监听,并 destroy() 编辑器实例。
  5. 异步操作:create / openDocument / export / downloadExport 等为异步,使用 await。
  6. 多实例资源隔离:各实例独立维护 media 映射;图片上传通过实例级 writeFile 路由。
  7. 容器 ID 唯一性:多实例下 containerId 不可重复。
  8. 保存事件选择:需要二进制数据用 SAVE_DOCUMENT / export();仅需保存成功提示可监听 ONSAVE。
  9. 只读导出:只读模式下 export() 直接返回缓存数据,不调用 downloadAs。
  10. 打开文件顺序:使用 createWithFile 时,应先 fetch 得到 File,再调用挂载 API。

支持的文件格式

Word 文档

  • .docx — Word 2007+
  • .doc — Word 97-2003
  • .odt — OpenDocument Text
  • .rtf — Rich Text Format
  • .txt — 纯文本

Excel 表格

  • .xlsx — Excel 2007+
  • .xls — Excel 97-2003
  • .ods — OpenDocument Spreadsheet
  • .csv — CSV

PowerPoint 演示文稿

  • .pptx — PowerPoint 2007+
  • .ppt — PowerPoint 97-2003
  • .odp — OpenDocument Presentation