Notepad++打印前必须检查三项设置:勾选Print in colour以保留语法高亮;取消Use default printer font并手动指定Courier New/Consolas等宽字体、字号9或10;左侧页边距≥20mm以防行号被裁切。

Notepad++ 打印文档前必须检查的三项设置
直接按 Ctrl+P 弹出打印对话框不等于能正常打出内容——多数“空白页”“错位”“无行号”问题都源于这三项未调好:
- 确保
Settings → Print中勾选了Print in colour(否则语法高亮全变黑白,且部分深色主题关键字会几乎不可见) - 取消勾选
Use default printer font,手动指定等宽字体如Courier New或Consolas,字号设为 9 或 10 - 左侧页边距(Left margin)必须 ≥20mm —— 否则启用行号时,第一列数字会被裁掉,尤其在 A4 纵向下极常见
为什么点了 Microsoft Print to PDF 却输出空白或乱码
这不是打印机驱动故障,而是 Notepad++ 打印模块对渲染样式支持有限导致的。典型诱因包括:
- 当前使用深色主题(如
Dark Mode),而打印引擎默认忽略背景色、跳过颜色映射,导致浅色文字印在白纸上不可见 - 文档含 UTF-8 BOM 或控制字符(如
\u2028行分隔符),某些 Windows 打印驱动无法解析,直接跳过整段 - DPI 缩放开启(如系统设为 125%),Notepad++ 打印区域计算失准,内容被裁切或偏移
临时解法:切换回 Settings → Style Configurator → Global Styles → Default Style,背景设为白色,字体设为黑色;再执行 Encoding → Encode in ANSI 后打印。
如何让行号、页眉、文件名一起正确出现在 PDF 里
Notepad++ 的页眉/页脚字段(&F、&P、&D)和行号是两个独立渲染层,位置冲突会导致第一页没行号、页眉盖住代码首行等问题:
- 清空
Header字段(留空),所有标识信息统一放在Footer—— 比如填入&F &P,这样页码和文件名始终在底部,不挤占行号空间 - 若必须顶部显示文件名,改用
View → Show Symbol → Show Text in Header,输入纯文本(不带格式),它比页眉字段更稳定 - 行号本身不参与页眉页脚计数,但若
Top margin小于 15mm,第一行代码可能被页眉遮挡,建议设为 18mm 起步
NppExport 导出 RTF 再转 PDF 是唯一可靠带高亮方案
原生打印永远无法 100% 还原编辑器里的语法高亮效果,尤其对 Rust、TOML、JSONC 等语言,Print in colour 只能输出基础关键字色块。真正保留全部着色、缩进、折叠状态的方法只有一条路径:
- 确认插件已启用:
Plugins → NppExport → Export to RTF(不是 HTML 或 OpenDocument) - 生成的
.rtf文件用 LibreOffice Writer 打开(Word 有时会重排版),再Ctrl+P → Microsoft Print to PDF - 若导出后高亮异常,先手动在
Language → [对应语言]中指定语言类型,NppExport 不自动识别文件后缀
这个流程多一步,但它是目前 Windows 下唯一能稳定输出“所见即所得”代码 PDF 的方式——省掉这步,后面所有调参都是在修修补补一个有缺陷的底层机制。


















