3 步在浏览器里做文档编辑:Vue Document Editor 上手教程
【免费下载链接】vue-document-editor:page_facing_up: Paper-sized WYSIWYG document editor for Vue apps项目地址: https://gitcode.com/gh_mirrors/vu/vue-document-editor
把内容丢进一张纸页,写满就自动翻页——这就是 Vue Document Editor。它是 Vue 3 应用的所见即所得文档编辑组件,在浏览器里直接编辑、预览、打印文档,全程不往服务器传数据。
痛点切入:为什么拿它做"能翻页"的文档
在线编辑发票、合同这类能翻页的文档时,要么上重的 JS 办公套件,要么直接用富文本编辑器——可后者没有页面概念,分页位置你说了不算,打印出来还和屏幕对不上。
它做的事很专一:基于浏览器原生 contenteditable,把长内容铺到一张张仿真的 A4 纸上,预览什么样,打印就什么样。别指望它替代完整的文字处理器——它专攻在预排版模板上做精确修改,这恰好覆盖了大多数业务场景。
三步跑起来:安装并运行 Vue Document Editor
第一步,拉代码装依赖:
git clone https://gitcode.com/gh_mirrors/vu/vue-document-editor cd vue-document-editor npm install第二步,启动开发服务器:
npm run serve打开 http://localhost:8080 ,demo 页面已经摆好 A4 纸页和编辑区。
想集成进自己的项目:装 npm 包 vue-document-editor,把<vue-document-editor>组件丢进页面、用 v-model:content 绑定内容即可。完整示例看 src/Demo/Demo.vue 。
能力清单:它都能干什么
- 用 Vue 组件当交互式页面模板,发票 demo 就是一个现成的 .vue 文件
- 按词自动分页:内容超出当前页就自己长出新页(目前支持纯 HTML 内容)
- 原生打印兼容,纸张尺寸、页边距可按毫米动态调整
- 自定义页面覆盖层:页眉、页脚、页码,还能手动插分页符
- 智能缩放与页面显示模式,可取光标处的文本样式
谁适合用
- 财务、行政团队:发票合同这类规范文档浏览器里直接改完即打印,少装一套本地软件
- 教育平台:师生在线编辑同一份讲义,屏幕和纸张输出保持一致
- 企业内部系统:把现成 HTML 模板变成可交互表单,员工填空就地改
搭配建议:3 个值得配上的库
- vue-file-toolbar-menu:包本身不带工具栏,demo 用它补上格式和文件菜单
- Vue Router:多文档、多视图之间切换,各页面编辑状态互不串
- Vuex / Pinia:文档内容与编辑器状态集中管起来,多组件共享数据不出乱子
上手前避坑
- 别指望浏览器原生撤销:分页机制每次输入都改写 HTML,撤销记录会丢;官方 demo 靠监听 content 变化压栈解决,照抄即可
- 大段文字先拆成多个段落再灌进去,内容太长、页数太多会把整个文档拖慢
- 工具栏、图片与表格定位都得自己做,立项时就把它算进工作量
接口参数、样式变量这些细节都在 API.md ,开工前翻一遍。
它的定位很清晰:预排版的模板文档,在浏览器里编辑、预览、打印,这条链路已经跑通。你也是这类需求的话,先把 8080 端口的 demo 跑起来,看看自动分页的效果再下结论。
【免费下载链接】vue-document-editor:page_facing_up: Paper-sized WYSIWYG document editor for Vue apps项目地址: https://gitcode.com/gh_mirrors/vu/vue-document-editor
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考