当文档太大而超出上下文窗口时,只转换你需要的部分。GroupDocs.Markdown.Mcp 允许 AI 代理在本地将选定的页面或工作表转换为 Markdown,支持 Claude Desktop、Claude Code、Cursor 或 GitHub Copilot,这样大语言模型只读取一个章节,而不是整本书:
将 handbook.pdf 的第 40‑52 页转换为 Markdown。
带有配置和故障排除的逐步说明请参见文档:
如何仅转换文档的某一章节为 Markdown
范围转换能节省什么?
每个提示中的词都会被模型提供商读取、计费,并与其他词竞争注意力。关于长文档的大多数问题只涉及其中的一小部分。先把全部内容转换,再让模型忽略大部分,会在每次提问时都为整篇文档付费。
可以在自己拥有的文档上轻松测量节省效果。下面是一项真实测量及其方法说明。文件是本服务器文档中授权页面的 Markdown 源文件。我们在前置元数据后拆分文件,并统计了以空格分隔的单词数、代码块以及 Hugo 短代码标记(整个页面不含短代码时为 810 词)。表格展示了章节与整页之间的比例;它并非 pages 选项的实际测量结果,pages 选择的是页面而非标题:
| 页面章节 | 词数 |
|---|---|
| 引言及三种授权模式 | 167 |
| 评估模式限制 | 93 |
| 应用授权 | 78 |
| 按使用计费(按次付费)授权 | 366 |
| 确认当前激活的模式 | 113 |
| 获取授权 | 27 |
| 整页 | 844 |
关于当前激活的授权模式的提问只需要 113 词的章节。约占页面的 13%,即整体的约 7.5 倍短。这里使用词数而非 token 数,因为 token 取决于模型的分词器;词数与 token 数呈正相关,我们未在此给出未经测量的 token 数据。页面故意写得较短,你的手册会更大,比例由你自行统计。
方法 1:我可以直接指定哪些页面?
如果你知道具体页面,直接说明即可。convert_to_markdown 的 pages 参数接受以逗号分隔的 1 起始 页码列表,例如 "40,41,42"。该参数不支持范围语法,代理会把 “40 到 52” 展开为完整列表。省略 pages 参数则会转换整篇文档。
将 handbook.pdf 的第 40‑52 页转换为 Markdown。
结果会生成一个保存的 .md 文件,并在页面内返回内容。较长的输出会在页面内被截断,完整文本保存在已保存的文件中。
方法 2:如何仅转换第 3 章?
工具本身没有基于标题的选项,因此必须先把 “第 3 章” 转换为页码。可分两步完成:
handbook.pdf 有多少页?标题是什么?
get_document_info 会在不进行转换的情况下返回文件信息:pageCount、title、author、fileFormat 与 isEncrypted。它还会提前告知是否需要密码。随后,先转换目录页,读取章节对应的页码范围,再进行实际转换。
示例会话(节选):
You: handbook.pdf 有多少页?标题是什么?
Agent: get_document_info -> pageCount: 212, title: "Operations Handbook".
You: 将目录页(第 3‑4 页)转换,然后转换第 3 章。
Agent: convert_to_markdown (pages: "3,4") -> 内容读取:第 3 章位于第 61‑64 页。
convert_to_markdown (pages: "61,62,63,64") -> 已将第 3 章保存为 Markdown。
两次小规模转换即可替代一次巨大的转换。
方法 3:如何从工作簿中提取单个工作表?
在 XLSX、XLS 与 ODS 文件中,数字代表的是工作表,而不是打印页码:
将模型的第 2 张工作表转换为 Markdown。
这样只会把一个表格放入文档,而不会包含同一工作簿中的其他工作表。
何时范围转换值得额外的步骤?
- 上下文:LLM 只收到回答问题所需的那部分内容,长文档不会占满窗口。
- 计费成本:在按使用计费的授权模式下,你只为实际处理的页面付费,页面越少账单越低。
- 检索质量:索引只包含相关的附录,不会被整本书的其余内容稀释,从而提升查询准确度。
如果整个文档本身就是任务目标,则无需范围化。一次性转换为 Markdown 并直接使用即可。
真实限制:评估模式下的页面
未购买授权时,服务器以评估模式运行:仅处理前 3 页,并在每页加上评估水印。这会覆盖 pages 参数。若在评估模式下请求第 40‑52 页,系统仍只返回第 1‑3 页且不报错,因此无法在未授权情况下测试书中间的章节。若输出未从预期位置开始,请先调用 get_license_status。
目录可以使用打印页码标签。如果转换后的页面未从预期标题开始,可让代理转换相邻页面并调整列表;get_document_info 会返回总页数,从而限定可选范围。
常见问题
如何仅将第 3 章转换为 Markdown?
先找出该章节对应的页码,然后在 pages 参数中传入这些页码。让代理先转换目录页,读取章节对应的范围后再执行实际转换。
当文档太大而超出上下文窗口时,我该怎么办?
只转换文档的相关部分,而不是全部。使用 pages 选择能够回答你问题的页面或工作表,并在开始前通过 get_document_info 检查页数。
我可以使用 AI 将 PDF 第 10 到 20 页转换为 Markdown 吗?
可以。直接使用自然语言请求,例如 “将 report.pdf 的第 10‑20 页转换为 Markdown”,代理会自动展开为完整的页码列表。未授权时,仅会处理前 3 页。