DOCX 导入中的分页符

导入包含分页符的 .docx 文件时,转换服务会在 Tiptap JSON 输出中发出 pageBreak 节点。要在编辑器中渲染并与这些分页符交互,请注册 @tiptap-pro/extension-pagebreak 扩展。

安装 PageBreak 扩展

npm install @tiptap-pro/extension-pagebreak

设置编辑器

在注册 Import 扩展的同时注册 PageBreak 扩展。导入时支持分页符不需要额外的配置。

import { Editor } from '@tiptap/core'
import { ConvertKit } from '@tiptap-pro/extension-convert-kit'
import { ImportDocx } from '@tiptap-pro/extension-import-docx'
import { PageBreak } from '@tiptap-pro/extension-pagebreak'

const editor = new Editor({
  extensions: [
    ConvertKit,
    PageBreak,
    ImportDocx.configure({
      appId: 'your-app-id',
      token: 'your-jwt',
      imageUploadConfig: {
        url: 'https://your-image-upload-endpoint.com',
      },
    }),
  ],
})

导入 .docx 文件时,文档中的任何分页符都会被保留为编辑器中的 pageBreak 节点。

editor.chain().focus().importDocx({ file }).run()

工作原理

  1. 转换服务检测 .docx 文件中的分页符元素(<w:br w:type="page"/>)。
  2. 每个分页符在 Tiptap JSON 输出中作为 { type: "pageBreak" } 节点发出。
  3. PageBreak 扩展将这些节点渲染为带有居中“分页符”标签的视觉虚线分隔符。

没有 PageBreak 扩展

如果未注册 PageBreak 扩展,导入的 pageBreak 节点需要一个自定义扩展来进行渲染。否则,编辑器 schema 将无法识别该节点类型。有关策略,请参阅无效 schema 指南

了解更多