保存 ChatGPT 对话最显而易见的方式是 Ctrl+P → 另存为 PDF。它免费、内置,但输出内容却糟糕透顶。下面就是具体原因。
在 chatgpt.com 按 Ctrl+P 后实际得到的东西
打开任意一个长对话,按下 Ctrl+P,选择“另存为 PDF”,然后确认。得到的 PDF 包含:
- 完整侧边栏。 ChatGPT 左侧导航面板出现在每一页上。你文档的一半都是对话历史列表,而不是你想保存的聊天内容。
- 消息输入框。 “发送消息…”输入框在每个分页处都会渲染在底部。
- 截断的长消息。 超过视口高度的回复会在右边界被裁剪。你只能看到前 100 个字符,然后就没有了。
- 代码块在函数中间被切开。 分页符随机出现,一个 30 行函数可能在第 17 行被切断。
- 原始的 LaTeX 而非数学公式。 KaTeX 渲染在打印时失效,你看到的是
$$ ... $$的源码。 - 模糊或损坏的图片。 DALL·E 图片打印分辨率极低;有时打印流程根本加载不出来。
- 流式传输遗留物。 如果你在回复中途打印,半渲染的输出会被永久固化。
- 暗色模式的墨水噩梦。 暗色模式用户会得到白字灰黑底,你的打印机墨盒瞬间耗尽。
为什么 Chrome 无法解决这个问题
浏览器的打印流程是与页面无关的。Chrome 不知道聊天内容位于某个特定的 DOM 子树、侧边栏是装饰性的、输入框是 UI 控件。它只是捕捉屏幕上显示的一切。
理论上你可以通过自定义打印样式表来解决,但 ChatGPT 并没有包含这样的样式表。你需要通过用户脚本或扩展注入 CSS,添加 @media print { .sidebar { display: none } } 规则。大多数用户不会这么做。
导出工具的不同做法
三个关键区别:
- 读取对话数据,而非渲染的页面。 ChatGPT 将对话存储为 JavaScript 数据结构;正确的导出工具读取的是源数据,而不是视觉 DOM。
- 正确渲染数学公式。 在生成 PDF 之前,LaTeX 会通过 KaTeX 转换为 SVG。
- 将 PDF 当作文档而非截图来构建。 分页符尊重内容边界(代码块不被分割),侧边栏和 UI 饰件永远不会出现,因为它们在源头就被过滤了,代码通过正确渲染保留语法高亮。
实际可用的导出流程
安装 ChatExport AI。打开你的 ChatGPT 对话。点击扩展图标。选择 PDF 格式。点击导出。
你将获得:
- 没有侧边栏杂乱。
- 没有输入框。
- 正确排版的数学公式。
- 语法高亮的代码。
- 智能分页。
- 暗色模式可选,不浪费墨水。
操作步骤与 Ctrl+P 相同,但输出看起来像专业文档,而不是一张糟糕的截图。
什么时候 Chrome 的打印功能仍然可用
静态内容、博客文章、食谱、文章。任何不是被构建为实时网络应用的内容,用 Chrome 的打印都能正常运作。问题在于用同一工具去处理它无法胜任的动态网络应用。
什么时候 PDF 不是你最好的格式选择
有时 PDF 完全错误的导出格式:
- 可编辑讲义 → Word (.docx)。
- 笔记应用 → Markdown。
- 团队知识库 → Notion。
- 管线 / RAG 集成 → JSON。
根据目的地选择,而不是默认选项。
完整的分步指南
详细的导出过程请参阅:如何打印 ChatGPT 对话。