(7) PyQt 设计并实现【工厂扫码装箱系统】- Python代码实现BarTender自动化打印条码标签

本文档介绍了如何利用Python调用BarTender DLL和命令行来实现在扫码流水线上的自动化标签打印功能。内容包括系统需求、系统架构、Python代码示例以及BarTender命令行参数的详细解释,旨在帮助大型品牌企业实现产品包装规范化管理和追溯。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一. 需求

1 扫码流水线

2 自动化标签打印

二. 系统架构图

三. 代码实现

1 Python调用 BarTender 的Dll

2 执行 BarTender 命令行 

(1) 常用示例

(2) 打印命令 

(3)python 调用命令代码

(4)更多资料参考官网

四. 更多案例讲解


一. 需求

目前一些大型品牌企业为了对其产品质量的方便管控制,一般对其外协供应商的供货产品包装管理也要求规范化,像三星、苹果、联想、华为、戴尔等品牌电子产品对其外协供应商都有严格的规范要求。

企业通过一维条码、二维码或RFID标签等方式对单个产品赋予“身份证”,实现一件一码,对产品的生产、扫描装箱、仓储、分销、物流运输、市场巡检及消费都等每个环节进行数据采集跟踪,实现产品生产环节、销售环节、流通环节、服务环节的逐一往下全面监控管理。

所以这就需要在工厂扫码装箱流水线上,实现扫码后自动化标签打印功能。

1 扫码流水线

2 自动化标签打印

二. 系统架构图

三. 代码实现

1 Python调用 BarTender 的Dll

# -*- coding: utf-8 -*-

# 先安装 BarTender 程序
# 然后找到 Interop.BarTender.dll 文件 拷贝到 当前目录下并改名为 BarTender.dll
# 再安装库 pip install pythonnet



import clr
import os
import sys

currentFolder = os.getcwd()     # 获取当前路径,
# 加载当前路径, 否则clr.AddReference("BarTender")会报找不到文件
sys.path.append(currentFolder)

ret = clr.AddReference("BarTender")   # 这里不需要 .dll 后缀
name = ret.GetReferencedAssemblies()
from Bartender import Formats, Application, BtCacheFlushIntervalSeagull, BtSaveOptions

# 创建 BarTender 的 Application
btApp = Application()

# 打开标签模板文件
btwfilename = currentFolder + "\\test.btw"
btformat = btApp.Formats.Open(btwfilename, False, "")

# 设置打印机
btformat.PrintSetup.Printer = "Microsoft Print to PDF"

# 给标签中的变量填值
btformat.SetNamedSubStringValue("xh", "诺贝丽仿石涂料")
btformat.SetNamedSubStringValue("zl", "20 Kg")
btformat.SetNamedSubStringValue("ph", "20191001123")

# 设置打印张数
btformat.PrintSetup.IdenticalCopiesOfLabel = 1

# 打印
btformat.PrintOut()
btformat.PrintSetup.Cache.FlushInterval = BtCacheFlushInterval.btCacheFlushPerSession

# 关闭
btformat.Close(BtSaveOptions.btDoNotSaveChanges)
btApp.Quit()

2 执行 BarTender 命令行 

(1) 常用示例

命令行操作
bartend.exe /F=c:\Formats\ship.btw /P加载和打印 ship.btw。
bartend.exe /F="lib://test1.btw" /P加载并打印 test1.btw,该文件存储在 Librarian 的存储库中。
bartend.exe /F=F1.btw /F=F2.btw /F=F3.btw加载三个指定的文档。
bartend.exe /P打印所有打开的 BarTender 文档。
bartend.exe /IDOC="xyz.idoc" /P使用 IDoc xyz.idoc 打印所有 BarTender 文档。
bartend.exe /F=test.btw /P /LicenseServerAddress=MyServer /LicenseServerPort=5175打开 BarTender 文档 test.btw。 连接到 MyServer 端口 5175 上的 Seagull License Server 并打印 test.btw。
bartend.exe /AF=F2.btwMakes F2.btw the active document.
bartend.exe /AF /P /C=2 /D="xyz.dat"Prints two copies of the active document using text file xyz.dat.
bartend.exe /MediaHandling="Action=Cut;Occurrence=AtEndOfPrintJob"将打印机介质处理设置设定为打印作业结束时剪切标签卷。

