带分页的docx编辑器 vue3集成canvas-editor

又有新的需求量了jym,要在页面上渲染docx。本来吧是想用tiptap来完成的,但是需求说要带上分页功能。找半天发现个canvas-editor。

相关资源链接

下面给大家提供相关的项目地址和文档链接:

独立使用流程

如果独立使用的话 只有三步

css 复制代码
npm i @hufe921/canvas-editor --save
bash 复制代码
<div id="warp"></div>
javascript 复制代码
import Editor from '@hufe921/canvas-editor'
 
new Editor(
  document.querySelector('#warp'),
  [
    {
      value: 'lalalalaa'
    }
  ],
  {}
)

操作方法示例

canvas-editor 大多数操作方法在文档中都有详细介绍,这里给出一些使用示例:

kotlin 复制代码
  enum LocationPosition {
    BEFORE = 'before',
    AFTER = 'after',
  }
  
  interface IFocusOption {
    position?: LocationPosition
  }

  const container = document.querySelector<HTMLDivElement>('.editor')!

  const instance = new Editor(
    container,
    {
      main: content.main, // 内容主体
    },
    {
      margins: [80, 90, 80, 90],
      watermark: {
        data: '',
        size: 120,
      }, // 水印
      pageNumber: { // 分页
        format: '第{pageNo}页/共{pageCount}页',
      },
      placeholder: {
        data: '请输入正文',
      },
      maskMargin: [60, 0, 30, 0], // 菜单栏高度60,底部工具栏30为遮盖层,
      width: 1000,
    }, // 可选择项
  )

  instance.command.executeSetHTML({ main: content.main[0].value })
  
  const payloadBefore: IFocusOption = {
    position: LocationPosition.BEFORE,
  }
  
  instance.command.executeFocus(payloadBefore) // 设置初始光标位置
相关推荐
YiuChauvin15 分钟前
vue2中页面数据及滚动条缓存
前端·vue.js
摸着石头过河的石头21 分钟前
微信h5页面开发遇到的坑
前端·微信
zabr25 分钟前
AI时代,为什么我放弃Vue全家桶,选择了Next.js + Supabase
前端·aigc·ai编程
egghead2631636 分钟前
React常用hooks
前端·react.js
科粒KL39 分钟前
前端学习笔记-浏览器渲染管线/一帧生命周期/框架更新
前端·面试
凉_橙1 小时前
什么是抽象语法树?
前端·javascript
成小白1 小时前
前端实现分片上传
前端
页面魔术1 小时前
尤雨溪: 我们没有放弃虚拟 dom
前端·javascript·vue.js
欧阳码农1 小时前
langgraph开发Deep Research智能体-项目搭建
前端·后端·langchain
再吃一根胡萝卜1 小时前
TCP三次握手机制的深入解析
前端