Navicat 导出 ER 图为 PDF 失败的根本原因是未正确生成 ER 图视图或元数据未加载;需先逆向工程生成图表、调整布局、设置中文字体、使用适合页面功能,并在编辑模式下导出。
Navicat 导出 ER 图为 PDF 时提示“无法导出”或空白
根本原因通常是当前连接未正确加载表结构元数据,或 er 图尚未真正生成(只是打开了空画布)。navicat 的 er 图导出功能依赖于已解析的实体关系视图,不是所有连接类型都默认支持——比如仅用 ssh 隧道但未勾选「使用 ssh 连接」下的「获取数据库结构」选项,er 图里就看不到任何表。
- 确保连接测试成功后,右键该连接 →
逆向工程→ 勾选目标数据库和全部表 → 点击开始,等待进度条完成(这一步生成了可编辑的 ER 图) - 关闭并重新打开
ER 图标签页,避免缓存旧状态 - 导出前先手动拖动调整布局:Navicat 对自动排版后的 PDF 渲染不稳定,若表堆叠在左上角,导出常为空白或只截到一小块
- Mac 用户注意:
PDF导出依赖系统打印服务,若弹出「无可用打印机」提示,需先在「系统设置 → 打印机与扫描仪」中添加一个虚拟 PDF 打印机(如「Microsoft Print to PDF」不支持,必须用 macOS 自带的「另存为 PDF」)
导出 PDF 后字体乱码或中文显示为方框
这是 Navicat 内置渲染引擎未正确绑定中文字体导致的,尤其在 Windows 上常见。它不读取系统默认中文字体配置,而是硬编码调用少数几种字体(如 MS Sans Serif),而该字体不含中文字符集。
- 临时解决:在 ER 图界面顶部菜单栏 →
工具→选项→ 切换到显示页签 → 将字体改为SimSun(宋体)或Microsoft YaHei(微软雅黑),点击确定后重启 Navicat - 若仍无效,说明当前版本(尤其是 16.x 早期版)存在字体 fallback 缺陷,建议升级到
Navicat Premium 17.0.8+或改用导出为PNG后用专业工具转 PDF - Linux 下需确认系统已安装
fonts-wqy-microhei或fonts-liberation,且 Navicat 启动时能读取到(非 Snap 安装方式更稳定)
如何批量导出多个数据库的 ER 图 PDF
Navicat 不支持一键批量导出,但可通过「模型文件」机制绕过重复操作。关键点在于:每次 逆向工程 生成的 ER 图可保存为独立的 .nmf 文件,后续可直接加载并导出,省去反复连库解析的耗时。
- 完成一个数据库的 ER 图后,点击顶部
文件→另存为模型→ 保存为db1.nmf - 新建空白 ER 图 →
文件→打开模型→ 选db1.nmf→ 调整布局 → 导出 PDF - 重复上述流程处理其他数据库;注意不要在同一个 ER 图标签页里叠加多个逆向工程结果,否则导出会混杂、比例错乱
- 命令行不可用:
navicat.exe --export-er-pdf类参数不存在,官方未开放 CLI 导出接口
导出的 PDF 页面尺寸错乱、内容被裁切
Navicat 默认按 A4 尺寸渲染,但 ER 图实际宽高远超标准纸张,它不会自动缩放适配,而是强行截断超出部分。这不是 Bug,是设计如此——它把 ER 图当「画布快照」而非「可缩放矢量文档」处理。
- 导出前务必点击 ER 图工具栏的
适合页面按钮(图标为方框内带放大镜),让全部表可见且留白均匀 - 若仍有裁切,改用「自定义尺寸」:导出对话框中取消勾选
适应页面大小,手动设宽度为2000像素、高度为1500像素,再导出 - 生成的 PDF 实际是位图嵌入,放大后会模糊;如需高清矢量输出,唯一办法是导出为
SVG(Navicat 17+ 支持),再用 Inkscape 转 PDF
最易被忽略的是:导出操作必须在 ER 图处于「编辑模式」下进行,而不是在「查看模式」(即双击表打开字段列表后的小窗口)里点导出——后者只会导出单个表结构,不是整个 ER 图。










