Skip to content

功能插件

功能插件提供文件级别的操作能力:导出、导入、预览。这三个插件由 createEditorHost() 默认安装,可通过选项禁用。

ExportPlugin

注册标识:'export-plugin'

将画布内容导出为 PNG、JPG 或 PDF。

typescript
const exportPlugin = host.getPlugin('export-plugin')

// 导出 PNG(触发浏览器下载)
exportPlugin?.exportImage()

// 导出 JPG
exportPlugin?.exportImage('image/jpeg')

// 导出 PNG 并设置背景色
exportPlugin?.exportImage('image/png', '#ffffff')

// 导出 JSON(触发浏览器下载)
exportPlugin?.exportJSON()

// 导出 PDF
exportPlugin?.exportPdf()

导出精度

导出图片的像素比由 pixelRatio 属性控制(默认 2):

typescript
exportPlugin.pixelRatio = 3 // 提高导出清晰度

事件

事件名触发时机
export:start导出开始
export:complete导出完成
export:error导出失败

ImportPlugin

注册标识:'import-plugin'

从 JSON 文件加载画布内容。

typescript
const importPlugin = host.getPlugin('import-plugin')

// 从 JSON 字符串导入(会清空当前画布)
importPlugin?.importJSON(jsonString)

// 弹出文件选择框导入 JSON 文件
importPlugin?.handleImportJSON()

导入会清空画布

importJSON 内部调用 host.loadJSON(),会清空当前画布所有元素再加载新数据。

事件

事件名触发时机
import:start导入开始
import:complete导入完成
import:error导入失败

PreviewPlugin

注册标识:'preview-plugin'

打开预览窗口,以当前画布内容生成图片并展示。

typescript
const previewPlugin = host.getPlugin('preview-plugin')

// 预览(在新窗口打开图片)
previewPlugin?.handlePreview()

// 打印预览(在新窗口打开并调用打印)
previewPlugin?.handlePrintPreview()

事件

事件名触发时机
preview:start预览开始
preview:complete预览完成
preview:error预览失败

下一步

基于 MIT 许可发布