读取文档
以多种格式读取内容。分块读取有助于处理大型文档。
getText
Return the entire document as plain text.
返回值
string:整个文档的纯文本内容
示例
// 读取整个文档的文本
const text = toolkit.getText()getHtml
以 HTML 返回整个文档。
返回值
string:整个文档的 HTML 内容
示例
// 读取整个文档的 HTML
const html = toolkit.getHtml()getJson
以 Tiptap JSON 返回整个文档。
返回值
any:整个文档的 Tiptap JSON 内容
示例
// 读取整个文档的 Tiptap JSON
const json = toolkit.getJson()getTextSelection
以文本返回当前选区。
返回值
string:所选文本内容的纯字符串
示例
// 读取所选文本
const selection = toolkit.getTextSelection()getHtmlSelection
以 HTML 返回当前选区。
返回值
string:所选 HTML 内容
示例
// 读取所选 HTML 内容
const selection = toolkit.getHtmlSelection()getJsonSelection
以 Tiptap JSON 返回当前选区。
返回值
any:所选的 Tiptap JSON 内容
示例
// 读取所选的 Tiptap JSON 内容
const selection = toolkit.getJsonSelection()getTextRange
从指定范围返回文本内容。
参数
range(Range): 获取内容的范围from(number): 起始位置to(number): 结束位置
options?(GetTextRangeOptions):getTextRange方法的选项doc?(Node): 可选,使用该文档节点代替当前编辑器文档
返回值
string:纯文本字符串内容
示例
// 读取一段文本片段
const snippet = toolkit.getTextRange({ from: 0, to: 100 })getHtmlRange
从指定范围返回 HTML 内容。
参数
range(Range): 获取内容的范围from(number): 起始位置to(number): 结束位置
options?(GetHtmlRangeOptions):getHtmlRange方法的选项doc?(Node): 可选,使用该文档节点代替当前编辑器文档
返回值
string:HTML 字符串内容
示例
// 读取位置 0 到 100 的 HTML 内容
const snippet = toolkit.getHtmlRange({ from: 0, to: 100 })getMarkdownRange
从指定范围返回 Markdown 内容。
需要安装 Markdown 扩展
此方法需要安装并配置 Tiptap Markdown 扩展。
参数
range(Range): 获取内容的范围from(number): 起始位置to(number): 结束位置
options?(GetMarkdownRangeOptions):getMarkdownRange方法的选项doc?(Node): 可选,使用该文档节点代替当前编辑器文档
返回值
string:Markdown 字符串内容,若未安装 Markdown 扩展则返回空字符串
示例
// 读取位置 0 到 100 的 Markdown 内容
const snippet = toolkit.getMarkdownRange({ from: 0, to: 100 })getJsonRange
Returns Tiptap JSON content from the specified range.
Parameters
range(Range): The range of content to retrievefrom(number): Start positionto(number): End position
options?(GetJsonRangeOptions): Options for thegetJsonRangemethoddoc?(Node): Optional, use this document node instead of the current editor document
Returns
any: Tiptap JSON content
Example
// Read a segment of Tiptap JSON
const snippet = toolkit.getJsonRange({ from: 0, to: 100 })getTextChunks
将文档拆分为文本块,用于处理大量内容。
参数
options?(GetTextChunksOptions):getTextChunks方法的选项chunkSize?(number): 每块最多字符数。默认 32000 字符(8000 令牌 * 每令牌 4 字符)
返回值
TextChunk[]:文本块数组,每个块包含:
content(string): 文本块内容range(Range): 文档中的该块起止范围from(number): 文档起始位置to(number): 文档结束位置
nodeRange(NodeRange): 该块起止的节点范围from(number): 文档中起始节点位置to(number): 文档中结束节点位置
示例
// 按默认大小拆分文档
const chunks = toolkit.getTextChunks()
// 按最大 1000 字符拆分文档
const smallerChunks = toolkit.getTextChunks({ chunkSize: 1000 })getHtmlChunks
将文档拆分为 HTML 块,用于处理大量内容。
参数
options?(GetHtmlChunksOptions):getHtmlChunks方法的选项chunkSize?(number): 每块最多字符数。默认 32000 字符(8000 令牌 * 每令牌 4 字符)
返回值
HtmlChunk[]:HTML 块数组,每个块包含:
content(string): HTML 块内容range(Range): 文档中的该块起止范围from(number): 文档起始位置to(number): 文档结束位置
nodeRange(NodeRange): 该块起止的节点范围from(number): 文档中起始节点位置to(number): 文档中结束节点位置
示例
// 按默认大小拆分文档
const chunks = toolkit.getHtmlChunks()
// 按最大 1000 字符拆分文档
const smallerChunks = toolkit.getHtmlChunks({ chunkSize: 1000 })getJsonChunks
将文档拆分为 Tiptap JSON 块,用于处理大量内容。
参数
options?(GetJsonChunksOptions):getJsonChunks方法的选项chunkSize?(number): 每块最多字符数。默认 32000 字符(8000 令牌 * 每令牌 4 字符)
返回值
JsonChunk[]:Tiptap JSON 块数组,每个块包含:
content(any): Tiptap JSON 内容。是文档 Fragment 的 JSON。range(Range): 文档中的该块起止范围from(number): 文档起始位置to(number): 文档结束位置
nodeRange(NodeRange): 该块起止的节点范围from(number): 文档中起始节点位置to(number): 文档中结束节点位置
示例
// 按默认大小拆分文档
const chunks = toolkit.getJsonChunks()
// 按最大 1000 字符拆分文档
const smallerChunks = toolkit.getJsonChunks({ chunkSize: 1000 })tiptapRead
以允许 AI 快速高效编辑的格式读取文档。
用于校对工作流及其他工作流。
参数
range?(Range): 要读取的范围。默认为整个文档。from(number): 起始位置to(number): 结束位置
ignoreSuggestions?(boolean): 当为true时,不应用预览建议,按原样读取文档。默认为false。reviewOptions?(ReviewOptions): 用于决定应读取哪种文档表示形式的审阅模式选项。- 当
mode为'trackedChanges'时,该方法会在应用跟踪更改后读取文档。
- 当
返回值 (TiptapReadResult)
content(string): 允许 AI 快速高效编辑的文档内容格式。
tiptapReadChunks
以 Tiptap Read 格式读取文档,并分块处理大内容。
参数
options?(TiptapReadChunksOptions):tiptapReadChunks方法的选项chunkSize?(number): 每个分块的最大字符数。默认为 32,000 个字符(8000 个 token * 每个 token 4 个字符)reviewOptions?(ReviewOptions): 用于决定应对哪种文档表示形式进行分块的审阅模式选项。- 当
mode为'trackedChanges'时,该方法会在应用跟踪更改后对文档进行分块。
- 当
返回值
TiptapReadChunk[]:分块数组,每块含有:
content(string): Tiptap Read 格式的 HTML 内容range(Range): 该块在文档中的起止范围from(number): 文档起始位置to(number): 文档结束位置
nodeRange(NodeRange): 该块起止的节点范围from(number): 文档中起始节点位置to(number): 文档中结束节点位置
示例
// 将文档拆分成若干块
const chunks = toolkit.tiptapReadChunks()
// 将文档拆分成更小的块
const smallerChunks = toolkit.tiptapReadChunks({ chunkSize: 16000 })