先说结论
打开二维码与条形码生成器,粘贴链接,保留 M 等级和 4 的留白,再下载 SVG。手持卡片上的短链接码可以先试两三厘米宽、浅底深色,然后在预定距离测试成品。密度、表面和手机,比统一的最小尺寸更重要。
绝大多数情况到这儿就完了。这一页剩下的部分是给例外准备的:要经得起反复摸的码、中间要放 logo 的码、要贴在很小的东西上的码,还有一个特别容易做错、又得等上一年才发现的决定。
访客网络、名片和设备标签
访客网选“Wi-Fi 网络”,填准确名称、安全类型和密码,核对编码字符串。普通室内卡先用 M 和四模块边距,导出 SVG,测试纸卡是否加入预期网络。能读码的人能得到密码,改密码要重新做码。名片选“联系人卡片”,测试手机保存的姓名、邮箱和电话。
打印机或共用家电可贴手册或设置指南。选“文字或链接”,用你能控制的短而稳定 HTTPS 地址,旁边印设备名。易脏标签可试 Q 或 H,保留四模块边框,测试贴好后的标签,也在手机打开说明。网页仍需联网加载。
二维码里到底装着什么
一串字符,就这么点东西。扫一个二维码,等于把一段文本递给手机。之后打开网页也好,连上网络也好,问你要不要存联系人也好,都是手机认出了这段文本的样子,然后主动提议照着办。
“Wi-Fi 二维码”不是另一种码制。它只是存有 WIFI:T:WPA;S:My Network;P:the password;; 的二维码,兼容手机会把字符串识别为网络信息。测试实际使用的手机。生成器展示完整字符串,就是为了在行为不符合预期时检查真正的内容。
二维码印好后不能修改,本身不发起网络请求,编码文字也不会到期。但链接页面可能移动或消失,Wi-Fi 密码也可能改变。印出的码仍保存旧字符串。
第一件事:纠错等级
二维码在数据旁边还带着一组校验码字,算法让读取器能把没看清的部分重建出来。一个缺了角的码还能扫出来,靠的就是它。校验码字放多少,就是等级,一共四档:
- L — 全部码字的约 7%。
- M,大约 15%。
- Q,大约 25%。
- H,大约 30%。
DENSO 以全部码字为分母定义这些百分比,并非任意模块或图像面积。检测图形受损可能使扫描在纠错前就失败。更高纠错能力也需要更多空间:相同内容通常会生成更密集或更大的符号。
L 给屏幕用:幻灯片里、邮件里、网页上的码。没什么东西会去损坏它,而每多一个模块,隔远了就更难读。
M 是默认值,也是大多数印刷品的正确答案。会被人拿在手里翻两下的纸、传单、名片。
Q 和 H 留给会被折腾的码:每天要擦一遍的菜单、贴在车间机器上的标签、板条箱上的标贴、晒得到太阳的橱窗里的码。中间能放 logo,也得靠 H,下面还会讲。
第二件事:留白,它是码的一部分
二维码周围那圈白,不是内边距,也不是设计选择。读取器靠它判断这个图形到哪儿为止。规范要求四边各留四个模块的静区,而一个被裁到边的码,是印出来的码失灵最常见的单一原因。
这话值得说得直白些,因为裁掉它实在太顺手了。码看着周围白得太多,于是在版式里被裁了一刀,或者被扔到一块一直铺到方块边上的彩色底上,或者干脆放到一张照片上。这几种做法,每一种都把读取器本来要用的那条边界拿走了。
连着留白显得太大,那就把码做小。别动那圈留白。
第三件事:印多大
尺寸取决于内容需要多少模块、印刷清晰度、读取距离和手机相机。短网址可能比长跟踪链接更简单。手持卡片可以先试两三厘米宽,但这不是保证,也不是二维码规范的最小值。隔着房间读取的海报需要更大的样张,并从实际距离测试。
DENSO 的尺寸示例根据版本和印刷模块大小计算符号尺寸,再在每边增加四个空白模块。最终排版要保留这圈边界。密集的码难读时,缩短内容或增加空间,不要裁掉边界。
打印用 SVG,边缘随布局缩放。只能用 PNG 时,为最终尺寸准备足够像素,别放大小导出。最后扫描实际试印品。任何格式都不能保证某台打印机或手机一定能读。
颜色、对比度,以及常见的两个错
读取器量的是深色模块和浅色模块之间的差别,所以对比度就是全部。有两件事经常出错:
深底上的浅色码。看着是挺抓眼,可相当多的读取器直接不认:它们找的是浅底深图,不会去试反相。有些会试。而你的客户手上是哪一种,你根本不知道。
差别不够大。白底中灰,或者两个分量相近的品牌色,在屏幕上量着没问题,一旦印上纸,油墨扩散加上手机的自动曝光,就失灵了。真要给码上色,就让深的那部分深得够真。
凡是会在灯下被扫的东西,哑光胜过亮面,而这两者又都胜过印在一张照片上。要把码放到彩色底上,透明背景很好用,但记得看清最后垫在它后面的到底是什么,深底上的透明码,无非是上面那第一个错多绕了几道。
中间放一个 logo
小标志可能可行,但生成器不会自动添加。如果在排版编辑器里加,选 H,并保持定位和校准图案无遮挡。没有保证安全的图像面积比例。DENSO 按总码字定义恢复能力,不是任意方形区域。位置、密度和印刷质量都有影响。用几台手机测试最终印刷设计,扫描不可靠就缩小或去掉标志。
最容易让人后悔的那个决定:静态还是“动态”
搜二维码生成器,出来的结果大半想让你注册个账号,因为他们卖的是动态码。动态码里装的不是你的链接,是一个指向生成方自己服务器的短链接,再由那边跳到你这儿。
它换来的东西是真的:印出来之后你还能改这个码指向哪儿,而且每一次扫描都有计数。印量六位数的推广活动,这钱花得值。
它的代价也是真的,而且值得事前知道,别等事后:
- 他们不干了,你的码就废了。服务关停、域名到期、免费额度用完,你印出去的每一个码都会死掉,而那时它们已经躺在一万张菜单上了。
- 每一次扫描都成了别人的数据。那个跳转看得到每一个扫码人的 IP 地址、时间和设备。
- 那个链接是他们的,不是你的。扫的人会看见一个陌生域名一闪而过,而这正是大家被反复叮嘱要提防的东西。
折中办法一分钱都不用花:用你自己域名上的一个短网址做静态二维码,跳转由你自己来做。改目的地的能力还在,统计数据也还在,而这个码的任何一部分,都不取决于一家你素未谋面的公司明年还在不在。
这里的生成器只做静态码,也没有账号可注册。你打进去什么,码里就装什么。
印一千份之前
扫一下这个码。别扫屏幕上那个,扫印出来的打样,在它将要待的那个地方,用一部不是你做它时用的手机。这要花一分钟,却能一网打尽这一整页讲的所有毛病:被版式吃掉的留白、漏了 https:// 的链接、在纸上量出来完全不同的颜色、在桌上管用、上了墙就不管用的印刷尺寸。
还要看扫完之后会发生什么。扫出来是扫出来了,可打开的页面在手机上根本没法读,那也是个失败的码。
这些事一样都不用上传
二维码就是对一串字符做算术。没有文件要送,也没有哪件事是服务器能做而浏览器做不了的,所以这里的工具全都在你自己的机器上完成,拔了网线照样能用。
这一点比听上去要紧,因为人们往二维码里塞的是什么东西。Wi-Fi 那个格式最常见的用途,就是把一个网络的真实密码打进一个网页里。那个页面有没有地方可以把它送出去,值得先弄清楚。