连接打印机

打印机安装可以通过几个简单的步骤完成。打印机可用于打印收据、标签、订单,甚至是来自不同 Odoo 应用的报表。此外,打印机操作可以在制造过程中的触发动作中指定,或添加到质量控制点或质量检查中。

:::: warning ::: title 警告 :::

直接将打印机连接到 Odoo 数据库的唯一方式是使用 IoT 系统。没有 IoT 系统时仍然可以打印,但是由打印机本身管理,这并非推荐的流程。 ::::

IoT 系统支持通过 USB 或网络连接的打印机。受支持的打印机会被自动检测,并显示在 IoT 应用的 Devices(设备)列表中。

:::: important ::: title 重要 :::

通过网络连接到 IoT 系统的打印机必须与 IoT 系统在同一网络中。 ::::

:::: note ::: title 注意 :::

打印机可能需要最多两分钟才能出现在 IoT 应用的 Devices 列表中。 ::::

工单可以通过质量控制点链接到打印机,以打印制造产品的标签。

质量应用 </applications/inventory_and_mrp/quality> 中,可在质量控制点上设置设备。操作步骤:进入 质量 → 质量控制 → 控制点,打开目标控制点。

:::: important ::: title 重要 :::

类型 字段出现 打印标签 选项之前,需要先将制造操作和工单操作附加到质量控制点。 ::::

在此页面,编辑控制点,选择 类型 字段,并从下拉菜单中选择 打印标签。此时会出现 设备 字段,可在其中选择已挂载的设备。

完成后,打印机即可与所选质量控制点配合使用。当制造过程触发该质量控制点时,系统会提供打印特定产品标签的选项。

:::: tip ::: title 提示 :::

也可以通过 IoT → 设备,选择对应设备后,在 质量控制点 标签页中添加控制点。 ::::

:::: note ::: title 注意 :::

质量检查表单 </applications/inventory_and_mrp/quality/quality_management/quality_checks> 中,检查的 类型 也可以设为 打印标签。 ::::

/applications/inventory_and_mrp/quality/quality_management/quality_control_points - /applications/inventory_and_mrp/quality/quality_management/quality_alerts :::

可以将报表类型绑定到特定打印机,步骤如下:

  1. 进入 IoT → 设备,选择目标打印机。
  2. 切换到 打印机报表 标签页,点击 添加一行
  3. 在弹出窗口中,选择要绑定的报表类型,点击 选择

:::: tip ::: title 提示 :::

开发者模式下,也可以前往 设置 → 技术 → 报表,选中报表并设置 IoT 设备。 ::::

首次选择已绑定的报表进行打印时,会弹出 选择打印机 窗口。勾选对应的打印机后点击 打印,即完成绑定。

当打印机与报表绑定后,设置会保存在浏览器缓存中。不同用户或不同设备可能会出现各自的缓存记录,从而导致报表自动从不同打印机打印。

若要解除绑定,前往 IoT → 配置 → 重置已绑定打印机,系统会列出当前设备上已绑定的报表。点击每行的 解除绑定 即可。

:::: important ::: title 重要 :::

此操作阻止当前浏览器自动向列出的打印机打印报表,报表在设备的 打印机报表 标签页中仍保持绑定状态。 ::::

::: seealso POS 订单打印 <pos/restaurant/orders-printing> :::

若打印机未出现在设备列表中,前往 IoT Box <iot/iot-box/homepage>Windows 虚拟 IoT <iot/windows-iot/homepage> 的主页,点击 显示(Devices)区域,确认打印机是否已列出。

若仍未出现,点击 打印服务器 → 管理 → 添加打印机。若列表中无该打印机,说明其连接可能有误。

大多数打印机会自动检测并选择正确的驱动程序。但若自动检测失败,打印机可能会输出随机字符。此时需手动指定驱动:

  1. 在 IoT 系统主页,点击 打印服务器 → 打印机,选中目标打印机。
  2. 管理 下拉菜单中选择 修改打印机,按照提示选择对应的 品牌型号

:::: note ::: title 注意 :::

