打印出来发虚-DPI缩放与矢量化

本文解析打印发虚和条码无法扫描的四大原因,重点聚焦信息技术相关的三类核心问题:位图DPI不足导致插值模糊、CSS或PDF缩放引发条码模块失真、未使用SVG等矢量格式造成渲染失真。强调前端生成内容时需按像素数≥目标尺寸×DPI/25.4校验位图,通过标尺测试识别隐式缩放,并优先采用SVG实现无损输出。排除前三项后才考虑设备参数。

打出来发虚、条码扫不出:DPI、缩放、矢量化,先搞清是哪一种糊

「打印很模糊」是最难接的一类反馈。发过去的样张在客户眼里是糊的,在你屏幕上是清楚的。

因为在显示器上,糊不糊取决于像素;在纸上,取决于墨点落在哪。

先分成三种糊

你看到的真实原因谁的责任
整张都发虚、字边毛糙位图被放大,或渲染分辨率低于打印机渲染
只有条码/二维码扫不出模块宽度变了,边缘灰缩放 + 浓度
字清楚,图形糊图片本身分辨率不够素材
深色块里有白点打印机浓度太低或纸不对设备

先对号,再动手。这四种的解法完全不一样,调错方向会越调越糊。

变量一:DPI 与位图缩放

一张 100×100 的 PNG 要显示成 46mm 宽:203dpi 的热敏机打印 46mm 需要约 368 个点。你给它 100 个点,它只能插值放大——插值就是糊。

规则很简单:位图素材的像素数 ≥ 目标尺寸 × 打印 DPI / 25.4。

目标宽度203dpi 需要300dpi 需要
40mm320 px472 px
50mm400 px590 px
80mm640 px945 px

条码、二维码、公章、logo,都适用这条。

变量二:缩放模式

这是最隐蔽的一个。内容比纸宽一点点,shrink 把它缩小 3%——文字看不出来,条码的模块宽度变了,扫枪就认不出。

// 标签、套打:一定 noscale
await webPrintPdf.printHtml(html,
  { width: '50mm', height: '30mm' },
  { printerName: 'Zebra ZD421', scaleMode: 'noscale' }
)

判断办法:打一张带标尺的测试页,量一下 100mm 的线在纸上是不是 100mm。不是,就是被缩放了。

变量三:矢量化

import webPrintPdf from 'web-print-pdf'

// 条码用 SVG,不用 PNG
const svg = await Barcode.toSVG(code, { format: 'CODE128' })

const html = `
  <div style="width:50mm">
    <div style="font-size:9px">${sku}</div>
    <div style="width:46mm">${svg}</div>
  </div>`

await webPrintPdf.printHtml(
  html,
  { width: '50mm', printBackground: true },
  { printerName: 'Zebra ZD421', paperFormat: '50 x 30 mm', scaleMode: 'noscale' }
)

SVG 有多大就渲染多大,不涉及插值。这是标签场景最省事的做法。

设备侧:浓度与速度

排除了上面三条,才轮到打印机。

  • 热敏浓度太低,条空发灰,扫枪解码失败
  • 打印速度太快,热敏头没烧透,边缘毛
  • 203dpi 打细笔画中文字,本身就吃力,这是物理极限

**调浓度的顺序:先降速,再提浓度。**反过来容易烧头。

排障表

现象先查
条码扫不出,肉眼看还清楚缩放模式是不是 shrink;条码是不是位图
整页字都糊渲染 DPI / 图片素材分辨率
二维码边角发灰打印浓度、速度
只有中文糊,英文清楚字体本身是位图字体,或字号太小
同一文件,这台机器清那台糊两台 DPI 不同(203 vs 300)

最后

「打印模糊」不是一个问题,是四个。先问一句:是整体糊,还是只有条码糊? 这一句能省半天。

顺序记住:素材够不够 → 有没有被缩放 → 能不能矢量化 → 最后才动打印机。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值