(2) 打印命令 

/P

执行打印作业,保持打印对话框的使用数据库复选框的状态不作改变。 如果选中此设置,将按原样使用“数据库设置”对话框中的各种设置,除非这些设置受到其他命令行参数的控制。 适用于所有打开的 BarTender 文档(除非已经使用 /AF= 参数)。

/PD

与 /P 相同,但是还显示“打印”对话框,因此允许用户根据需要更改对话框设置,然后手动启动打印作业。

/QP

打印对话框的使用数据库复选框的状态强制为已禁用(即“未选中”),这样 BarTender 将不会从任何外部数据源读入任何数据。

/QPD

与 /QP 相同,但是还显示“打印”对话框,因此允许用户根据需要更改对话框设置,然后手动启动打印作业。

/FP

将“打印”对话框的使用数据库”复选框的状态强制为已启用(或“选中”),以便从任何正确指定的数据文件读取数据。

/FPD

与 /FP 相同,但是还显示“打印”对话框,因此允许用户根据需要更改对话框设置,然后手动启动打印作业。 (常用于“数据输入表单”和“查询提示”。)

/C=n

覆盖每个模板打印份数的当前指定值。

/S=n

覆盖要打印的序列项数的当前指定值。

/PRN=<printer name>

指定要使用的打印机。此参数可在任何时候使用,并且适用于所有打开的 BarTender 文档。

/PRNFILE=<printer file name>

指定 BarTender 应打印到文件并指定应使用的文件名。该参数只适用于活动 BarTender 文档。

/PRNMDL="<model>[, <port>]"

设置打印机型号,(可选)并指定端口。 当不能确定需要的打印机是否在线时,此参数通常用作 /PRN 的备选参数。 它适用于所有打开的 BarTender 文档,除非已经用 /AF 参数将其中一个文档指定为活动文档。 如果与 /PRN 一同使用,则优先后者。如果与 /PRN 一同使用,则优先后者。 如果找不到 /PRN 指定的打印机,则 BarTender 将搜索具有指定打印机型号的打印机。如果使用 /PRNMDL=&lt;model&gt; 并且找到多台型号相符的打印机,则 BarTender 将选择端口最靠近所缺打印机的打印机。指定 /PRNMDL=<model>, <port> 将使 BarTender 使用指定端口上的型号的打印机。

/PrintJobName=<printer job name>

设置后台处理程序中打印作业的可见名称。

/Tray=<tray name>

在有多个打印机纸盒可用时指定用于打印的纸盒。 "tray name" 字符串与驱动程序提供的纸盒名称列表进行比较。 匹配时忽略空格并且区分大小写。 如果指定的纸盒不可用,则此设置恢复为默认打印机纸盒。

/MediaHandling= "option=value;[options=values]"

设置介质处理命令、触发器和操作。 有关更多信息,请参见页面设置对话框帮助的“介质处理选项卡”部分。

(3)python 调用命令代码

import os

cmd = 'bartend.exe /F="条码打印.btw" /P'
os.system(cmd)

(4)更多资料参考官网

命令行参数参考http://help.seagullscientific.com/2016/zhs/Content/file_command_params_command_summary.htm

四. 更多案例讲解

PyQt 开发模块案例汇总_YYDataV的博客-CSDN博客(1) 安装配置 pyqt5(windows),使用designer设计工具_YYDataV的博客-CSDN博客1、打开python官网,打开download下载地址Download Python | Python.org2、找到 windows python 3.8.10 版本64位 安装包 链接https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe3、自定义安装到指定目录为了方便查找,我都是直接安装在C盘根目录。4、安装 PyQthttps://yydatav.blog.csdn.net/article/details/123096879

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HelloCode5110

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值