跳到主内容

← 返回文章列表

Docx 转 Markdown 之后:让图片路径适配 Obsidian Vault

文字从 Word 转 Markdown 通常很顺利,图片才是迁移里最容易崩的一环:文件一进 vault,每张截图都得是磁盘上真实存在的文件,而且路径要能被 Obsidian 从笔记所在位置解析出来。先把图片链路定好,其余都是例行操作。

这篇指南讲清楚 Pandoc 如何从 docx 里抽取媒体、结果在磁盘上长什么样,以及一套可重复的完整工作流,顺带覆盖两个经典坑:多文档图片重名,和 Obsidian 显示不了的 Windows 矢量格式。

图片为什么最难搞

docx 本质是个 zip 压缩包:正文在 XML 里,而每张截图、图表、示意图都存在包内的 media 目录中,靠内部关系引用,不是文件系统路径。你在 Word 里看到的东西和 Markdown 之后需要的链接完全对不上,转换器必须同时改写文字和解包二进制。

少了解包这一半,得到的就是满是死链的笔记。Obsidian 不会报错,只安静地渲染占位符,等你在另一台设备打开或把 vault 发给同事时才发现图片全没了。转换前定好图片策略,是干净迁移和事后抢修的分界线。

Pandoc 怎么抽取媒体

本站转换器背后的 Pandoc 在 docx reader 阶段就完成了媒体抽取:开启媒体提取后,每张内嵌图片按它在包内的原始文件名落盘,比如 image1.png、image2.jpeg,统一收进转换后文档旁边的 media 文件夹。

Markdown 输出里的引用与这些路径一一对应,笔记和 media 文件夹是成套的。用 ZIP 方式下载,一次拿到 .md 加上它引用的全部图片;解压到任何位置链接都已是正确的,因为引用是相对笔记而言的。

两个细节值得记住:文件名来自 docx 包内部而不是你的图注,一张标注 Survey Site B 的照片可能落盘成 image7.png;编号按文档独立,每个 Word 文件都从 image1 重新数起,多个文档共享目录时就会撞名。

base64 内嵌还是独立文件夹

base64 模式走另一条路:图片不落盘,以 data URI 形式直接写进 Markdown。产物是单个自包含的文件,没有 media 文件夹可丢,笔记要作为单个附件发送或者跨工具粘贴时非常方便。

但对 vault 来说,真实文件通常是更好的选择。data URI 让体积膨胀约三分之一,几张截图就能把笔记撑成几 MB 的 base64 文本,编辑器变卡,diff 和版本控制也基本失效。真实文件还能统一压缩、重命名,一次修正所有引用它的笔记;冻结在笔记里的数据永远做不到。

Obsidian 的附件约定

Obsidian 不强制目录结构,但设置里有两项直接相关。Files and links 下的 Default location for new attachments 决定拖入图片的去向:vault 根目录、当前文件夹,或你指定的文件夹。多数 vault 最终会收敛到一个统一附件目录。

转换出来的 Markdown 带着 media/image1.png 这样的相对引用,Obsidian 按笔记自身位置解析,所以摆放规则很简单:media 文件夹先和笔记并排放。New link format 决定之后 Obsidian 怎么写链接,选相对路径最稳,vault 换机器、换同步工具都不受影响。

一次就能跑通的工作流

第一步,先把 docx 拖进本站转换器,图片模式保持 ZIP。转换完全在浏览器里完成,未发表的草稿不会离开设备,下载包里是 .md 加上 media 图片文件夹,相对路径已经接好。

第二步,把 ZIP 解压到 vault 里笔记应该待的位置,保持 .md 和 media 文件夹并排放在一起。打开 Obsidian 之后,图片第一次就能正常显示,因为每个引用都指向真实存在的相邻文件。

第三步,在 Obsidian 内部而不是文件管理器里整理。选中图片拖进附件文件夹,Obsidian 会移动文件并同步改写引用。绕过它直接动文件会留下失效链接,因为它不会重扫你在外部做的改动。

文档之间撞名怎么办

每个 Word 文档的图片都从 image1 开始编号,十篇论文转出来就是十个不同的 image1.png。全部拷进同一个附件目录,等于悄悄覆盖掉九张图。这是迁移看起来已经完成、几周后才发现丢图的最常见原因。

批量转换用目录隔离绕开了这个问题:ZIP 里每个源文档一个子目录,各自的笔记配各自的 media,彼此不共享命名空间。如果你确实想合并成全 vault 统一的附件目录,就要有意识地做:先给每个文档的图片加有含义的前缀重命名,再到 Markdown 里查找替换。

Obsidian 渲染不了的格式

docx 里的图片不全是 PNG 或 JPEG。Office 图表、Visio 粘贴和某些复制操作会产生 EMF、WMF 这类 Windows 矢量格式,浏览器无法解码,而 Obsidian 正是用浏览器技术构建起来的,路径再对,图也一直是隐形的。

解压后把 media 文件夹按类型排序,挑出 .emf 和 .wmf 结尾的文件。最省事的办法是回到源文档,右键图片选 Save as picture 先导出 PNG 再转换;然后要么把 PNG 重命名成引用里的名字,要么把引用改成文件名。

继续阅读

免费开始转换