开发文档Umo Editor Next文档导出导出为 Word

导出为 Word 文档

此功能允许将 Umo Editor 编辑器中的内容导出为 Word 文档。导出 Word 文档的功能目前支持绝大部分的节点类型和页面配置等,我们会逐步完善该功能。

导出的 Word 文档为 docx 格式,您可以在 Microsoft Word 或者 WPS Office 等办公软件中打开和编辑。

方法列表

exportWord

说明:导出 Word 文档。

参数node: 合法的[Tiptap 文档JSON格式] 可缺省,当缺省自动读取当前编辑器的所有内容。

参数write:可缺省,自定义文档下载方法,若未定义,则走默认下载方法。

参数docxOption:控制文档生成过程的配置信息

  • docxOption.getCustomImageBase64:图片自定义读取方法

    • 参数src: string 图片加载读取路径
    • 参数id: string 标记当前图片的唯一标识
    • 参数type: string 需要获取的图片类型,image 图片、echarts 图表
    • 参数node:[Tiptap 文档JSON格式]的具体单个节点
    • 返回值: 合法的base64字符串
  • docxOption.download:文档下载标记 true允许下载,此时参数write生效,false不允许下载,此时方法返回值为Blob类型

  • docxOption.filename: 导出文档名称

  • docxOption.page.backColor: 导出文档背景色

示例:标准方法

editorRef.exportWord()

示例:自定义下载

editorRef.exportWord(null,writeToBrowser,null)
 
 const writeToBrowser = (blob: Blob) => {
    const filename ='导出文档'
    const url = URL.createObjectURL(blob)
    const a = document.createElement('a')
    a.href = url
    a.download = `${filename}.docx`
    a.click()
    URL.revokeObjectURL(url)
  }
 

示例:自定义内容

仅借用插件方法,把合法的[Tiptap 文档JSON格式]转成文档

  const getCustomImageBase64 = (
    src: string,
    id: string,
    type: string,
    node: any,
  ) => {
    //自定义图片读取方法
    return null
  }
  const docxOption = { getCustomImageBase64 }
  editorRef.exportWord(JSON, null, docxOption)