连接打印机

安装打印机只需几个简单的步骤即可完成。打印机可用于打印收据、标签、订单,甚至不同 Odoo 应用程序中的报告。此外,在生产过程中,还可将打印机操作指定为*触发器上的操作*,或添加到质量控制点或质量检查中。

警告

将打印机直接连接到 Odoo 数据库的**唯一**方法是使用物联网系统。如果没有物联网系统,仍可进行打印,但要通过打印机本身进行管理,这不是推荐的做法。

连接

物联网系统支持通过 USB、网络连接或蓝牙连接的打印机。系统能自动侦测 支持的打印机 ,并显示在物联网应用程序的 设备 列表中。

打印机会显示在物联网应用程序设备列表中。

注解

打印机可能需要两分钟才能出现在物联网应用程序 设备 列表中。

清除设备打印机缓存

连接打印机打印报告后,设置会保存在浏览器的缓存中。这意味着用户可以根据访问 Odoo 的设备,在缓存中为不同的报告保存不同的设备。这也意味着不同的用户可以根据自己的偏好,让不同的打印机自动打印报告。

要解除报告与打印机的连接,请访问 物联网 ‣ 配置 ‣ 重置已连接的打印机。这将生成与当前设备上的打印机连接的报告列表。点击每个报告旁边的 取消连接 按钮以取消。

重要

此步骤 防止报告从当前浏览器自动打印到列出的打印机。报告仍在设备上的 已链接 页面的 打印机报告 标签下。

物联网应用程序中当前与打印机链接的报告列表。

潜在问题

未检测到打印机

如果打印机未出现在设备列表中,请访问 物联网盒子Windows 虚拟物联网 主页,点击 设备 部分中的 显示,确保打印机已列出。

如果打印机未出现在物联网系统主页上,请点击 打印机服务器,然后点击 管理,再单击 添加打印机。如果打印机不在列表中,则可能连接不正确。

我打印机输出随机文本

对于大多数打印机,应自动检测并选择正确的驱动程序。然而,在某些情况下,自动检测机制可能不够,如果没有找到驱动程序,打印机可能会打印随机字符。

解决办法是手动选择相应的驱动程序。在物联网系统主页上,点击 打印机服务器,然后点击 打印机,在列表中选择打印机。在 管理 下拉菜单中,点击 修改打印机。按照步骤选择打印机的*品牌*和*型号*。

编辑连接到 IoT 系统的打印机。

注解

Epson 收据打印机和 Zebra 标签打印机不需要驱动程序即可工作。确保没有为这些打印机选择驱动程序。

已检测到打印机,但无法正确识别

如果 Odoo 和物联网系统不能正确识别打印机,请转至 物联网 ‣ 设备,点击设备卡访问其表单,并将 亚型 字段设置为相应选项:收据打印机标签打印机办公室打印机

爱普生配置专案

大多数爱普生打印机都支持在 Odoo 销售点中使用 GS v 0 命令打印收据。但是,以下爱普生打印机型号不支持该命令:

  • TM-U220

  • TM-U230

  • TM-P60

  • TMP-P60II

要绕过这个问题,可以将打印机配置为使用 ESC * 指令。

首先,查看爱普生网站,了解 GS v 0ESC * 指令的兼容性。

