Zebra 标签配置

在 Odoo 中,使用 Zebra 编程语言 (ZPL) 文件格式打印的标签默认适配 4×6 英寸的标签。若需将文本重新排版以适配不同尺寸的 ZPL (Zebra Programming Language) 标签,请 前往 ZPL 标签视图 <inventory/shipping_receiving/zpl-view> 并修改相应的 ZPL (Zebra Programming Language) 代码。

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

在 Odoo 中自定义代码时,请注意升级数据库到新版本可能会导致自定义的 ZPL (Zebra Programming Language) 代码失效。
客户需自行维护其自定义代码。 ::::

以下章节提供常见的 Zebra 标签自定义需求的说明和示例代码。

  • 调整边距 <inventory/shipping_receiving/margin>
  • 放大/缩小条码 <inventory/shipping_receiving/resize>
  • 旋转元素 <inventory/shipping_receiving/rotate>

要在 Odoo 中开始自定义 Zebra 标签,首先 打开开发者模式 <developer-mode>,在 Odoo 主面板的搜索框中输入 [Reports]。在弹出的搜索结果窗口中,选择 Settings / Technical / Reporting / Reports 打开 Reports 页面。

:::: note ::: title 备注 :::

手动进入 Reports 页面的方法是:Settings 应用 → Technical → Reporting: Reports。 ::::

{.align-center}

Reports 页面上,使用 Search… 栏输入 [ZPL] 并回车。此时 Odoo 会列出所有可用的 Zebra 标签,选择需要修改的标签后会在新页面打开。

:::: note ::: title 备注 :::

Odoo 中可打印的 ZPL 标签包括:

  • 批次/序列号 <inventory/shipping_receiving/lot-sn-labels>
  • 作业类型
  • 包裹条码
  • 产品标签 <inventory/shipping_receiving/product-labels>
  • 产品包装
  • 成品标签(需安装 Odoo Manufacturing 应用) ::::

接下来,点击 fa-code Qweb Views 智能按钮,选择想要编辑的标签 view <../../../../../developer/reference/user_interface/view_records>

在批次和序列号(ZPL)报表上显示 Qweb 智能按钮。
批次和序列号(ZPL) 报表,突出显示 Qweb 智能按钮。

在打开的视图表单中,切换到 Architecture 选项卡即可查看 ZPL (Zebra Programming Language) 代码。

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

为防止自定义在系统更新时被覆盖,请点击视图页面的 fa-bug (bug) 图标,选择 View Metadata,在弹出的 View Metadata 窗口中将 No Update 字段设为 true (change),然后点击 Ok 保存。 ::::

{.align-center}

当行字符超过55个时,标准的 ZPL (Zebra Programming Language) 标签会出现文字被截断的情况。若要在单行中完整显示较长的产品名称或批次号,需要调整边距。

操作步骤:

  1. 前往 ZPL 代码视图 <inventory/shipping_receiving/zpl-view>Architecture 选项卡。
  2. 在产品标签的 ZPL (Zebra Programming Language) 代码中,查找 [\^FT] 指令,它决定文本或图形元素在标签上的起始位置。紧随 [\^FT] 的两个数字分别表示 x 坐标y 坐标(以点为单位,类似打印机像素),相对于左边距和上边距。

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

在自定义批次/序列号标签时,请查找 [\^FO] 指令,而不是 [\^FT]。 ::::

::: example 以下示例展示了默认的 ZPL 格式导致产品名称被截断的情况。通过将 Fixed 选项卡中的起始 x 坐标从 [\^FT100,80] 改为 [\^FT0,80],即可完整显示名称。 ::::

::::: tabs ::: tab 默认

{.align-center}

代码

^XA^CI28
^FT100,80^A0N,40,30^FD[E-COM11] Cabinet with Doors (wood: Cherry, handles: brass)^FS
...
^XZ

:::

::: tab 已修改

{.align-center}

代码

^XA^CI28
^FT0,80^A0N,40,30^FD[E-COM11] Cabinet with Doors (wood: Cherry, handles: brass)^FS
...
^XZ

::: :::::

要调整条码的大小比例,同样在 Architecture 选项卡打开 ZPL 代码。查找第三行左右的 [\^FO] 指令,它标记了条码的起始位置。

[\^BY] 指令用于配置条码尺寸,接受三个参数:条宽、宽条相对于窄条的比例以及条码高度。默认情况下,Odoo 使用 [\^BY3],即条宽为 3 点,适合大多数扫描器读取。

::: example 若要将条码缩小,可将 [\^BY3] 改为 [\^BY2]。 :::

::::: tabs ::: tab 默认

{.align-center}

代码

^XA^CI28
...
^FO100,160^BY3
...
^XZ

:::

::: tab 已修改

{.align-center}

代码

^XA^CI28
...
^FO100,160^BY2
...
^XZ

::: :::::

要在 ZPL (Zebra Programming Language) 中旋转元素,同样进入 Architecture 选项卡查看 ZPL 代码

[\^BC] 指令的第一个参数决定元素的旋转方式,可选值为:

  • N:正常显示
  • R:顺时针旋转 90°
  • I:旋转 180°
  • B:旋转 270°

::: example 将条码的旋转指令从 [\^BCN] 改为 [\^BCB],即可实现 270° 旋转。 :::

::::: tabs ::: tab 默认

{.align-center}

代码

^XA^CI28
...
^BCN,100,Y,N,N
...
^XZ

:::

::: tab 已修改

{.align-center}

代码

^XA^CI28
...
^BCB,100,Y,N,N
...
^XZ

::: :::::