Docs
指南初始设置

打印

HWD POS 中打印的工作原理(CUPS、Chrome/Chromium 和 hwpos-print 服务)以及如何配置。

打印功能默认安装(WITH_PRINTING=yes)。在不需要打印的服务器上(例如仅作数据库的服务器),使用 WITH_PRINTING=no 跳过。

组件

组件用途缺失时
CUPS在 A4 打印机(喷墨/激光)上以及通过 IPP/AirPrint 的网络打印机上打印。热敏打印机(ESC/POS,80 mm 和 58 mm)仍可正常工作:它们不经过 CUPS。
Google Chrome(或 Chromium)以无界面(headless)方式将完整的 A4 单据(带版式的发票和报价单)转换为 PDF。小票式打印仍可正常工作;无法生成带设计版式的 A4 单据。
hwpos-print 服务逐一打印系统放入队列的单据。什么都无法打印。
hwpos-plugins 服务运行插件的后台任务(例如在服务器端向客户发送邮件,使销售人员无需等待)。插件的后台任务不会运行。

两个服务都必须处于运行中(active)并已启用(enabled,开机自启)状态。安装程序的最终摘要会检查它们。

检查打印服务

sudo systemctl status hwpos-print
sudo systemctl status hwpos-plugins

实时查看打印活动:

sudo journalctl -u hwpos-print -f

也可以在 hwdpanel 中启动、停止和重启打印 worker(选项 4–6)、查看日志(选项 18)或重新安装后台服务(选项 16)。

服务用户权限

Web 服务器用户(Ubuntu/Debian 上为 www-data)必须属于以下用户组:

  • lp,用于访问 USB 打印机;
  • lpadmin,用于管理 IPP 队列。

安装程序会自动完成此设置。

添加打印机

在 HWD POS 中,进入 «Sistema → Impresoras»(系统 → 打印机):

  1. 添加每台打印机。
  2. 选择其纸张:80 mm 或 58 mm 热敏纸,或 «documento A4»(A4 单据)。
  3. 在同一界面中执行 «prueba de impresión»(测试打印)。

如果 A4 单据打印出乱码,说明该 A4 打印机被设置成了热敏打印机。请将其纸张改为 «documento A4»。

A4 PDF 单据生成失败

在 Ubuntu/Debian(amd64)上,安装程序会通过官方 .deb 软件包安装 Google Chrome。Ubuntu 的 chromium-browser 只是一个重定向到 Snap 的占位程序,没有 snapd 时,即使命令存在也无法工作。安装程序摘要和 check.sh 会以 Web 服务器用户身份实际运行它(--version)进行验证,而不仅仅检查命令是否存在。

如果 A4 单据的 PDF 生成或打印失败:

检查浏览器:

sudo -u www-data google-chrome-stable --version

如果没有响应,请安装它:

curl -fsSLO https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt-get install -y ./google-chrome-stable_current_amd64.deb

也可以使用 check.sh 中的 Chrome/Chromium 选项。

如果使用其他浏览器,请在 HWD POS 中打开 «Ajustes»(设置),并在 chrome_path 中设置其路径。

虚拟化服务器(Proxmox)

  • 虚拟机(KVM)与 LXC 容器:LXC 容器更轻量,但要将 USB 打印机直通给它,需要特权容器并绑定挂载(bind mount)/dev/usb/lp0。在虚拟机中,请使用 Proxmox 的 USB 直通(Hardware → Add → USB Device)。
  • 最简单的方案:网络(IP)打印机。 完全避免 USB 直通。worker 通过 9100 端口套接字(热敏)或 IPP/AirPrint 队列(A4)打印。推荐用于虚拟化环境。
  • 门店的典型资源配置:2 个 vCPU、2–4 GB 内存、20 GB 磁盘。
  • 为虚拟机或容器在局域网中分配一个固定 IP,以便终端和平板连接。

本页目录