读取文档
以多种格式读取内容。分块读取有助于处理大型文档。
getText
以纯文本返回整个文档。
返回值
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
从指定范围返回 Tiptap JSON 内容。
参数
range(Range): 获取内容的范围from(number): 起始位置to(number): 结束位置
options?(GetJsonRangeOptions):getJsonRange方法的选项doc?(Node): 可选,使用该文档节点代替当前编辑器文档
返回值
any:Tiptap JSON 内容
示例
// 读取一段 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。
返回值 (TiptapReadResult)
content(string): 允许 AI 快速高效编辑的文档内容格式。
tiptapReadChunks
以 Tiptap Read 格式读取文档,并分块处理大内容。
参数
options?(TiptapReadChunksOptions):tiptapReadChunks方法的选项chunkSize?(number): 每块最大字符数。默认 32000 字符(8000 令牌 * 每令牌 4 字符)selectableNodeTypes?(string[]): AI 可选择的节点类型名称数组,默认所有块级节点可选择。若设为[],则仅顶层节点可选
返回值
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 })