如果打印机与 GS v 0 不兼容,但支持 ESC * ,请按以下步骤配置 IoT 系统以使用 ESC * 命令:

  1. 访问 物联网盒子的 主页或 Windows 虚拟物联网的 主页。

  2. 点击 打印机服务器 按钮,然后点击 CUPS 页面上的 管理

  3. 点击 打印机 部分中的 添加打印机,选择打印机,然后点击 继续

    小技巧

    如果打印机名称仍然不确定,请采取以下步骤:

    1. 注意 CUPS 页面上列出的打印机。

    2. 关闭打印机并刷新页面。

    3. 比较与第一份清单的差异,看看哪台打印机消失了。

    4. 重新打开打印机,再次刷新页面。

    5. 再次仔细检查列表,看看打印机是否再次出现。

    6. 在列出的打印机中消失和再次出现的打印机是有关打印机的名称。它可以是 本地打印机 下的 未知

  4. 添加打印机 页面上,使用以下约定指定打印机的 名称<printer_name>__IMC_<param_1>__<param_2>_..._<param_n>__,其中:

    • printer_name 是打印机名称。它可以包含除 _/#``(空格符)以外的任何字符。

    • IMC:代表*图像模式列*(`ESC *`的简化名称)。

    • param_1:代表特定参数:

      • 比例<X>:图片的比例(宽高比相同)。X 应该是一个整数,描述应使用的比例百分比。例如,100 为原始尺寸,50 为原始尺寸的一半,200 为原始尺寸的两倍。

      • LDV低密度垂直*(如果未指定,将设置为*高密度垂直)。

      • LDH低密度水平*(如果未指定,将设置为*高密度水平)。

      注解

      • *密度*参数可能需要以特定方式配置,具体取决于打印机型号。

      • 请参阅 Epson’s ESC * 文档 以确定打印机是否需要设置这些参数。

    Example

    以下是正确和不正确名称格式的示例:

    正确的名称格式:

    • EPSONTMm30II__IMC__

    • EPSON_TM_U220__IMC_LDV_LDH_SCALE80__

    名称格式不正确(不会妨碍打印,但结果可能不是预期的打印内容):

    • EPSON TMm 30II:名称不能包含空格。

    • EPSONTMm30II:名称本身是正确的,但它不会使用 ESC*

    • EPSONTMm30II__IMC:该名称缺少末尾 __

    • EPSONTMm30II__IMC_XDV__:参数 XDV 与任何现有参数不匹配。

    • EPSONTMm30II__IMC_SCALE___:参数 SCALE 缺少比例值。

  5. 使用适当的命名约定定义打印机名称后,点击 继续

  6. Make 值设置为 Raw,将 Model 值设置为 Raw Queue (en)

  7. 点击 添加打印机。如果一切操作正确,页面应重定向到 横幅 页面。

  8. 等待几分钟,让物联网系统检测到打印机并同步到 Odoo 服务器。

  9. 访问 POS 设置 并选择您的 POS,或点击 POS 卡上的垂直省略号按钮()并点击 编辑。向下滚动到 已连接设备 部分,启用 物联网盒子 并在 收据打印机 字段中选择打印机。点击 保存

注解

如果打印机设置错误(如继续打印随机文本,或打印的收据过大或过小),则无法通过 CUPS 中的打印机名称进行修改。相反,请按照上述步骤,用修改后的参数从头配置一台新打印机。

以下是使用 ESC * 命令对 TM-U220B 打印机型号进行故障排除的示例。下图中的收据是由于格式正确(理论上)而正确打印的收据示例:

演示数据库中格式正确的收据图片。

由于 TM-U220B 打印机型号不支持 GS v 0,因此在未正确格式化的情况下立即打印此收据将不起作用。相反,打印出的将是随机字符:

打印纸上的字符看似随机。

