评论
注释在整个转换往返过程中都受到支持。你可以导入一个包含注释的 .docx,在协作式 Tiptap 编辑器中实时处理这些注释,再将其导出回 .docx,并重新导入结果(包括在 Microsoft Word 中编辑之后),而不会出现重复。
支持概览
| 导入 | 编辑器 | 导出 | |
|---|---|---|---|
| 评论 | 实时协作线程(或通过 REST API 提供的数据) | 读取、回复、解决、删除 | DOCX 评论 |
| 回复 | 保留,按顺序 | 线程化 | 保留 |
| 已解决状态 | 保留 | 切换 | 保留 |
| 作者、姓名首字母、日期 | 保留 | 不适用 | 保留 |
工作原理
一个往返流程有三个阶段:
- 导入:
.docx中的每条评论都会变成一个线程,并锚定到它在 Word 中标记的同一段文本,同时保留其作者、姓名首字母、日期、回复(按顺序)以及已解决状态。 - 编辑:这些线程会在你的协作编辑器中实时存在:可以阅读、回复、解决或重新打开,以及删除。
- 导出:编辑器中的线程会作为原生 Word 评论写回到
.docx中,并锚定到同一段文本。
重新导入已导出的文档时,会识别已经存在的评论并保持同步,而不是再次创建它们,即使文档在此期间曾在 Microsoft Word 中打开并编辑过。
导入
当导入经过 Tiptap 访问控制 验证并且目标是一个现有的协作文档时,评论会自动在该文档上注册为实时线程。文档打开后,它们即可立即阅读和回复,无需你额外接线。
实时评论线程需要 Team 套餐
注册实时线程会通过 Comments REST API 在 Tiptap Document Server 上创建它们,这需要 Team 套餐 或更高版本。导入会将你的访问令牌转发到 Document Server,因此低于 Team 套餐的账户会被拒绝,并且不会创建实时线程。不过导入本身仍会成功,并返回带有原始标识符的评论数据。将评论作为数据导入以及将评论导出为 DOCX 不受此要求影响。
从 Word 文档中保留的内容:
- 文本锚点:线程会附加到评论在 Word 中标记的同一段文本范围。
- 作者、首字母缩写和日期:显示在每条评论上。
- 回复:多条评论的对话会保持顺序:先是原始评论,然后是回复。
- 已解决状态:在 Word 中标记为已解决的线程会以已解决状态导入。
如果导入未通过协作认证,或者目标不是协作文档,则导入仍会成功,评论会作为带有原始标识符的数据返回,由你自行处理。有关集成细节,请参见 import editor extension 和 import REST API;有关配置编辑器以渲染导入内容,请参见 ConvertKit。
实时线程需要协作
只有当导入经过访问控制认证并指向协作文档时,评论才会变成可编辑的实时线程。其他所有导入都会返回带有原始标识符的评论数据,并且行为与之前完全相同。
编辑器
导入的评论是标准的 Tiptap 协作线程。使用编辑器中的评论扩展,你可以阅读每个线程、回复、解决或重新打开它,并删除它;这些更改会在导出时得到反映。
在编辑器中实时创建的评论(不是从 DOCX 导入的)同样也是一等公民:它们会与导入的评论一起导出到 DOCX,并且不会在之后重新导入时被更改或移除。
导出
你的编辑器的评论线程会作为原生 Word 评论写入导出的 .docx 中。每个线程都会成为锚定到相应文本的评论,回复会按顺序作为线程式对话保留,已解决的线程也会作为已解决状态导出。每条评论都会携带作者和日期。有关设置,请参阅 导出编辑器扩展。
评论中的文本会保留其基本格式(例如粗体、斜体、链接和换行)。评论正文旨在用于讨论文本;放在评论中的非常丰富的块级内容可能会被简化。
完整往返
这就是重点:你可以把文档完整地来回往返,而不会让你的评论发生偏移。
- 将带有评论的
.docx导入到协作文档中。 - 实时阅读、回复、解决并添加评论。
- 导出为
.docx。 - 可选地在 Microsoft Word 中打开并编辑这些评论。
- 将文档重新导入到同一个协作文档中。
在重新导入时:
- 不会重复。 已经存在的评论会被识别并保留,不会再次创建。
- 编辑会同步。 如果某条评论的文本发生了变化,现有线程会更新以匹配。
- 新评论只会导入一次。 在往返过程中于 Word(或其他地方)添加的评论,会作为一条新的评论导入,并进入正确的线程。
- 删除会被清理。 从文档中删除的评论会在下一次导入时移除。
- 已解决/重新打开状态会随文档同步。 解决或重新打开某条评论的状态会在重新导入时体现出来。
- 你的实时评论会受到保护。 直接在编辑器中创建的评论绝不会因重新导入而被更改或删除;只有源自 DOCX 导入的评论才会保持同步。
可在 Microsoft Word 中继续保留
每次保存文档时,Microsoft Word 都会重新组织其内部的评论记录。该往返机制正是围绕这一点设计的,因此你可以在 Word 中编辑导出的评论并重新导入,而不会产生重复项。
最佳实践:一个 DOCX 对应一个协作文档
保持导入的 .docx 与你将其导入的协作文档之间的一对一映射。重新导入时,会将评论与该文档上已经存在的线程进行协调,因此如果把多个不同的 DOCX 文件导入到同一个共享文档中,它们的评论会混在同一个界面上。这本身不应该造成问题,但为每个 DOCX 单独分配一个协作文档,可以让你协作式地迭代其评论(添加、回复、解决,以及通过 Word 来回往返),并且不会有重新导入触及来自其他文件的评论的风险。这是一个简单的安全措施,可确保迭代过程干净且可预测。
预期效果
- 将带有批注的
.docx导入到协作文档中后,您可以获得带有作者、日期、回复和已解决状态的实时讨论串,且这些信息都会保留。 - 导出时会生成原生的 Word 批注,可在 Microsoft Word 和其他兼容 Word 的编辑器中正常打开。
- 重新导入时,批注会保持同步(添加、更新、解决、移除),而不是重复创建,即使在 Word 中编辑过之后也是如此。
什么不起作用
- 实时线程需要协作和 Team 方案。 如果没有访问控制身份验证和一个目标协作文档,评论会作为数据返回,而不是创建为实时线程。创建实时线程还需要 Team 方案 或更高版本,因为它使用了 Document Server 的 Comments REST API。
- 无重复重新导入仅适用于由 Tiptap 导出的文档。 其他地方生成的
.docx每次导入时都会重新导入其评论;这些评论绝不会与无关的线程合并。这是有意为之:它可以防止来自不同文档的评论被彼此混淆。 - 评论锚定在文本上。 评论绑定到它所标记的文本范围。如果该文本被删除,评论的锚点也会随之删除,这与任何文字处理软件中的行为相同。
- 评论内容用于讨论文本。 基本的行内格式会被保留;评论中的复杂块级内容在转换时可能会被简化。