打印机设置
打印机设置位于 POS 的 设置 > 打印机 中。每台设备都会管理自己的打印机配置——打印机会存储在本地,不会在设备之间同步。
本页介绍通过 USB、Bluetooth 或本地网络连接到收银台的打印机。对于位于其他房间或地点的打印机,或希望所有设备共享的打印机,请参阅云打印。
各平台支持的打印机
添加打印机表单会根据正在使用的应用进行调整——每个平台只会显示其实际可用的连接方式和选项。
| 平台 | 支持的打印机 | 连接方式 |
|---|---|---|
| Web 应用 | 内置 Web 服务器的 Epson 和 Star 打印机 | 网络 (HTTP) |
| 桌面应用 | 任何网络收据打印机 | 网络 (raw TCP) |
| iOS 应用 | Epson 和 Star | 网络、Bluetooth |
| Android 应用 | Epson 和 Star | 网络、Bluetooth、USB |
Web 浏览器无法打开原始 TCP 连接。Epson 和 Star 收据打印机内置 Web 服务器,可通过 HTTP 接收打印作业——这是从浏览器发送 ESC/POS 命令的唯一方式。桌面应用没有此限制,因为它可以直接通过 TCP 连接。
在移动应用上,Bluetooth 和 USB 打印通过 Epson 与 Star 的官方 SDK 进行,因此这些连接也需要 Epson 或 Star 打印机。通用打印机仅可通过网络使用。
添加打印机
打开打印机设置
在 POS 中前往设置 > 打印机。如果尚未配置任何打印机,会看到一个空状态页面,其中有一个添加打印机按钮。每台打印机都有一个打印机名称——只是一个标签,会自动填入为“收据打印机”(然后是“收据打印机 2”,依此类推)——可将其改为任意便于区分打印机的名称。
选择打印机连接方式
此步骤会因平台而异:
- Web 应用 — 选择 供应商:Epson 或 Star。这是 Web 上的首选,因为浏览器只能访问这两个品牌的内置 Web 服务器。
- 桌面应用 — 打印机通过网络连接;这里无需额外选择。
- 移动应用 — 选择 连接类型: 网络, 蓝牙,或 USB (USB 仅适用于 Android)。下方字段会根据你的选择相应变化。
识别打印机
网络打印机 — 输入 IP 地址(例如 192.168.1.100)。WCPOS 会探测该地址,以检测它是 Epson 还是 Star 设备,并自动填充端口、命令语言和供应商。检测完成后,你会看到“已检测到:Epson”或“已检测到:Star”标签。在 Web 应用上,它还会显示将要连接的确切端点 URL。
蓝牙或 USB 打印机(移动端)— 从已发现设备列表中选择你的打印机。选择设备后会自动填充其名称和供应商。如果你的打印机尚未列出,请点按 扫描打印机(蓝牙)或 刷新(USB)。
如果自动检测未能完全正确,可在 高级设置 下调整所有相关选项。
保存并测试
点击 保存。WCPOS 会先发送一次 测试打印,只有成功后才会保存该打印机。
测试打印是一份简短诊断内容,包括编号列标尺、居中的普通字号和双倍字号文本、左右对齐行,以及切纸。它用于确认纸张宽度、对齐、字号和切纸都已正确配置,而不仅仅是确认打印机可以访问。
如果测试失败,你会看到错误信息,并可使用 不测试直接保存 选项仍然保存该配置文件。
连接类型(移动应用)
在 iOS 和 Android 应用上,打印机可通过三种方式连接。在添加打印机表单顶部选择 连接类型,连接字段会相应更新。
网络
打印机与你的设备位于同一个 Wi-Fi 网络。请输入其 IP 地址 — 请参阅查找打印机的 IP 地址。网络打印机可以是 Epson、Star 或通用打印机。
蓝牙
打印机已通过蓝牙与你的设备配对。点按扫描打印机,然后从列表中选择你的打印机 — 其名称和厂商会自动填入。蓝牙打印使用 Epson 和 Star 的原生 SDK,因此打印机必须是 Epson 或 Star 型号。
USB(仅限 Android)
打印机通过 USB 线缆连接。点按刷新,然后从已连接设备列表中选择它。与蓝牙一样,USB 打印需要 Epson 或 Star 打印机。iOS 不提供通用 USB 外设支持,因此此选项仅在 Android 上显示。
端口设置仅适用于网络打印机 — 对蓝牙和 USB 连接会隐藏。
高级设置
展开高级设置以微调打印机配置。知道厂商后,大多数设置会自动填入。
| 设置 | 选项 | 描述 |
|---|---|---|
| 厂商 | Epson、Star、通用 | 打印机制造商。在网页版应用中,厂商是表单顶部的主要选择(仅 Epson 或 Star),而不是高级设置。通用选项适用于桌面和移动应用中的网络打印机,但不适用于蓝牙或 USB 连接。 |
| 端口 | 自动填充 | 打印机的网络端口。仅适用于网络连接,Bluetooth 和 USB 时隐藏。 |
| 语言 | ESC/POS, StarPRNT, Star Line Mode | 打印机使用的命令协议。根据检测到的供应商自动填充。 |
| 打印机文本宽度 | 58mm(32 个字符), 80mm 标准(42 个字符), 80mm 宽版(48 个字符) | 一行可容纳的字符数。请与纸张和打印机匹配:大多数 80mm 打印机每行 42 个字符,部分为 48 个。 |
| 完整收据栅格图像 | 关 / 开 | 将整张收据作为图像而不是文本打印。请参阅下方的完整收据栅格图像。 |
打印机选项
这些开关位于添加打印机表单的底部:
| 选项 | 描述 |
|---|---|
| 自动切纸 | 每张收据打印后自动切纸 |
| 自动打开钱箱 | 打印后发送触发命令,打开已连接的钱箱 |
| 设为默认 | 将此打印机设为默认打印机,用于未路由到特定打印机的任何收据 |
销售完成时自动打印收据是购物车设置,不是打印机设置。请在 POS 购物车设置中开启自动打印收据。使用哪台打印机由默认打印机以及按模板设置的打印机路由决定。
打印路由
如果使用多个模板,例如一张热敏收据和一张 A4 发票,打印路由会决定每个模板打印到哪台打印机。路由分为三层,并按以下顺序检查:
- 按任务覆盖。 在收据界面,模板切换器旁边有一个打印机下拉菜单。在这里选择打印机会覆盖该次打印任务的所有其他设置。切换模板会将其重置回自动。
- 设置覆盖。 前往设置 → 打印路由,为每个模板分配特定打印机。例如,将热敏收据路由到 Epson 网络打印机,将 HTML 发票路由到系统打印对话框。将模板重新设为自动即可移除覆盖设置。
- 自动匹配。 未设置覆盖时,WCPOS 会自动匹配:
- 热敏模板会路由到字符宽度匹配的热敏打印机。58mm 热敏模板优先使用 32 列打印机;80mm 模板优先使用 42 或 48 列打印机。
- HTML 模板会路由到系统打印对话框。
- 如果多台打印机都匹配,则使用默认打印机。
如果手动将模板发送到不兼容的打印机,例如将热敏模板发送到系统对话框,收据界面会显示琥珀色的不匹配警告。打印仍会继续,但输出可能无法正确渲染。
路由覆盖设置会按设备存储。每台 iPad、手机或计算机都会管理自己的路由,不会进行服务器端同步。
仅在添加至少一台打印机后,打印路由设置页面才会显示。未配置打印机时,每个模板都会默认使用系统打印对话框。
完整收据光栅化
默认情况下,WCPOS 会将收据以文本形式发送到热敏打印机:速度快、体积小、清晰,并使用打印机的内置字体。问题是:热敏打印机字体只覆盖有限的字符集。打印机没有对应字体的文字体系(许多非拉丁字母、从右到左的文本、某些符号)可能会打印为空白方框或乱码。
完整收据光栅化可以解决此问题。启用后,WCPOS 会将整张收据渲染为图像,并将该图像发送到打印机,因此打印结果会与屏幕显示完全一致,适用于任何语言或文字体系。
在每台打印机的高级设置下启用。需要了解的事项:
- **速度较慢。**图像比一行文本大得多,因此收据发送和打印所需时间更长。
- **仅在需要时使用。**如果收据以文本形式打印正常,请保持关闭。
- 它适用于任何连接方式(网络、蓝牙、USB)的热敏打印机。不适用于系统打印对话框,因为系统打印对话框已经基于整页渲染进行打印。
发现打印机
在移动应用中,添加打印机表单会列出附近可用于蓝牙(iOS 和 Android)以及 USB(仅 Android)连接的打印机:点击扫描打印机或刷新,然后从列表中选择你的打印机。其名称和供应商会自动填入。
对于任何平台上的网络打印机,请直接输入 IP 地址。请参阅下方的查找打印机的 IP 地址。Web 应用没有网络发现功能(浏览器无法扫描网络),因此始终使用手动输入 IP。
查找打印机的 IP 地址
大多数收据打印机都可以打印自检页,其中包含 IP 地址:
- Epson:开机时按住进纸按钮
- Star:开机状态下按住进纸按钮 5 秒
或者,查看路由器的已连接设备列表,或使用打印机的配置工具。
建议使用静态 IP
收据打印机应使用静态 IP 地址,以防止打印机重启后地址发生变化。可通过以下任一方式配置:
- 在打印机内置的 Web 界面中(通常可通过以下地址访问
http://<printer-ip>) - 在路由器的 DHCP 设置中(为打印机的 MAC 地址分配保留 IP)
Epson 打印机
支持 ePOS 的 Epson 打印机通过 HTTP 通信。WCPOS 会向打印机内置的 Web 服务器发送 SOAP/XML 请求。
连接详情:
- 端口
8008(HTTP) 或8043(HTTPS) - 端点:
/cgi-bin/epos/service.cgi
已确认可用的型号:
- Epson TM-T70-i 2(网络)
- Epson TM-m30iii(使用 Printus 中间件)
请确保 Epson 打印机已在其配置中启用 ePOS。访问打印机的 Web 界面: http://<printer-ip> 以检查并启用 ePOS 设置。
在移动应用上,Epson 打印机也可以通过 Epson 原生 SDK 使用 Bluetooth 或 USB 连接,无需 IP 地址或 ePOS Web 服务器。
Star 打印机
支持 WebPRNT 的 Star 打印机通过 HTTP 通信。WCPOS 会向 Star WebPRNT 端点发送命令。
连接详情:
- HTTPS 或 HTTP
- 端点:
/StarWebPRNT/SendMessage
在移动应用中,Star 打印机还可以通过 Star 的原生 SDK 使用 Bluetooth 或 USB 连接。
通用打印机
桌面应用支持通过原始 TCP 连接任何网络收据打印机。输入打印机的 IP 地址和端口(通常为 9100)。只要打印机接受 ESC/POS 命令,无论制造商是谁,此方式都适用于大多数热敏打印机。
在移动应用中,也支持通用打印机,但仅限网络连接,不支持 Bluetooth 或 USB(这些连接需要 Epson 或 Star 打印机)。Web 应用完全不支持通用打印机。
钱箱
连接到收据打印机的钱箱可以在每次销售后自动触发:
- 在打印机选项中启用自动打开钱箱
- POS 会在打印后发送 ESC/POS 弹开命令
现金抽屉控制需要热敏打印机配置文件,浏览器打印对话框无法触发现金抽屉。
故障排除
设置期间未检测到打印机
- 确认打印机已开机,并且与您的设备连接到同一网络
- 对于网络打印机:检查 IP 地址是否正确(打印自检页)
- 对于 Web 应用:确认打印机是支持 ePOS/WebPRNT 的 Epson 或 Star 型号
- 对于桌面应用:尝试使用端口 9100 的通用供应商选项
- 对于 Bluetooth:先在设备的 Bluetooth 设置中配对打印机,然后点击 扫描打印机
- 对于 USB(Android):检查线缆;如果出现 USB 权限提示,请批准
- 检查是否有防火墙阻止连接
已检测到打印机,但没有打印内容
- 检查纸卷——可能已用完或卡纸
- 确认 打印机文本宽度 设置与你的纸张(58mm 或 80mm)匹配
- 尝试从打印机本身打印自检页,以确认打印机可以正常工作
- 检查命令语言是否与你的打印机匹配(Epson 使用 ESC/POS,Star 使用 StarPRNT 或 Star Line Mode)
收据乱码或字符不正确
- 命令语言设置可能不正确——请尝试在 ESC/POS、StarPRNT 和 Star Line Mode 之间切换
- 确保 打印机文本宽度 设置正确
- 如果收据使用非拉丁文字或从右到左的语言,请在高级设置中启用 完整收据光栅——它会将收据作为图像打印,因此任何语言都能正确呈现
钱箱无法打开
- 确认已在打印机选项中启用 自动打开钱箱
- 检查钱箱是否连接到打印机的 DK 端口(而不是单独的电源)
- 并非所有打印机都支持钱箱弹开命令——请查阅打印机文档
无法从 Web 应用连接
- Web 应用只能连接带有内置 Web 服务器的 Epson 和 Star 打印机
- Web 端不支持通用打印机和 USB 打印机——请改用桌面应用或移动应用
- 如果站点使用 HTTPS,而打印机只支持 HTTP,浏览器可能会将该连接作为混合内容拦截
蓝牙打印机无法连接(移动端)
- 在 WCPOS 中添加打印机之前,请先在设备的系统蓝牙设置中配对打印机
- 蓝牙打印仅支持 Epson 和 Star 打印机——不支持通用蓝牙打印机
- 如果打印机未显示在列表中,请再次点按扫描打印机,并确保打印机已开机且在连接范围内