Epson 收据打印机和 Zebra 标签打印机无需驱动即可工作,请确保对这些型号未选择任何驱动。 ::::

若 Odoo 与 IoT 系统未能正确识别打印机,进入 IoT → 设备,打开对应设备卡片,将 子类型(Subtype)设置为 收据打印机标签打印机办公打印机 中的合适选项。

多数 Epson 打印机支持在 Odoo POS 中使用 GS v0 命令打印收据,但以下型号不支持:

  • TM‑U220
  • TM‑U230
  • TM‑P60
  • TMP‑P60II

可改用 ESC * 命令。具体步骤请参考 Epson 官网对 GS v0ESC * 的兼容性说明。

如果选择 ESC *,请按以下方式在 IoT 系统中配置打印机名称:

<printer_name>__IMC_<param_1>_<param_2>_..._<param_n>__
  • printer_name:打印机名称(不能包含 _/# 或空格)。
  • IMC:表示使用 ESC *(Image Mode Column)。
  • 参数示例:SCALE<X>(比例),LDV(低密度垂直),LDH(低密度水平)等。

示例
正确:EPSONTMm30II__IMC__EPSON_TM_U220__IMC_LDV_LDH_SCALE80__
错误:包含空格、缺少结束 __、参数拼写错误等。

配置完成后,设置 品牌Raw型号Raw Queue (en),保存并等待几分钟即可在 Odoo 中使用。

::: spoiler 示例:针对 TM‑U220B 打印机使用 ESC * 的完整配置过程(包括 CUPS 添加、名称约定、比例调整等),详见原文图示与步骤说明。 :::

DYMO LabelWriter 在 IoT 系统中常出现打印延迟或无法打印的情况。建议使用 DYMO LabelWriter 450 DUO(标签+胶带双模)并确保驱动正确。

更新驱动步骤:

  1. 进入 IoT 系统主页,点击 打印服务器 打开 OpenPrinting CUPS 控制台。
  2. 在顶部菜单选择 打印机,点击目标打印机。
  3. 在第一个下拉框选择 维护,第二个下拉框选择 修改打印机
  4. 按提示选择网络或本地打印机,继续。
  5. 品牌 下拉框选 DYMO型号DYMO LabelWriter 450 DUO Label (en)(或对应型号),保存。

完成后,可在 维护 → 打印测试页 中验证。

为消除延迟,可重新添加一台打印机:

  1. 同上进入 CUPS,点击 管理 → 添加打印机
  2. 本地打印机 区域选择已预装的 DYMO 打印机,继续。
  3. 为新打印机命名(便于辨认),品牌DYMO型号 选对应型号,完成添加。
  4. 在列表中选中新打印机,维护 → 打印测试页,确认立即出纸。

Zebra 打印机对 ZPL(Zebra Programming Language)代码格式极为敏感。若出现空白标签或无输出,可在 开发者模式下,前往 设置 → 技术 → 用户界面 → 视图,搜索并修改对应报表模板的 ZPL 代码。

::: seealso Zebra 打印 ZPL 文件的官方指南 :::

默认多数扫描器使用美国 QWERTY 键盘布局。若使用其他布局,请在 IoT → 设备 中打开对应扫描器卡片,修改 键盘布局 为相应语言。

:::: note ::: title 注意 :::

键盘布局取决于设备与数据库语言,例如 English (UK)English (US) 等。 ::::

确保在 POS 设置 </applications/sales/point_of_sale/configuration/pos_iot> 中选中了正确的设备,并且条码末尾已配置发送 ENTER(键码 28)字符。

:::: important ::: title 重要 :::

部分扫描器会被当作 USB 键盘识别,IoT 系统无法自动识别。可手动在 IoT → 设备 中打开设备卡片,勾选 是扫描器(Is scanner)以强制识别。 ::::

在移动端使用 Odoo 时,若扫描器将每个字符视为单独扫描,可同样在 IoT → 设备 中调整 键盘布局,确保使用正确语言设置。

:::: note ::: title 注意 :::

键盘布局同上,依据设备与数据库语言选择。 ::::