Odoo 中 Zebra 标签配置指南
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>
前往 ZPL 标签视图 {#inventory/shipping_receiving/zpl-view}
要在 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>。

在打开的视图表单中,切换到 Architecture 选项卡即可查看 ZPL (Zebra Programming Language) 代码。
:::: important ::: title 重要 :::
为防止自定义在系统更新时被覆盖,请点击视图页面的 fa-bug (bug) 图标,选择 View Metadata,在弹出的 View Metadata 窗口中将 No Update 字段设为 true (change),然后点击 Ok 保存。
::::
{.align-center}
调整边距 {#inventory/shipping_receiving/margin}
当行字符超过55个时,标准的 ZPL (Zebra Programming Language) 标签会出现文字被截断的情况。若要在单行中完整显示较长的产品名称或批次号,需要调整边距。
操作步骤:
- 前往 ZPL 代码视图
<inventory/shipping_receiving/zpl-view>的 Architecture 选项卡。 - 在产品标签的 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::: :::::
缩放条码 {#inventory/shipping_receiving/resize}
要调整条码的大小比例,同样在 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::: :::::
旋转元素 {#inventory/shipping_receiving/rotate}
要在 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::: :::::