必须勾选“print line numbers”且左侧页边距≥20mm,取消“use default printer font”,清空页眉并设顶边距≥18mm,关闭驱动灰度模式,行号前景色建议设为#000000。

Print 设置里必须勾选“Print line numbers”
Notepad++ 默认不打印行号,即使编辑区已显示——这是两个独立开关。光在视图或首选项里开了 Show line number,打印时依然空白。
真正起作用的选项藏在打印配置页:Settings > Print → 勾选 Print line numbers。这个勾选不依赖当前文档是否启用了行号显示,也不受语言模式影响,是打印流程中唯一生效的控制点。
- 如果没勾,哪怕左侧 margin 宽到 100mm,输出也绝不会出现数字
- 勾了但第一页没行号?大概率是页眉占位或 top margin 过小,见下一条
- 该选项在 v8.6+ 中稳定生效;v7.x 某些便携版可能需重启 Notepad++ 才加载
左侧页边距必须 ≥20mm,否则行号被裁切
行号栏本身不参与内容流排版,它靠固定像素宽度 + 左侧 margin 预留空间来“挤”出位置。打印引擎按毫米计算物理区域,一旦 Left margin 小于 20mm,行号数字就会从纸张左边缘开始溢出,被打印机直接切掉。
尤其在 A4 纵向(Portrait)下,这个问题几乎必现。别信“我设了 15mm 也能看到”,那是屏幕预览欺骗你——PDF 或真机输出时第一列数字只剩半截。
- 推荐值:20mm 起步,若文件超长(>1000 行)或字号偏大(>10),直接设 25mm
-
Use default printer font必须取消勾选,否则字体回退到系统默认(常为不等宽),缩进错乱会进一步加剧行号错位 - Margin 设置在
Settings > Print,不是页面设置对话框(Ctrl+P 弹出的那个)
页眉/页脚字段会顶掉第一页行号
Notepad++ 把页眉、行号、代码三者当成三个独立层叠渲染。页眉内容(比如 &F 文件名)默认画在顶部 10–15mm 区域,而第一行代码和它的行号刚好紧贴顶部绘制——结果就是页眉盖住第一行,视觉上“第一页没行号”,其实只是被遮了。
最简解法是清空 Header 字段,把所有标识信息挪到 Footer:填入 &F &P 即可同时显示文件名和页码,且不影响行号布局。
- 若必须顶部显示文件名,改用
View > Show Symbol > Show Text in Header输入纯文本,它不参与 margin 计算,更稳定 -
Top margin建议设为 18mm 起步,低于 15mm 时,多数驱动会把第一行代码压进页眉区 - 自定义页眉里用了
font size=8之类样式?别加——打印引擎不解析 CSS,只当无效字符处理,反而干扰渲染顺序
彩色行号印出来发灰?检查打印机驱动灰度开关
即使你勾了 Print in colour、行号样式设成亮红色,在某些老旧打印机驱动(尤其是 HP LaserJet 系列或 Windows 自带“Microsoft Print to PDF”旧版)下,仍可能输出灰度。这不是 Notepad++ 的 bug,而是驱动层强制降级。
验证方法:先用 Microsoft Print to PDF 输出一份,打开 PDF 查看行号是否真彩;若 PDF 正常但真机打印发灰,问题就在打印机驱动。
- Windows 设置路径:
设备和打印机 > 右键你的打印机 > 打印首选项 > 高级 > 灰度打印→ 关闭 - 部分驱动叫 “Grayscale mode” 或 “Convert to grayscale”,名称不统一,但都得关
- 深色主题用户注意:行号前景色若设成
#333333,打在白纸上接近浅灰,建议调至#000000或#222222保底











