Navicat 导出ER图PDF空白或乱码的根本原因是字体缺失或导出引擎不兼容中文路径/字符,需安装SimSun、Microsoft YaHei等中文字体并启用系统字体选项;连线错位因未应用布局,导出前须执行Layout→Organize Diagram;不支持多库合并导出,需用pdftk或SVG手动拼接;字段类型显示不全需在ER Diagram选项中设为Full type name。
Navicat 导出 ER 图为 PDF 时空白或乱码
根本原因通常是字体缺失或导出引擎不兼容中文路径/字符。navicat 内置的 pdf 渲染器(尤其旧版 15.x 及更早)依赖系统字体,若未安装 simsun、microsoft yahei 或 noto sans cjk 等支持中文的字体,标题、表名、字段注释会显示为空白方块或直接消失。
实操建议:
- Windows 用户:确认系统已安装
simfang.ttf或msyh.ttc,并重启 Navicat - macOS 用户:将
NotoSansCJK.ttc拖入「字体册」并设为“已启用”,避免用仅用户启用的字体 - 导出前在 ER 图编辑界面右键 →
Options→ 勾选Use system font for labels(新版 16+ 默认开启) - 临时规避法:把数据库名、表名、字段注释里的中文全替换成英文再导出,验证是否为字体问题
导出 PDF 后关系连线错位、布局崩坏
Navicat 的自动布局(Auto Layout)在导出 PDF 时不保留交互式缩放状态,而是按当前视图快照渲染。如果 ER 图已手动拖拽调整过位置,但未点击 Layout → Apply Layout,导出结果就会沿用原始拓扑逻辑排布,导致连线交叉、表重叠。
实操建议:
- 每次导出前务必点一次
Layout菜单 →Organize Diagram(推荐)或Tree Layout(适合层级清晰的库) - 禁用「自动适应画布」:右键画布 →
Canvas Properties→ 取消勾选Fit to canvas on zoom,防止缩放状态干扰导出精度 - 若需固定比例,先用
Ctrl + 鼠标滚轮缩放到 100%,再导出——PDF 尺寸与屏幕显示完全一致
批量导出多个数据库的 ER 图到同一 PDF
Navicat 原生不支持多图合并导出。所谓“批量”,本质是靠外部工具拼接,而非内置功能。强行用打印驱动(如 Microsoft Print to PDF)截取多标签页,会导致页眉页脚污染、分页错乱、矢量图转为模糊位图。
实操建议:
- 单库导出用
File→Export ER Diagram→ 选PDF,确保勾选Include legend和Include table descriptions - 多库合并推荐命令行方案:用
pdftk合并(macOS/Linux 安装brew install pdftk;Windows 下载 GUI 版),执行pdftk a.pdf b.pdf c.pdf cat output all_er.pdf - 追求矢量质量:导出时选
SVG格式(Navicat 16+ 支持),再用 Inkscape 或 Illustrator 手动排版合并——保留全部线条锐度和文字可编辑性
导出后字段类型显示不全(如只显示 VARCHAR 不带长度)
这是 Navicat 的字段元数据显示策略问题。默认导出会精简类型信息以适配图面空间,VARCHAR(255) 可能被截断为 VARCHAR,DECIMAL(10,2) 显示成 DECIMAL,对建模审查造成干扰。
实操建议:
- 进入
Tools→Options→ER Diagram→ 找到Column display format,改成Full type name - 若仍不生效,检查表字段是否设置了
Comment:有注释的字段,Navicat 有时会优先显示注释而隐藏类型,此时需清空注释或改用Type + Comment模式 - 导出前双击任意表打开属性面板,确认
Fields标签页中每列的Type列完整可见——导出内容严格匹配该视图所见
真正卡住效率的往往不是导出动作本身,而是导出前没意识到:Navicat 的 ER 图是“状态敏感”的——缩放比例、字体设置、布局缓存、甚至当前激活的标签页,都会静默影响最终 PDF。每次导出前花 10 秒做一次 Layout → Organize Diagram + Ctrl+0 重置缩放,比事后修 PDF 省半小时。










