为什么 Google Docs 朗读不工作——以及唯一能修的扩展
如果你在 docs.google.com 上用 Chrome 自带 Read Aloud、Speechify、NaturalReader 读不出任何东西,或者读的是五次编辑之前的旧文——不是扩展坏了。2021 年 Google Docs 改用 Canvas 渲染,基于 HTML 的 TTS 工具再也看不到文字。本文讲清技术原因,告诉你怎么修。
2 分钟装好。无需账号,无需信用卡。
内置朗读没声音
Chrome 和 Edge 的朗读主要面向普通网页文章。在 Google Docs 里,它们经常看不到正文。
TTS 扩展读到一半停下
有些工具只能拿到当前屏幕的辅助功能文本,长文档翻过第一屏就会静默。
使用懂 Google Docs 的朗读器
CastReader 按阅读顺序提取文档正文,再用段落高亮朗读,不依赖页面里是否有可见 HTML 文字。
问题:Google Docs 里已经没有 HTML 文字了
打开任意 Google 文档,打开 DevTools 检查文档主体。本该是文字的地方,你看到一个 `<canvas>` 元素,没有任何可读文本。这就是所有 TTS 扩展失败的根本原因:
Google Docs 渲染到 Canvas,不再是 HTML
- →2021 年 5 月之前,Google Docs 用 contenteditable DIV 渲染,所有 TTS 扩展都能遍历 DOM 找到文字。
- →2021 年 Google 为了"更好的一致性和速度",切到了基于 Canvas 的新渲染器。文档是作为像素画到 `<canvas>` 上的,根本没有 HTML 文字。
- →Chrome 自带 Read Aloud、Speechify、NaturalReader、Edge Read Aloud——全部都是查 DOM 找文字。在 Canvas 渲染的文档上,它们看到的是空白页。
- →有些工具退回辅助功能树(accessibility tree),但 Google 的 a11y 层只暴露当前视口内的内容。你听到开头第一屏,然后就静默了。
各工具实际表现
在 20 页 Google 文档 + Chrome 140 上测试(2026 年 4 月)
Chrome 自带 Read Aloud
静默。集成的 Read Aloud 只在"识别为文章"的页面工作——在 docs.google.com 找不到任何文字。
Speechify Chrome 扩展
读完前 20 行(来自辅助功能树视口)后停止。Speechify 论坛从 2022 年起这个 ticket 一直没关。
NaturalReader Chrome 扩展
拒绝启动——扩展的文本检测器从 Canvas 返回空,直接弹"no content found"。
Edge Read Aloud
同根因。要么读不出东西,要么读的是侧边菜单标签而非正文。
CastReader
朗读整个 Google 文档,带段落级高亮。直接 hook Google 的文档模型,不依赖 DOM——完全绕过 Canvas 屏障。
CastReader 怎么做到的
我们不读 Canvas,我们读数据源。
Hook Google Docs 的文档模型
Google Docs 把完整文档作为 JavaScript 模型保留在内存里(Canvas 就是从这个模型画出来的)。我们检测到 docs.google.com hostname,在页面加载时 attach 到这个模型。
按文档顺序提取文字
模型按真正的阅读顺序(不是视口顺序)暴露段落、标题、列表。我们从头到尾遍历——这意味着第 80 页最后一段和第 1 页第一段同样可达。
朗读 + 段落高亮
提取的文字喂给 TTS 管线。每段播放时,CastReader 用 overlay 层在 Canvas 上高亮对应区域。点击段落可跳转音频。全程本地运行——文档绝不离开你的浏览器。
如何朗读任意 Google 文档
装 CastReader
Chrome、Edge、Firefox 全免费。无需账号,无需信用卡。
打开 Google 文档
docs.google.com,任意你拥有或有查看权限的文档。不需要特殊准备。
点 CastReader 图标
1 秒内开始播放。段落级高亮跟随。自动滚动同步。
Google Docs 朗读常见问题
为什么 Chrome 自带 Read Aloud 在 Google Docs 上不工作?▾
因为 2021 年 5 月 Google 把 Google Docs 从 contenteditable DIV 迁移到了基于 Canvas 的渲染器。Chrome 的 Read Aloud——和所有基于 DOM 的 TTS 一样——是遍历 HTML 找文字,Canvas 页面上没东西可遍历。CastReader 是 hook Docs 的文档模型,所以不管页面怎么画都能用。
Speechify 能用于 Google Docs 吗?▾
部分能用。Speechify 可以读第一屏(通过辅助功能树),然后碰到虚拟化的 Canvas 区域就停下。如果你的文档超过大约 20 行,Speechify 会读开头然后静默。这是它论坛 2022 年以来的已知限制。
可以听我没有所有权的共享 Google 文档吗?▾
可以。只要 Google Docs 让你在浏览器里打开这个文档(任意角色——编辑、评论、查看),CastReader 就能朗读。不需要特殊权限。
在暗色模式、Classroom、Workspace 里能用吗?▾
能。CastReader 会 attach 到 Docs 模型,和主题或容器无关。独立的 docs.google.com、Google Classroom 嵌入、Google Workspace(前 G Suite)部署都可以。
Sheets 和 Slides 支持吗?▾
Google Sheets 和 Slides 用不同的文档模型。CastReader 当前自带 Docs 支持。Slides 支持在路线图上。Sheets 可能性较低——单元格逐个朗读是另一个 UX 问题。
支持评论和建议吗?▾
主文档正文会被朗读。评论线程和建议模式的修订会被跳过,让朗读保持干净——如果你想要,去 GitHub 上提 feature request。
支持什么语音和语言?▾
Kokoro v1.0 底层支持 8 种语言。CastReader 正式目录以精选中文和英文音色为主;其他支持语言与非英语同步仍处于 Beta/Lab,质量会有差异。混合语言文档会根据主要内容选择音色。
想在手机上听怎么办?▾
需要在手机上收听时,请使用 CastReader 原生 iPhone 或 Android App。
有试用期或每日限额吗?▾
免费档无需注册即可使用自然语音,有 credit 额度。想要 premium 超真实语音、更多收听时长和 AI 文档分析,可升级可选的 CastReader Pro($9.99/月)——比 Speechify 每年 139 美元更划算。
我们的数据怎么说
- 和书籍相比,工作文档在收听中占少数,但真正发生的会话都很长。
- 全样本中平均会话听完了 71.7%、播放约 59 个段落。
来自我们自己的朗读报告 —— 41,396 次匿名收听会话、3,075 台设备,2026 年 4 月 8 日至 6 月 22 日。这是 CastReader 用户的行为样本,不是全体读者的普查。
阅读完整报告Read Google Docs, PDFs, Kindle, and webpages aloud
Install the browser extension for Google Docs and web pages, or use the mobile apps when your reading moves to iPhone or Android.
Browser extensions
Mobile apps
Official App Store and Google Play downloads · Chrome, Edge, and Firefox extensions