@page {
size: A4;
margin: 14mm 12mm;
}
打印出来的文档左侧文字被切掉一截,右边却留了很宽白边,换一台打印机切得更多,大约 8mm。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。
追下去是这么回事:CSS 里 @page 的 margin 设成 0,打印机有 5 到 10mm 的物理不可打印区,超出部分直接被裁。浏览器默认页边距又被用户在对话框里改成无,问题更明显。
「打印页边距」排查到最后往往是很小的一处差异,前面那些复杂猜测可以先放一放。监控和日志的时间要对上,时区不一致会多绕很大一圈。
临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。
处理上按这个顺序:给 @page 设 12mm 以上的四边距 留出硬件余量;正文容器不要再用负边距去贴边;用两台不同打印机各打一页 对比左右留白。
确认没问题再收工,两台打印机打出来左右都不裁字,四边留白接近。
