Odoo 打印机连接与配置完整指南
连接打印机
打印机安装可以通过几个简单的步骤完成。打印机可用于打印收据、标签、订单,甚至是来自不同 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> 中,检查的 类型 也可以设为 打印标签。
::::
::: seealso
/applications/inventory_and_mrp/quality/quality_management/quality_control_points - /applications/inventory_and_mrp/quality/quality_management/quality_alerts :::
将报表链接到打印机 {#iot/link-printer}
可以将报表类型绑定到特定打印机,步骤如下:
- 进入
IoT → 设备,选择目标打印机。 - 切换到
打印机报表标签页,点击添加一行。 - 在弹出窗口中,选择要绑定的报表类型,点击
选择。
:::: 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)区域,确认打印机是否已列出。
若仍未出现,点击 打印服务器 → 管理 → 添加打印机。若列表中无该打印机,说明其连接可能有误。
打印机输出随机字符
大多数打印机会自动检测并选择正确的驱动程序。但若自动检测失败,打印机可能会输出随机字符。此时需手动指定驱动:
- 在 IoT 系统主页,点击
打印服务器 → 打印机,选中目标打印机。 - 在
管理下拉菜单中选择修改打印机,按照提示选择对应的 品牌 与 型号。
:::: note ::: title 注意 :::
Epson 收据打印机和 Zebra 标签打印机无需驱动即可工作,请确保对这些型号未选择任何驱动。 ::::
打印机已检测但识别不正确
若 Odoo 与 IoT 系统未能正确识别打印机,进入 IoT → 设备,打开对应设备卡片,将 子类型(Subtype)设置为 收据打印机、标签打印机 或 办公打印机 中的合适选项。
Epson 特殊配置情况
多数 Epson 打印机支持在 Odoo POS 中使用 GS v0 命令打印收据,但以下型号不支持:
- TM‑U220
- TM‑U230
- TM‑P60
- TMP‑P60II
可改用 ESC * 命令。具体步骤请参考 Epson 官网对 GS v0 与 ESC * 的兼容性说明。
如果选择 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 打印问题
DYMO LabelWriter 在 IoT 系统中常出现打印延迟或无法打印的情况。建议使用 DYMO LabelWriter 450 DUO(标签+胶带双模)并确保驱动正确。
DYMO 未打印 {#printer/dymo/update_drivers}
更新驱动步骤:
- 进入 IoT 系统主页,点击
打印服务器打开 OpenPrinting CUPS 控制台。 - 在顶部菜单选择
打印机,点击目标打印机。 - 在第一个下拉框选择
维护,第二个下拉框选择修改打印机。 - 按提示选择网络或本地打印机,继续。
- 在
品牌下拉框选DYMO,型号选DYMO LabelWriter 450 DUO Label (en)(或对应型号),保存。
完成后,可在 维护 → 打印测试页 中验证。
DYMO 打印延迟
为消除延迟,可重新添加一台打印机:
- 同上进入 CUPS,点击
管理 → 添加打印机。 - 在
本地打印机区域选择已预装的 DYMO 打印机,继续。 - 为新打印机命名(便于辨认),
品牌选DYMO,型号选对应型号,完成添加。 - 在列表中选中新打印机,
维护 → 打印测试页,确认立即出纸。
Zebra 打印机不打印
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 注意 :::
键盘布局同上,依据设备与数据库语言选择。 ::::