要正确配置 Epson TM-U220B 打印机型号的格式化,请按照以下步骤操作:

  1. 在检查了爱普生网站与 GS v 0ESC * 命令的兼容性之后,TM-U220B 打印机确实与 GS v 0 不兼容,但支持 ESC *

    爱普生网站上的爱普生兼容性评估。
  2. 添加打印机时,CUPS 会显示可用打印机的列表:

    管理菜单,添加打印机选项。

    在这种情况下,打印机通过 USB 连接,因此它不属于 已发现的网络打印机。相反,它可能属于 本地打印机 下的 未知 选项。通过从 IoT 系统拔下打印机的 USB 线缆并刷新页面,未知 打印机会消失。通过重新插入,打印机会重新出现。

  3. 对于命名约定,由于打印机必须使用 ESC * 指令进行打印,因此必须添加 __IMC

    制造商网站上的爱普生 TM-U220 规格。

    对于这款特定型号(TM-U220)`m` 应等于 0 或 1。参考 Epson的ESC *网站 <https://download4.epson.biz/sec_pubs/pos/reference_en/escpos/esc_asterisk.html>`_上的 :guilabel:`描述 表格,m 值可以是0、1、32或33。因此,在这种情况下,m 值不能是 32 或 33(否则,将会打印随机字符)。

    表格包括数值 32 和 33;如果 垂直数据位数 设置为 24,即具有*高垂直密度*时,它们都会出现。在配置 Epson TM-U220 的情况下,需要强制使用 低垂直密度,因为这种打印机型号不支持此命令 ESC * 的*高垂直密度*。

    要添加*低垂直密度*,请在命名规则中添加`LDV`参数。

    在命名规则中添加*低垂直密度*(`LDV`参数)。
  4. 点击 继续,以继续操作。接下来,将 Make 值设置为 Raw 并将 Model 值设置为 Raw Queue (en)

    爱普生 TM-U220 的规格请参见制造商网站。

    但是,当尝试使用命名规范:EpsonTMU220B__IMC_LDV__ 打印时,虽然能打印出收据,但收据太大,超出页边距。要解决这个问题,请添加一台新打印机(和命名规范),并设置 SCALE<X> 参数,以适应我们的收据尺寸。

    示例如下:

    打印机命名规则

    EpsonTMU220B__IMC_LDV__

    EpsonTMU220B__IMC_LDV_SCALE75__

    EpsonTMU220B__IMC_LDV_LDH__

    EpsonTMU220B__IMC_LDV_LDH_SCALE35__

    收据示例格式。 使用命名约定的收据格式:EpsonTMU220B__IMC_LDV__。 使用命名约定的收据格式: EpsonTMU220B__IMC_LDV_SCALE75__。 使用命名约定的收据格式: EpsonTMU220B__IMC_LDV_LDH__。 使用命名约定的收据格式:EpsonTMU220B__IMC_LDV_LDH_SCALE35__。

DYMO LabelWriter 打印问题

DYMO LabelWriter 在与 IoT 系统一起打印时存在一个已知问题。OpenPrinting CUPS 服务器使用 本地 RAW 打印机 驱动程序安装打印机。要打印任何内容,需要设置正确的 Make and Model,以便在使用设备时引用正确的驱动程序。

此外,还需要添加新打印机,以减少更新驱动程序后出现的打印延迟。

重要

DYMO LabelWriter 450 DUO打印机是 Odoo 和 IoT 系统推荐使用的 DYMO 打印机。这款设备结合了两台打印机:标签打印机和胶带打印机。在配置以下流程时,必须选择正确的型号(DYMO LabelWriter 450 DUO Label (en) 或 DYMO LabelWriter 450 DUO Tape (en))。为保持一致性,以下流程概述了DYMO LabelWriter 450 DUO Label (en)型号的配置步骤。请根据需要调整型号选择。

DYMO LabelWriter 无法打印

如果DYMO LabelWriter无法打印,请安装新驱动程序:

  1. 访问 IoT 系统的主页并点击 打印机服务器 打开 OpenPrinting CUPS 控制台。

  2. 点击顶部菜单中的 打印机,然后点击列表中的打印机。

  3. 在第一个下拉菜单中选择 维护

  4. 在第二个下拉菜单中选择 修改打印机

    修改 DYMO LabelWriter 的制造商和型号。突出显示维护和修改下拉菜单。
  5. 选择要进行修改的特定网络连接/打印机,然后点击 继续

  6. 在下一页,点击 继续,然后从 品牌 下拉列表中选择 DYMO

  7. 点击 继续 并将 型号 设置为 :guilabel:`DYMO LabelWriter 450 DUO Label (en)`(或正在使用的任何 DYMO 打印机型号)。

  8. 点击 修改打印机 设置新驱动程序;会出现一个确认页面。

  9. 点击顶部菜单中的 打印机;OpenPrinting CUPS 服务器上安装的所有打印机都会显示,包括新更新的 :guilabel:`DYMO LabelWriter 450 DUO Label`(或正在使用的任何 DYMO 打印机型号)。

  10. 点击新更新的打印机,然后点击 维护 下拉菜单并选择 打印测试页 以打印测试标签。如果驱动程序更新成功,测试标签将在几秒钟后打印出来。

