支持的功能

Beta

下表展示了每种文档功能在转换流水线的三个阶段中的表现:

  1. 导入 将 DOCX 内容转换为 Tiptap JSON。
  2. 编辑器 在浏览器中渲染该 JSON。每种节点和标记类型都需要匹配的 Tiptap 扩展才能正确显示。
  3. 导出 将编辑器内容转换回 DOCX 文件。

某项功能可能在某个阶段受支持,但在另一个阶段不受支持。例如,制表符会被导入并在编辑器中渲染,但导出扩展目前还不会将其写回 DOCX。

导入和导出各自都有两种集成路径:一种是 编辑器扩展,另一种是 REST API。对于大多数功能,这两种路径会产生相同的结果。对于存在差异的地方(脚注、页眉/页脚、导出自定义),相关安装页面会说明具体细节。

编辑器列默认假设使用 ConvertKit

下表中的编辑器列默认假设推荐配置:已安装 ConvertKit 作为编辑器的扩展套件。ConvertKit 是基础功能的超集(相当于 StarterKit 的节点,加上针对 Paragraph、Heading、Image 以及表格栈的 DOCX 感知覆盖)。如果没有 ConvertKit,段落间距和缩进、图片裁剪以及表格单元格格式仍会被提取到 JSON 中,但会被编辑器的 schema 丢弃。若编辑器支持取决于其他因素(Pages、某个自定义扩展),该行会注明依赖项。

其他格式

这些表格专门描述 DOCX 流水线,因为 DOCX 是所有其他导出所基于的参考格式。PDFODTEPUBDOC 都是先生成一个 DOCX 文件,然后通过云服务将其转换为目标格式。凡是在 DOCX 导出中可用的功能,通常也会延续到其他格式,不过每种格式都可能引入自己的限制。详情请参见相应格式页面。

Markdown 走的是完全独立的转换路径,并支持另一组功能。相关内容记录在其单独的页面中。

行内格式

功能导入编辑器导出
粗体
斜体
下划线
删除线
下标
上标
行内代码
文本颜色
高亮
字体族
字号
超链接
制表符~~
内部书签~~

块级元素

功能导入编辑器导出
段落
标题 1 到 6
引用块
代码块
水平线
手动换行

文本和段落样式

导入服务会从 DOCX 源中提取段落级样式属性,例如间距、缩进和行高。ConvertKit 的自定义 Paragraph 和 Heading 会自动渲染这些样式。对于文档命名样式目录(Heading 1、Normal、Quote 等)中的排版样式,请使用实验性的 CSS 注入 功能,它会将样式目录提取为带作用域的 CSS 规则。

功能导入编辑器导出
文本对齐
行距✕***
段落间距
缩进
字间距✕*
段落边框
Word 样式~~**~

* 字间距会被提取为 textStyle.letterSpacing,但没有内置扩展来渲染它。若要渲染导入的字间距,请 扩展 TextStyle
** Word 的命名样式排版默认不会应用。请使用 CSS 注入 将其提取为带作用域的 CSS。
*** 行高会作为段落节点属性导入,并在使用 ConvertKit 的编辑器中正确渲染。但 DOCX 导出时读取的是 textStyle 标记中的行高,因此无法完整往返:导入的值会保留在编辑器中,但在导出时被丢弃。

列表

功能导入编辑器导出
项目符号列表
有序列表
有序列表编号格式~
嵌套列表
任务列表

表格

单元格级和行级属性(背景、边框、垂直对齐、行高)需要 ConvertKit 的 ConvertTableKit,该套件默认包含。若使用独立的 @tiptap/extension-table,这些属性仍会被提取到 JSON 中,但会被编辑器的 schema 丢弃。若要通过 Pages 扩展 实现分页布局,请改用 PagesTableKit;其表格扩展在内部继承了 ConvertKit 的扩展,因此相同的 DOCX 单元格属性也会继续传递。有关具体组成,请参见 表格内容参考

功能导入编辑器导出
基础表格
合并单元格(colspan)
合并单元格(rowspan)
表头行
列宽
单元格背景
单元格边框
单元格垂直对齐
行高

媒体

功能导入编辑器导出
行内图片
浮动图片~
图片尺寸
图片裁剪~*
数学和公式

* ConvertKit 的自定义 Image 会声明 cropTop/cropBottom/cropLeft/cropRight,并将它们作为 data-crop-* 属性输出。若要实现视觉裁剪,请添加 CSS,将这些数据属性转换为 clip-pathobject-position

页面布局

功能导入编辑器导出
分页符~
页眉和页脚✓*
~
页面大小和边距
页码~
脚注✓*
尾注✓*

* 导入行为在不同集成路径之间有所不同。REST API 会在响应中将脚注、尾注以及页眉/页脚作为独立字段返回。编辑器扩展 会通过 Pages 扩展自动应用页眉和页脚,但不会暴露脚注或尾注数据。详情请参见安装页面。

页面布局需要 Pages 扩展

页眉、页脚、分页符以及分页布局都需要 Pages 扩展 才能在编辑器中渲染。没有它,即使转换服务生成了这些内容,也没有地方可供显示。

不支持

这些功能在导入期间不会被转换,或者仅有限转换。

功能状态
注释和批注未转换。comments 扩展存在,但未连接到转换。
跟踪更改和修订未转换。tracked changes 扩展存在,但未连接到转换。
目录作为 tableOfContents 节点导入(标题和标题范围)。需要一个自定义扩展才能在编辑器中渲染它。现有的目录扩展是一个用于构建侧边栏导航的无头工具,而不是文档块渲染器。未导出。
文本框未转换。文本框中的内容不会被提取。
形状、SmartArt、WordArt未转换。导入期间不会提取这些元素。
域代码(DATE、AUTHOR、PAGE、MERGEFIELD)缓存的显示值会作为纯文本保留(例如,显示“April 10, 2026”的 DATE 域会作为文本“April 10, 2026”导入)。域代码本身不会被转换,因此其值会变为静态且不会更新。
文档元数据(作者、标题、关键词)未转换。元数据不包含在 JSON 输出中。
表单域和内容控件未转换。行内结构化文档标记(SDT)会保留其文本内容,但控件元数据会被丢弃。
隐藏文本标记为隐藏的文本片段(w:vanish)会从导入输出中排除。
从右到左的文本方向DOCX <w:bidi>(段落方向)和 <w:rtl>(文本段方向)在导入时不会解析,也不会在导出时写入。以阿拉伯语、希伯来语、波斯语、乌尔都语以及其他 RTL 语言编写的文档,会以编辑器的 CSS 方向渲染(默认 LTR)。今天可在编辑器根节点上设置 dir="rtl",或在应用层检测语言来处理。详情参见文本对齐