选项卡

Beta

Word 文档使用制表符进行段落内的对齐、缩进和栏布局。Tiptap 和 HTML 没有原生的制表位概念,因此在导入时会将制表符转换为空格。

你需要什么

  • 扩展: 不需要额外扩展。制表符内容会转换为纯文本。
  • 配置: 无。

支持概览

导入编辑器导出
制表符(段落中间)转换为四个空格纯文本(空格)空格保持为空格
制表符(段落开头)在 JSON 中转换为四个空格;在编辑器中视觉上会折叠默认不可见(见下文)空格保持为空格
制表位位置不保留不支持不支持

导入

使用 editor extensionREST API 导入制表符。两者对制表符的处理方式相同。

当导入转换器在文本运行中遇到 <w:tab/> 元素时,会将其替换为四个空格字符。Word 的制表位位置(在段落或样式属性中定义的左对齐、居中、右对齐、小数点对齐和竖线制表位)不会被提取或保留。

该转换不依赖位置:段落开头的制表符和段落中间的制表符在 JSON 中都会产生四个空格字符。由于浏览器渲染空白字符的方式不同,视觉结果会有所差异(见下方编辑器渲染)。

编辑器渲染

制表符在导入时会转换为空格,因此编辑器接收到的是普通文本内容。Tiptap 中不存在制表位或制表符的概念。

段落开头的空格默认不可见

由制表符生成的四个空格会保留在 JSON 中并原样传递到编辑器,但浏览器在默认 white-space: normal 下会折叠空白字符序列。因此,段落开头的制表符会渲染得像是紧贴段落左边缘的一个空格,从视觉上看就像制表符被丢失了。这是标准的 HTML 空白规则,而不是导入时的裁剪。句子中间的制表符也会折叠为一个空格,不过由于两侧都有文本,通常仍然能正确阅读。

要保留视觉缩进,可以在编辑器的段落样式上设置 white-space: pre-wrap,或者在将内容加载到编辑器之前,在 onImport 回调中将前导空格转换为不间断空格( )。

导出

导出的 DOCX 中,空格仍然保持为空格。不会将空格再转换回制表符。原本在 Word 中使用制表符的内容,导出时会改为使用空格。