要减少延迟,请使用以下步骤添加新打印机。

DYMO LabelWriter 打印延迟

小技巧

如果 DYMO LabelWriter 450 DUO 打印机完全不打印,或者未被识别(即它具有 RAW 驱动程序类型),则 更新设备上的驱动程序

要解决修改驱动程序后的延迟问题,请重新安装打印机:

  1. 访问 IoT 系统的主页并点击 打印机服务器 打开 OpenPrinting CUPS 控制台。

  2. 点击顶部菜单中的 管理,然后点击 添加打印机

  3. 在下一页的 本地打印机 部分,选择预先安装的 DYMO LabelWriter 450 DUO Label (DYMO LabelWriter 450 DUO Label) `(或正在使用的任何 DYMO 打印机型号)。点击 :guilabel:`继续

    在 OpenPrinting CUPS 上添加一个打印机屏幕,突出显示 DYMO LabelWriter 450 DUO 标签。
  4. 在下一个屏幕上,将 名称 更新为易于识别的名称,因为原始打印机将保留在列表中。然后,点击 继续

    在 '添加打印机' 流程中重命名打印机页面,名称字段突出显示。
  5. 型号 字段设置为 DYMO LabelWriter 450 DUO Label (en)`(或正在使用的任何 DYMO 打印机型号),然后点击 :guilabel:`添加打印机 完成安装。

    在 OpenPrinting CUPS 控制台上的“选择型号”屏幕上,突出显示型号和添加打印机。
  6. 点击顶部菜单中的 打印机 并从列表中点击新安装的打印机 :guilabel:`DYMO LabelWriter 450 DUO Label`(或正在使用的任何 DYMO 打印机型号)。

    突出显示新安装打印机的打印机页面。
  7. 点击 维护 下拉列表并选择 打印测试页 以打印测试标签。测试标签应立即打印出来,或者一两秒钟后打印出来。

Zebra 打印机不打印任何内容

Zebra 打印机对打印的 Zebra 编程语言(ZPL)代码格式非常敏感。如果打印机打印不出任何内容或打印出空白标签,请尝试更改发送到打印机的报告格式。要执行此操作,请激活 开发者模式,进入 设置 ‣ 技术 ‣ 用户界面 ‣ 视图,然后搜索相应的模板。

条形码扫描仪问题

条形码扫描仪读取的字符与条形码不匹配

默认情况下,大多数条形码扫描器都配置为美国 QWERTY 格式。如果条形码扫描器使用不同的布局,请前往 IoT ‣ 设备 并点击条形码设备卡片。然后,在 键盘布局 字段中选择正确的语言。

注解

键盘布局`基于语言,可用选项根据设备和数据库的语言而变化。例如::guilabel:`英语(英国)英语(美国) 等。

扫描条形码时不会发生任何情况

确保在 :doc:`销售点设置</applications/sales/point_of_sale/configuration/pos_iot>`(在适用情况下)中选择了正确的设备,并且条形码扫描器配置为在每个条形码结束时发送 ENTER 字符(键码28)。

条形码扫描仪被检测为键盘

重要

有些条形码扫描器被识别为 USB 键盘而非条形码扫描器,因此不被 IoT 系统识别。

要手动更改设备类型,请前往 IoT ‣ 设备 并点击条形码设备卡片。然后,启用 是扫描仪

条形码扫描器逐个处理条形码字符

通过物联网系统,从与条形码扫描仪配对的移动设备或平板电脑访问移动版 Odoo 时,扫描仪可能会将条形码中的每个字符解释为一次单独扫描。要解决这个问题,请转到 物联网 ‣ 设备 并点击条形码设备卡。然后,在 键盘布局 字段中选择正确的语言。

注解

键盘布局`基于语言,可用选项根据设备和数据库的语言而变化。例如::guilabel:`英语(英国)英语(美国) 等。