扫描保证
无法扫描的二维码,再漂亮也毫无价值。我们把可扫描性当作硬性要求,而不是“尽力而为”。
我们在服务器端做了什么
引擎生成的每个二维码(无论是手动还是 AI)在文件离开服务器之前都要经过三项检查:
- 符合 ISO/IEC 18004。 按规范验证矩阵尺寸、校正图形、定时图形、静区宽度和纠错等级。
- 模块对比度。 以感知方式(CIE Lab)测量前景与背景的对比度。低于安全阈值的情况会自动修正:重新锚定渐变,恢复定位点颜色。
- 模拟扫描测试。 参考解码器(zbar)读取渲染结果。如果解码失败或返回了错误的内容,引擎会修正配置(提高 ECC 等级、增大模块缩放、恢复定位点)并自动重新渲染。
如果自动修正无法达到合格状态,API 会返回一个指出问题字段的结构化错误,而不是一个坏掉的二维码。
在 AI 编辑器中你会看到什么
“strictScannability”开关(默认开启)会告诉 AI 在两者冲突时优先保证可扫描性,而不是美观。关闭后引擎仍会验证,但只会显示警告,而不会强制修正。
打印的二维码无法扫描怎么办
把打印样品(照片)和原始导出文件发给我们,我们免费重新生成二维码,无需任何理由。请通过收据中的邮箱地址联系我们。
使用 strictScannability: true 和 eccLevel: "H" 生成的二维码,我们至今还没有遇到过扫描失败的情况。如果真的发生,由我们负责。
为什么 ECC H 很重要
纠错等级 H 让二维码在约 30% 受损的情况下仍能解码。以下情况我们默认使用 H:
- 带有 logo 或中心文字叠加的二维码
- 计划印在非涂布纸、布料或其他会老化的材料上的二维码
- 暴露在紫外线或雨水中的户外标牌
L 和 M 适用于你能掌控显示介质的像素级屏幕展示。你可以在编辑器的手动模式中明确设置。